ガイド: AWS(設計の定石・サービス選択・新機能)
@dkfj の「似ているが目的が違うものを取り違えない」系の短い定石と、新機能を試した報告をまとめる。迷ったら「目的(可用性か・スケールか・記録か・判断か)」で分けるのが共通の考え方。
設計の定石・権限
- AWS 設計の定石メモ: 人は Identity Center・システムは IAM ロール/VPC エンドポイント/Route 53 Resolver — 人は Identity Center、システムは IAM ロール、VPC エンドポイント、Route 53 Resolver
- AWS の VPC エンドポイント: Gateway 型と Interface 型は「コストを下げたいか/閉じた経路で使いたいか」で選ぶ — S3/DynamoDB は無料の Gateway 型でコスト削減、それ以外とプライベート通信は Interface 型
- AWS IAM: 評価は「明示 Deny → 明示 Allow → 暗黙 Deny」
- AWS: CloudTrail は「記録」、GuardDuty が「判断」、Config が「構成の逸脱」
サービスの選び方・見積もり
- AWS で目的を取り違えやすい 2 組: Multi-AZ と Read Replica、EBS と Instance Store — 同期か非同期か、残るか消えるか
- DynamoDB: RCU は「4KB 単位に切り上げ」で数える/DAX を入れる前に強整合が要るか確かめる — 4KB 単位の切り上げ、DAX は結果整合向け
- AWS Step Functions: Standard を選ぶのは「5 分超」か「完全な実行履歴が要る」ときだけ — 5 分超か実行履歴が要るときだけ Standard
- AWS SQS: Visibility Timeout は処理時間より長く(FIFO でも「処理中の再配送」は止まらない) — 処理時間より長く。FIFO でも処理中の再配送は起きる
S3 とデータ分析
- S3: アカウント専用の名前空間でバケットを作る(<名前>-<アカウントID>-<リージョン>-an)
- Athena: ファイルサイズは 100MB〜1GB が扱いやすい — 10KB は 1GB 比で約 250 倍遅い
- S3 の接続先を差し替える: ローカルのモックや中継ゲートウェイに向ける
サーバーレスの新機能
- AWS Lambda Web Functions のネットワーク: VPC へは Network Connector、外へ出るには NAT、入口は閉じられない — VPC には Network Connector、外へは NAT、入口は閉じられない、コールドスタート 1〜1.5 秒
- AWS Lambda × S3 Files: バケットを NFS マウントして SQLite を読む・書く