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

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

DynamoDBとKinesis Firehoseで可用性の高い非同期Web APIを作る

AWSで非同期処理のWeb APIを作るとき、パッと思いつくのは「API Gateway → Lambda → SQS → Lambda」という構成です。

ただ、今回ある非同期処理システムを作るときに、「API Gateway → DynamoDB → Kinesis → Lambda」のアーキテクチャを選んでみました!この構成を選んだ理由をまとめていきます。

## アーキテクチャの詳細

![アーキテクチャー図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109543/93e43177-80cd-19d9-5821-100e2679f496.jpeg)

まず、今回採用しているアーキテクチャ「API Gateway → DynamoDB → Kinesis → Lambda」の流れについて、もう少し細かく解説します。

全体構成から見ていくと、データは以下のように流れていきます

1. API Gatewayが外部リクエストを受け取り、DynamoDBにデータを書き込む
2. Kinesis

元記事を表示

【SAA】Amazon Auroraについて

学習したことをアウトプットするために投稿する。
同じAWS SAA取得を志す方の参考になってくれたら嬉しい。

# 概要
Amazon Auroraは、Amazon RDSの一種であり、フルマネージド型のデータベースサービスである。既存のRDBMSからパフォーマンス向上を目的として移行する際、PostgreSQLおよびMySQLに対応しているため、AWSへの移行が容易である。ユーザーはサービスの要件に合わせてリージョンを跨ぐ大規模な高可用な設計や高スループット低レイテンシーを実現するための負荷分散など様々な構成にすることができる。
次から順を追って詳細な解説に入っていく。

