Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する
AWS Hands-on for Beginners Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する | AWS Webinar
- AWS Lambdaの特徴
- サーバーのプロビジョニング/管理なしでプログラムを実行できるサービス
- コードの実行やスケーリングに必要なことは、Lambda側で実施するので、開発者の方はコードを書くことにより集中できる
- リクエストベースの料金体系(実行回数 + 実行時間)
- Lambda のライフサイクル
- Lambda は呼び出されると、コンテナ上でプログラムを実行する
- 1つのコンテナで同時に実行できるのは1つのリクエストまで
- コンテナは再利用されるが、利用可能なコンテナがないときはコールドスタート
- コンテナ生成→デプロイ→ランタイム起動/初期化→メソッド起動
https://pages.awscloud.com/rs/112-TZM-766/images/03_lambda_stand_alone.py
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/translate.html
https://pages.awscloud.com/rs/112-TZM-766/images/04_lambda_translate.py
https://pages.awscloud.com/rs/112-TZM-766/images/06_apigw-mock.json
https://pages.awscloud.com/rs/112-TZM-766/images/07_lambda_apigw.py
API Gateway で統合レスポンスを設定する - Amazon API Gateway
- Amazon DynamoDB の特徴
- フルマネージド型の NoSQL データベースサービス
- 3つの Availability Zone に保存されるので信頼性が高い
- 必要要件に応じて、テーブルごとにスループットキャパシティを定義する
- ストレージの容量制限がない
- 料金体系
- 設定した Readキャパシティユニット + Writeキャパシティユニット + ストレージ利用料
https://pages.awscloud.com/rs/112-TZM-766/images/10_lambda_dynamodb.py
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/table/index.html
スケーラブルウェブサイト構築編
AWS Hands-on for Beginners Amazon スケーラブルウェブサイト構築編 | AWS Webinar
- アーキテクチャ
- Amazon EC2
- Amazon Virtual Private Cloud(VPC)
- Amazon Relational Database Service(RDS)
- Elastic Load Balancing(ELB)
- Amazon Machine Image(AMI)
セキュリティグループの作成で、データベース(RDS)のセキュリティグループを作成する。
その場合、インバウンドルールのソースに「Word Press」をインストールした EC2 のセキュリティグループを指定する。
RDSでは、DB サブネットグループを作成する。
前準備として、VPCでサブネットを作り、EC2でセキュリティグループを作る。
ELBはEC2から作成する。
前準備として、セキュリティグループを作り、ターゲットグループを作る。
マルチAZ配置で、スタンバイインスタンスを作成する事ができる。
Network編#3 クライアントVPNをつかって、リモート接続環境を構築しよう
AWS Hands-on for Beginners Network編#3 クライアントVPNをつかって、リモート接続環境を構築しよう | AWS Webinar
- CloudWatch
- ロググループの作成→ログストリームの作成
注意すべきところ
VPC(198.19.0.0/16)へのアクセスのみVPN接続経由するようにするため、このハンズオンでは必ずスプリットトンネルを有効にしてください。
Network編#2 Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続
AWS Hands-on for Beginners Network編#2 Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続 | AWS Webinar
- 複数のVPCを利用する
- 環境ごとに分ける(本番、検証、開発)
- システムごとに分ける
- VPC間を接続する方法
https://tetsuyaohira.com/posts/2022-11-26-cloud9-error/
public サブネットの パブリック IPv4 アドレスの自動割り当てを「はい」にしないと EC2 インスタンスを作成できずにエラーになる。
インターネットゲートウェイを作る理由はここにあった。
Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する
AWS Hands-on for Beginners Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する | AWS Webinar
- Amazon VPC の基本を理解する
- Amazon VPC を使ってAWS上にプライベートネットワーク空間を作成する
- Amazon VPC とインターネットの接続をコントロールする方法を理解する
- VPCエンドポイントを使ってAWSマネージドサービスに接続する方法を理解する
- サブネットの Public/Private は、ルートテーブルとの関連付けで決まる。
- ルートテーブル
ユーザーデータに入力。
#!/bin/bash yum -y update yum -y install httpd systemctl enable httpd.service systemctl start httpd.service
- プライベートサブネットからインターネットに行く場合は NAT を利用する。
- NAT instance
- NAT Gateway(主流)
Elastic IP 割り当てを行う事で、グローバルIPが割り当てられる。
- Gateway型
- S3、DynamoDBとの接続方式
- Interface側
- SSM、CloudWatch、S3など、その他サポートされているサービス