AWS関連のことを調べてみた

AWS関連のことを調べてみた

KintoneとAWSのS3の連携

# 要件
Kintoneで作業しているユーザー全てS3に保存しているオブジェクトを参照可能にしたい

# 方法
## 1. Access key IDとSecret access keyの作成
ここでは詳細述べませんが、AWS公式サイトで参考お願いします。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_access-keys.html#access-keys_required-permissions

## 2. IAMバケットポリシーを作成する
IAMバケットポリシーを以下のように作成します。
“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: “s3:*”,
“Resource”: [
“arn:aws:s3:::バケット名/*”
],
“Condition”: {
“IpAddress”: {
“aws:Source

元記事を表示

CDNサービスをCloudFrontに移行した

## はじめに

最近、弊社で利用していたCDNサービスをAWSのCloudFrontに移行しました。
ここでは主に移行作業として何をしたかを順に追って触れつつ、反省点等について述べます。
CloudFrontに限らず、これからCDNサービスを移行または導入をすることが決定し、その作業を担当することになった方の参考に少しでもなれば幸いです。

## 何故移行したのか

弊社が運営しているサービスの特性上大規模なトラフィックを扱う必要があり、コストの問題から他社のベンダ製品を利用していましたが、
長年の利用でエッジロジックが複雑化しメンテナンスコストが上がっていたことと
ネット上に事例もあまりなく、公式のリファレンスを見ながらの作業で構築難易度も高い状況でした。
ユーザー様からお問い合わせをいただいた際に原因がAWS側なのかCDN側なのかの切り分けも難しく、
またCDNサーバの監視や障害対応がベンダ任せとなっており、ビジネスインパクトにつながる懸念を抱えていました。
この度社内でコスト的な調整ができたこともあり、設定の棚卸しと上記課題の解決に向けてCloudFrontへの

元記事を表示

New RelicでElastiCache for Redisが帯域上限まで使用されていることに気づいた話

# はじめに
この記事はNew Relic Advent Calendar 2023 シリーズ1の13日目です。

New Relicの分散トレーシングを確認してElastiCache for Redisが帯域限界まで使用されていることに気づいた話をします。

# New Relicでの確認
New Relicの分散トレーシングによってあるトランザクション内で行われる処理の内訳がタイムラインで分析できます。

これはあるトランザクションのスパンです。
![スクリーンショット 2023-12-12 16.50.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269233/4667de1b-5ceb-c121-fd78-171020571c53.png)

弊社の朝日新聞デジタルの記事ページ(例: https://www.asahi.com/articles/ASRDF3R1GRDFUTFK003.html ) についてのトランザクションです。

New Relicでトランザクションを眺めていると、

元記事を表示

【AWS】GuardDuty通知をUser Notificationsで実装したかったけれど

# はじめに
2023年5月にUser Notificationsの一般提供が開始されました。

https://aws.amazon.com/jp/about-aws/whats-new/2023/05/aws-user-notifications-available/

今回はGuardDutyのイベント通知をこのUser Notificationsで実装したかったけれどある理由から断念した話について書きたいと思います。

# GuardDutyのイベント通知
GuardDutyのイベントを下記の構成でSlackに通知しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333262/36a81f03-ad74-0d20-6327-342fd5ed58b9.png)

構成のポイントは下記のとおりです。

:::note info
– GuardDutyメンバーアカウントの検出結果が集約されるGuardDuty委任管理アカウントに通知を実装
– EventBridge+SN

元記事を表示

【まったくの別物】 S3 Express One Zone が出たついでに S3 Transfer Acceleration を思い出そう。

こちらは [AWS for Games Advent Calendar 2023](https://qiita.com/advent-calendar/2023/aws-for-games) の 13日目の記事です。

re:Invent 2023 のキーノートセッションで発表された Amazon S3 Express One Zone は AWS ユーザーの注目を集めたアップデートの1つだったのではないでしょうか?

S3 Express One Zone は Standard ストレージクラスに比較して、最大10倍のパフォーマンスを提供する新しいストレージクラスとされています。

”S3″, “Express” を見聞きしたとき、”S3 Transfer Acceleration” を思い出したのですが、調べてみると S3 Transfer Acceleration が登場したのは 2016年4月のことでした。もしかして、あまり知られていないかもと思ったので、それぞれ簡単におさらいできればと思います!

## S3 Express One Zone

### ”S3 Express

元記事を表示

特定のEC2インスタンスが含まれているターゲットグループを確認する

# 目的
特定のEC2インスタンスが含まれているALBのターゲットグループ一覧を確認したいが、ターゲットグループの数が多く目視で確認するのが大変。
AWS CLIを使ってEC2インスタンスIDからターゲットグループ名の一覧を取得するスクリプトを作成したので備忘録として残しておく。

# 実行環境
AWS CLI
Windows PowerShell

# スクリプト
“`powershell
# 変数をセット
$REGION = “REGION”
$INSTANCE_ID = “INSTANCE_ID”
$FILEPATH = “FILE PATH”

# 全てのターゲットグループを取得
$targetGroups = aws elbv2 describe-target-groups –region $REGION | ConvertFrom-Json

$targetGroupNames = @()

foreach($tg in $targetGroups.TargetGroups){
# ターゲットグループのヘルスチェック情報から紐づいているEC2インスタンスを取得

元記事を表示

How to Setup Secure FTP on AWS EC2

![images-3.jpeg](https://qiita-image-store.s3.amazonaws.com/0/117479/756e18f7-f723-983d-a3a6-aa4c5033df96.jpeg)

## Overview ##

FTP (File Transfer Protocol) is used to communicate and transfer files between computers on a TCP/IP (Transmission Control Protocol/Internet Protocol) network, aka the internet. Users, who have been granted access, can receive and transfer files in the File Transfer Protocol server (also known as FTP host/site).

FTP can be used with a variety of file types, including

元記事を表示

資金力のないプロジェクトがクラウド転送量破産を避ける3つの案

# クラウドはデータ転送量が高い!

[STUDIOがデータ転送料金で苦慮](https://studio.design/ja/whats-new/20231212-info)されています。サイトをみると画像ドメインが`storage.googleapis.com`なのでおそらくGCPで展開されていると想像します。

大手クラウドはスケールしやすい反面、データ転送量に応じた課金があるので、本当にユーザーが急増すると無慈悲に資金を圧迫します。

あと無料サービスだと特に、**想像を絶する使い方をする人**がときどき現れます… データ転送料リスクには常に備えるべきです。

この **「帯域幅が広く、AWSやGCPより安い方法は何か」** について私が普段、検討する代替案を3つ紹介します。他にもいろいろ知見があると思うのでコメント等で教えてください。

## AWSとGCPのトラフィック料金

配信先の地域によって違い、また利用料が増えると単価も下がります。あとリクエスト料金もあります。ここでは単純化のため、日本を対象に1GiBあたり次の単価とします($1=145円で計算)。

– AWS

元記事を表示

AWS_CloudFormation S3とCloudFrontを構築してみる

# はじめに
1年ほど前からAWSに関わる業務に携わっておりました。
そこでCloudFormationを用いてAWS環境を構築してきたため、
今回はS3とCloudFrontで静的webサイトを表示させる環境をCloudFormationで構築する手順について記載します。

また、S3やCloudFront、CloudFormationについての説明は割愛させていただきます。

# 目次
・CloudFormationのスタック構成
・CloudFormation作成
・最後に
・参考

# CloudFormationのスタック構成
CloudFormationで使用するスタックセットは下記に分けます
・S3バケット
・CloudFront(OAC設定含む)
・S3バケットポリシー

S3バケットとバケットポリシーを分けている理由としては、
バケットポリシーにCloudFrontの情報(ディストリビューション)が必要なためです。
そのため、S3バケット⇒CloudFront⇒バケットポリシーの順に構築していくこととなります。

# CloudFormation作成
### S3バケ

元記事を表示

VMware Cloud on AWS での VPC との接続ガイド: 接続手順からレイテンシー、料金、メリットの比較まで!

# はじめに
:::note info
本投稿は vExperts Advent Calendar 2023 の13日目として作成しました。
:::

https://adventar.org/calendars/8879

この投稿では、2023年12月時点で広く使われている VMware Cloud on AWS と Amazon VPC の接続パターン 3 つを取り上げ、それぞれのメリットの比較を行います。また、それぞれの接続パターンによって ネットワークレイテンシーがどう変わるのか、比較をした情報があまりない為、実環境で計測し、どの程度差が出てくるのか見てみたいと思います!

:::note warn
本稿における計測結果及び掲載内容はあくまで私自身の見解・確認結果であり、必ずしも私の所属団体・企業における立場、戦略、意見を代表するものではありませんのでご了承下さい。
:::

# VMware Cloud on AWS と Amazon VPC の接続パターン

本投稿執筆時点では、VMware Cloud on AWS の Software-Defined Data Ce

元記事を表示

TiTilerでCloud Optimized GeoTIFF(COG)を利用した動的タイルサーバーを構築してみた

![img](https://memo.dayjournal.dev/images/try-107_00.png)
![img](https://memo.dayjournal.dev/images/try-107_01.gif)

:::note info
この記事は、「[MIERUNE Advent Calendar 2023](https://qiita.com/advent-calendar/2023/mierune)」の13日目の記事です。
昨日は[@chizutodesign](https://twitter.com/chizutodesign)さんによる[『地図とか路線図とか @chizutodesign』の出版記念イベントをやった話](https://note.com/mierune/n/n20bd69140ff3)でした。
:::

https://qiita.com/advent-calendar/2023/mierune

#### TiTilerでCloud Optimized GeoTIFF(COG)を利用した動的タイルサーバーを構築してみました!

近年、海

元記事を表示

selenium + AWS lambda開発環境の構築

## はじめに
AWSの開発環境の構築の備忘録です💁
初心者です😅
間違えてる部分多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

環境構築はかなり苦労しました。
なので図にしてみました。
わかりづらい部分もあるかと思います。
ただ、図にするのは時間がかかってしまうのがデメリットですが、理解の落とし込みはかなりしやすいなと感じました。

## 🦁**結論**🦁
## 手順
1. Cloud Shellを開く
2. Pythonのバージョン確認
3. Seleniumのインストール(バージョン3.141.0)
4. CloudShell上で保存用ディレクトリを作成
5. chromedriverをダウンロードして展開
6. headless-chromiumをダウンロードして展開
7. いらなくなったzipファイルの削除
8. headlessディレクトリをzip化
9. S3のバケット作成
10. zipファイルをS3にコピーする
11. Seleniumレイヤーの作成
12. headlessレイヤーの作成
13. 関数の

元記事を表示

Terraformでマイクローサービスのインフラ (AWS)をゼロから構築する

## はじめに
エアークローゼットのエンジニアアインです。
この記事はエアークローゼット Advent Calendar 2023 17日目の記事になります。

https://qiita.com/advent-calendar/2023/air-closet

## Terraformとは?

Terraformは、コードを使用してインフラリソースを作成および管理できるInfrastructure as Code(IaC)ツールです。

Terraformには把握すべきいくつかの基本的な概念があります。

– Terraform state
– Terraform resource
– Terraform variable
– Terraform data source

次に上記の概念をざっくり説明させて頂きます。

### Terraform state

これは、Terraformがメタデータを追跡し、実際のインフラリソースと現在のterraformソースの間の参照を提供するツールとして利用されます。

以下の画像と同じイメージとなります。

![288647503-37120

元記事を表示

Amazon Bedrockを使ってClaudeを業務利用したい!

Anthropic Claude Advent Calendar 2023 の 13日目の記事です。

## 業務でLLMを活用したい
LLMってすごく便利ですよね!
できることなら、業務に使って生産性を爆上げしたいですよね!
LLMのサービスを使いたいけど、社外サービスの業務利用が制限されていたり、利用申請が大変だったりする会社も多いのではないでしょうか?

この記事を読んでいる方の中に、「既にAWSの社内申請は通っていて、AWSは比較的自由に使える」という方はいませんか?その方に朗報です!
AWSで簡単にLLMチャットアプリを構築するアセットをご紹介します!

## bedrock-claude-chat
AWSサービスだけで、LLMチャットが実現できる[bedrock-claude-chat](https://github.com/aws-samples/bedrock-claude-chat)を開発したので、そちらをご紹介します!(日本語マニュアルは[こちら](https://github.com/aws-samples/bedrock-claude-chat/blob/m

元記事を表示

【AWS】Lambda

# Lambdaとは
AWSが提供しているサーバーレスを実現するためのサービス。様々なプログラミング言語をサポートしている。必要な時に必要な分だけアプリケーションを実行できる。

:::note info
**サーバレス**
ソースコードさえあればアプリケーションの実行が可能で,サーバーの準備をする必要がない
:::

## Lambda関数
Lambdaで実行するアプリケーションのソースコードと,ソースコードの開発言語に対応したランタイムの2つを合わせてLambda関数という。

**エイリアス**はLambda関数の別名。エイリアスは最大2つのバージョンを指し示すことが可能。

# ランタイム
アプリケーションの実行に必要なライブラリやパッケージのこと。Lambdaには**カスタムランタイム**という機能があり,デフォルトのランタイムでサポートされていないバージョンのランタイムを作成・実行できる。

## デプロイパッケージ
Lambda関数をビルドして作成したパッケージのこと。

## トリガー
Lambda関数を呼び出すリソースや設定。呼び出し方には以下の2通りがある。
| 呼

元記事を表示

Amazon Redshift Serverless with AI-driven scaling and optimizations (Preview) を使ってみた

[以前の記事](https://qiita.com/s-niim/items/ae477dcd80c8e6cfd1f7)で、Redshift Serverlessを使った時、なかなか思うようにスケールしてくれないと書きました

先日re:Invent2023で”Redshift Serverless with AI-driven scaling and optimizations (Preview)”が発表されました。
そこで、早速使ってみて前回からスケールの挙動が変わったのか確認しました。

# Amazon Redshift Serverless with AI-driven scaling and optimizations について

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-redshift-serverless-ai-driven-scaling-optimizations-preview/

Monday Night Liveでの発表の箇所はこちら
https://www.youtube.co

元記事を表示

GitHub Actions で multi-platform container image を build して ECR に push する

AWS の EKS や ECS では x86_64 も Graviton の arm64 も選択可能です、どちらでも使うかもしれない Container image は multi-platform 対応の image にしておきたいなということで GitHub Actions で build & push を行えるようにしてみました。

“`yaml
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v4

# https://github.com/docker/setup-qemu-action
– name: Setup QEMU
uses: docker/setup-qemu-action@v3

# https://github.com/docker/setup-buildx-action
– name: Setup Docker Buildx
id: buil

元記事を表示

複数のシステムで Amazon Athena を堅牢かつ柔軟に管理する

# はじめに

* 複数の AWS アカウントにまたがる複数のシステムが存在する
* システム間で共通のテーブル構造を Athena で用いたい
* ただ、お互いのシステムがお互いの管理するデータを参照するリスクは排除したい
* 今後もシステムが増えていくことが予定されている

このような要件があるシステム群においての秘匿性および柔軟性の高いアーキテクチャを考えてみました。
当記事ではアーキテクチャの留意点やソースコードを踏まえつつまとめます。

## 前提

複数の AWS アカウントは1つの Organizations に属しているものとします。

# サンプルコード

下記リポジトリをご参照ください。以降は当リポジトリのコードに基づいて解説をしていきます。

https://github.com/blasg5884/aws-athena-robust-control/tree/main

# アーキテクチャ

中央アカウントに Athena で用いるデータバケットを用意します。
各システムアカウントに対しては後述の構成要素の

元記事を表示

GitHub ActionsとAWSの連携におけるOIDC認証の活用

# はじめに
2021年10月に、GitHub ActionsはOpenID Connect(OIDC)のサポートを開始しました。
最近、IAMユーザーのアクセスキーを利用した認証から、OIDCを用いた認証方式へ移行する機会があったので、そのために必要な作業と考慮すべき重要なポイントを本記事でまとめてみました。

GitHub Actions: Secure cloud deployments with OpenID Connect

## OIDCとは何か?
OpenID Connect(OIDC)は、OAuth 2.0をベースにしたユーザー認証のプロトコルです。
ユーザーの身元を確認し、基本的なプロファイル情報を取得するために使用されます。サードパーティのアプリケーションは、OIDCを通じてユーザー認証を行い、JWT(JSON Webトークン)を使用してユーザー情報を安全に交換します。
他の認証手段と比較して、よりセキュアで柔軟な認証が可能です。

詳細は以下をご参照ください。

https://au

元記事を表示

AWS SAMで最速CORS対応

# はじめに
丁寧なインターネット生活を。[にわのわ](https://twitter.com/niwa_nowa)です。

前回、Chrome拡張でPOSTリクエストを送信するものを作りましたが、
fetchで送信するとCORSエラーが発生してしまいました。

API Gatewayの設定を変更してこれを解消していきます。
個人で開発しているものかつ、URLを公開していないのでとにかくCORS対応して動作確認をしたい。
という視点での設定となっています。

# 作ったもの
CORS対応を行ったコミットはこちらです

https://github.com/niwanowa/niwanowa-RSSFeed/commit/79c841b360baeebccc5b0f161561e027f2bac00c

“`template.yaml

Type: AWS::Serverless::Api
Properties:
StageName: Prod
Cors:
AllowOrigin: “‘*'”
AllowHeaders:

元記事を表示

OTHERカテゴリの最新記事