# 目次
– [Amazon Auroraとは](#amazon-auroraとは)
– [主な特徴](#主な特徴)
– [その他の特徴](#その他の特徴)
– [ユースケース](#ユースケース)
– [小規模な構成の場合](#小規模な構成の場合)
– [大規模な構成の場合(Amazon Aurora Global Databa

元記事を表示

AWS CDKでOracle 19c構築

## この記事を読むとできること
以下構成に示すサービスをAWS CDK(TypeScript)で作成し、Linux(Amazon Linux 2023)とOracle DB(Oracle 19c)の疎通が確認できる

## 環境
– MacOS Sonoma 14.6.1(23G93)
– zsh 5.9
– aws-cli/2.9.12
– cdk 2.149.0
– node v20.11.1

## 構成
![ec2-rds-tutorial-architecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258945/beebc13a-4056-a9e7-680c-c911bf807350.png)
出典:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/tutorial-connect-ec2-instance-to-rds-database.html

## 構築サービスと詳細
– E

元記事を表示

MWAAでAWS Batchを非同期実行し、完了をSensorで監視する

# はじめに
こちらの素晴らしいブログに、PythonSensorを使っての非同期実行の方法が載っていました。

今回はそれをAWS Batchで試してみます。

ちなみにZombie Taskとは、AirflowのタスクがRunning状態だが生存が確認できない(Heartbeatが確認できない)状態でです。まさに生きたまま死んでいるゾンビ状態。

公式ドキュメントでは以下に説明が載っています。Zombie Taskと判定するコードまで載っていて、わかりやすいです。

https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html#zombie-undead-tasks

# 前提条件
– Airflowのバージョンはv2.8.1
– 2024年10月5日現在の最新バージョンはv2.10.1
– 既にMWAAのインスタンスは作成済み
– 実行ロールには`Admi

元記事を表示

Amazon Athenaについて

## Amazon Athenaについて
Amazon Athenaとは所定の形式で格納されたAmazon S3上のデータに対して標準SQLを実行できるサーバーレスのデータ分析サービスです。Athenaは内部的にはオープンソースの分析型SQLクエリエンジンであるPrestoで実装されていて、CSV、JSON、ORC、Avro、Parquetのデータ形式に対応しています。また、AthenaはJDBCドライバを通じてBIツールとの連携が可能です。

## Prestoとは
presto (または PrestoDB) は、オープンソースの分散型 SQL クエリエンジンです。Amazon AthenaではAmazon EMRでPrestoを使用した場合と同じような処理が可能ですがAthenaを使うと自前でインフラの管理をすることなくクエリから簡単に結果を取り出すことができます。

元記事を表示

VPCフローログについて

## VPCフローログとは
VPCフローログはVPC内の通信の解析に利用します。VPC内のENI(Elastic Network Interface)に流れるネットワークトラフィック情報を出力する機能です。ログはAmazon CloudWatch LogsまたはS3へ保存されます。記録される内容は送信元/送信先IPアドレス、送信元/送信先ポート番号、プロトコル番号、通信の許可/拒否の結果などがあります。

元記事を表示

AWS Global Acceleratorについて

## AWS Global Acceleratortとは
ユーザーからAWSリソースまでのアクセス経路をAWSネットワークを利用して最適化するサービスです。
通常インターネット経由のアクセスの場合、AWSリソースがあるリージョンまでに経由するインターネット回線の影響を受けます。Global Acceleratorを利用するとユーザーから最も近いAWSエッジロケーションにリクエストをルーティングできます。
Global Acceleratorは2つの固定パブリックIPアドレスを保有しており、ユーザーはこの固定IPアドレスへアクセスします。エンドポイントが増減してもIPアドレスに影響なくサービスを継続できるため可用性が向上します。

## CloudFrontとの違い
CloudFrontはAWS上で動作する安全で高速なコンテンツ配信ネットワークです。コンテンツ配信ネットワークとは、インターネット上のコンテンツを高速化して配信するためのネットワークのことです。コンテンツ配信ネットワークでは、世界各地の配信サーバー(エッジサーバー)がオリジナルデータがあるサーバー(オリジンサーバー)のコンテ

元記事を表示

SPRESENSEでSORACOM Beam経由してAWS IoTにpubする

## SORACOMでAWS IoTに接続する。

基本的な接続手順は下記を参照
– [AWS IoT と接続する](https://users.soracom.io/ja-jp/docs/beam/aws-iot-console/)
– ステップ 2: SORACOM Beam を有効にして MQTT エントリポイントを設定する
まで設定できればOK

## SRACOM Beam経由で接続する
SPRESENSEのサンプルコードのLteGnssTracker.inoを元にし改変していく

## 変更内容
 MQTTSからMQTT(非TLS通信)に変更するには、以下のような調整が必要です。
主にセキュリティ証明書を利用した設定をコメントアウトし、通常のMQTT通信に切り替えることがポイントです。

### 1.

元記事を表示

IAM Identity CenterユーザーのprofileをAWS CLIに登録する手順

## はじめに

AWS 初学者です。

AWS CLIの profile にIAM Identity Centerユーザーを登録する手順を備忘録としてまとめます。

この記事におけるバージョンは次のとおりです。

“`bash
$ aws –version
aws-cli/2.17.56 Python/3.12.6 Darwin/23.4.0 exe/x86_64
“`

なおIAM Identity Centerユーザーは作成してある前提です。

また記事で登場する`aws configure sso`コマンドは AWS CLI のバージョン2でしか利用できません。

バージョン1しかインストールされていない場合は[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)の手順にしたがって事前にアップデートしましょう。

## IAM Identity CenterユーザーのprofileをAWS CLIに登録する手順

`

元記事を表示

Amazon S3とCloudFrontを使った静的ウェブサイトホスティングの技術検証

## はじめに
この記事では、AWS(Amazon Web Services)のS3(Simple Storage Service)を使用して静的ウェブサイトをホスティングし、さらにCloudFrontを使ってそのコンテンツ配信を最適化する方法について解説します。

静的ウェブサイトは、HTML、CSS、JavaScriptなどのファイルで構成され、サーバーサイドでの処理が不要なため、コストを低く抑えることができます。

加えて、CloudFrontを使用することで、世界中のユーザーに対して高速かつ信頼性の高いコンテンツ配信が可能です。

## 前提条件
:::note warn
**以下の条件を満たしていることが前提となります**
・AWSアカウントを持っていること
・基本的なAWSの知識(特にS3とCloudFront)があること
・AWS Management Consoleにアクセスできる環境が整っていること
:::

## 知識整理
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

正直用語もさっぱりの状態からクラウドについて学ぶ

# 正直用語もさっぱりの状態からクラウドについて学ぶ
## なぜこの記事を書こうと思ったのか
とりあえずメインキャリアとしてのReactに関する理解、
ちょっとしたPython/FastApiでの実装などは経験として積めたのですが
じゃあフルスタックになんか作ってみようかと思ったところで、「クラウドの知識全然無いんだよな〜」となってしまいました。
最近日本政府が国の情報をAWSなどで管理する動きが出ているとかをXで見て、今後また世間のクラウドへの関心は高まっていくだろうと思います。

## そもそもクラウドって?
代表的なもの
– AWS (Amazon Web Services): 世界最大のシェアを誇るクラウドプラットフォーム。多様なサービスが提供され、スタートアップから大企業まで広く採用されています。
– Azure (Microsoft): 特にWindows環境やMicrosoft製品との相性が良いクラウドサービス。企業向けの導入が多いです。
– GCP (Google Cloud Platform): Googleのインフラを基盤にしたクラウド。特にデータ解析やAIに強いサ

元記事を表示

ゼロから始めるAIシステム開発 #03 「生成AI体験ワークショップ」

今回は入門書のハンズオンをやる予定でしたが変更しAWSの **「生成AI体験ワークショップ」** のレポートを書きたいと思います。
https://catalog.workshops.aws/generative-ai-use-cases-jp/ja-JP
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3885923/6c5b6f8f-89b0-0f74-6450-714fec2da915.png)
AWS上に生成AIを活用したアプリケーションを構築して、それを使ってチャットボットなどの機能を体験してみるというもの。
**>所要時間の目安は60-90分です。**
ほんとか~~~??
…結論から言うと90分どころか2日くらいかった。非エンジニアの素人にはちょっと難易度高めかも。
## 概要~事前準備
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3885923/926a9b80-6889

元記事を表示

Cognitoのユーザプール移行をやってみた

# 手のかかるCognitoくん
Cognitoを使っていて属性を変更したいと思ったのですが、実は必須の属性は変更できません。

![スクリーンショット 2024-10-04 22.49.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659784/f48f46d5-6082-ea74-1346-8c4440f811d0.png)

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes

既にある程度ユーザを作ってしまっていたのでなんとかユーザのデータ移行できないかと調べたところ、AWS公式ドキュメントでは2つの方法が紹介されていました。
1. [ユーザー移行Lambdaトリガーのインポート](https://docs.aws.amazon.com/ja_jp/cognito/la

元記事を表示

EFS を利用してカスタム FireLens を実装し、アプリケーション ログを CloudWatch Logs に出力する

## 背景
ECS Fargate で稼働するアプリケーションのログファイル(非標準出力)の内容をCloudWatch Logsに出力する要望があります。

しかし、AWS Fargate でホストされるタスクは、file 設定ファイルタイプのみをサポートします。[^1]

メンテナンス性、利用易さ、コスト、またシステムCI/CDを複雑化したくない等の理由で、FireLensとその設定ファイルはカスタムイメージを利用したくないです。

FireLens設定ファイルは EFS に格納し、その EFS を ECS にマウントする案を考えました。

– システムは、Dev環境、STG環境、本番環境で構成されている
– 環境ごとにAWSアカウントが異なって、アカウント間にTransit Gatewayで繋がっている
– EFS は各環境で作成する
– 運用管理サーバ(踏み台)は、Dev環境で構築されている

## EFS構築

1. EFS File system を作成する
– VPC は、運用サーバ(EC2)また ECS が稼働する VPC を選択する

2. AccessPoi

元記事を表示

AWS: CodeBuild: WebHookの設定

githubのpull requestがmergeされた際にCodeBuildによるビルドが実行されるようにしたい

udacityのこれをベースにしています
https://learn.udacity.com/paid-courses/cd12355/lessons/96a24139-9edc-4036-99f3-da2b31507ddd/concepts/9f1964c2-d82d-4552-a860-a5d56e91209d?_gl=1*x55mtr*_gcl_au*NjA4MDYwNTQzLjE3MjE4ODk2MTU.*_ga*ODE3ODgyMDYwLjE3MDM1Njc4MjA.*_ga_CF22GKVCFK*MTcyODAzMzQxNS4yMi4xLjE3MjgwMzM0MTkuNTYuMC4w&lesson_tab=lesson

### 必要なこと
– CodeBUildでプロジェクトを作成。「ソース」の設定内にWebHookを設定することができる。
– buildspec.yaml をリポジトリのルートに配置
– buildspec.yaml の中身の修正

元記事を表示

AWS初心者のCLF取得までの勉強方法

**まず初めに**
Qiita初投稿なため見にくい記事などお許しを。。。

**経緯**
クラウド?オンプレミス?何それ程度の初心者が、自分のキャリアアップの為に基礎的なAWSCLF試験に受かるまでの勉強方法を記しておく。

**試験日を決める**
だらだらと参考書を眺めるだけでは、ただ時間が流れてしまうためスパッと試験日を決めてそれに向けて取り組んでみる。
(私は短期集中**1カ月後**に受ける予定!)
因みに、試験費用:AWS CLFで16,500円なかなかの値段。。

**まず初めに**
参考書を購入、ネットで評価の高かった[AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%

元記事を表示

AWS Organizationsについて

## AWS Organizationsとは
AWS Organizationsは複数のAWSアカウントをグループ化し一元的に行うサービスです。グループにまとめることで管理対象のAWSアカウントに対する権限の設定や、各アカウントの請求情報を集約した一括請求が利用できます。

## 請求の一元管理
AWS Organizationsを利用すると複数のAWSアカウントの利用料を一括で支払うことができます。請求をまとめることにより個々のアカウントの利用量ではなく組織全体の利用量をもとに料金が計算され、利用量に応じた段階的な課金テーブルが設定されているサービスなどは利用量が増えるほど低コストで利用できるため結果的に利用料が安くなります。

## SCP(Service Control Policies)とは
SCPは組織(Root)属しているOU(Organizational Unit)または特定のAWSアカウントに対して、特定の権限や操作の許可/拒否を管理するための機能です。IAMポリシーに似ていますがアカウントレベルで権限を設定します。つまりSCPで制限された機能はそのアカウントのルートユ

元記事を表示

AWS SAA備忘録

今後のキャリアを考えるにあたってAWS(というかクラウド)の勉強しようと思い、その理解度チェックとしてSAA試験を受けることにしました。

僕の初期知識としてはEC2とかRDSとかの名称と機能は一応知ってるよ〜、くらいです。
それは0とほぼ同義では?

合格体験記をいくつか読んで良さそうだった書籍として以下を購入しました。
[要点整理から攻略するAWS認定](https://www.amazon.co.jp/%E8%A6%81%E7%82%B9%E6%95%B4%E7%90%86%E3%81%8B%E3%82%89%E6%94%BB%E7%95%A5%E3%81%99%E3%82%8B-%E3%80%8EAWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88%

元記事を表示

AWS X-Rayについて

## AWS X-Rayとは
AWS X-Rayはアプリケーションの動作に関するデータを収集・分析できるサービスです。CloudWatchはインフラレイヤでのパフォーマンスを確認できますが、X-Rayはアプリケーションレイヤを対象としてレスポンスタイムやレスポンスステータスなどの情報を収集します。主にトラブルシューティング目的で利用されます。アプリケーション内のリクエストをトレースし、処理時間やレスポンスを分析することで、パフォーマンスのボトルネックやエラーの発生箇所を特定できます。

## 使用方法
EC2、ECSやLambda、API Gatewayなど非常に多くのサービスと統合して使用することができ、統合する方法はサービスによって異なります。CloudWatchの「X-Rayトレース」として利用したり、ECSではサイドカーを使用したり、Lambdaではマネジメントコンソールからアクティブトレースを有効化するだけで使えたりします。

元記事を表示

サーバーレスCSV出力・ダウンロードの構成

こんにちは!
普段Web開発や保守をしており、
サーバーレス構成で開発を行ったので、その記事を記載します。

## はじめに
今回は、サーバーレスアーキテクチャを活用した出力システムの構成についてご紹介します。
サーバーレスアーキテクチャは、スケーラビリティとコスト効率が高いため、多くの企業で採用されています。
本記事では、AWSのStep Functions、Lambda、RDS、S3を使用して、データを取得し、CSV形式でS3に保存した後、CloudFrontの署名付きURLでメール送信するシステムの構築について詳しく解説します。

## 構成図
![【資料用】記事用_構成図2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/415982/bb8a2fff-f6bf-7338-aeae-bdfe38eb87e7.png)

## 各サービスの役割
– Step Functions
– 一連の処理フローをオーケストレーションし、各サービス間の連携を管理します。
– Lambda

元記事を表示

OTHERカテゴリの最新記事