- AWS Lambda — 初期化はハンドラーの外、冪等、測って決めるメモリ、INIT の課金、同時実行で下流を守る、呼び出しの型ごとの失敗の受け皿、Managed Instances と durable functions
- Amazon ECS — まず Fargate、SIGTERM で静かに止める、不変のタグ、プライベートサブネットと VPC エンドポイント、2つのロール、ネイティブのブルー/グリーンとカナリア、サーキットブレーカー、20 秒のメトリクスでのスケール
- AWS Auto Scaling — 状態を持たない、複数の AZ、起動テンプレートと IMDSv2、まずターゲット追跡、予測は増やすだけ、デフォルトのウォームアップ、ウォームプール、スポットの混在、インスタンスリフレッシュ、削除保護
- Amazon VPC — 重ならない CIDR、3つの層のサブネット、リージョン NAT ゲートウェイ、他の SG を参照する、ゲートウェイエンドポイント、Block Public Access、暗号化の強制、フローログ
- Application Load Balancer — 2つ以上の AZ と /27、TLS のポリシーは IaC で明示する、ALB の SG を参照する、desync の緩和、浅いヘルスチェック、アプリより短いアイドルタイムアウト、JWT の検証、ログ
- Amazon API Gateway — まず HTTP API、REST の TLS の既定は TLS_1_0 なので明示する、すべてのルートに認可、オーソライザーのキャッシュのキー、段階ごとのスロットリング、29 秒の先はストリーミングか非同期、ログ
- Amazon CloudFront — OAC と VPC オリジンでオリジンを隠す、TLS は 2025 のポリシー、キャッシュキーは最小、ファイル名で版を分ける、無効化は
/* も1パス、フェイルオーバーは GET だけ、WAF、ログ
- Amazon Route 53 — AWS のリソースには Alias、ヘルスチェックのないレコードは健全とみなされる、全部 unhealthy なら全部に送る、切り替えはデータプレーンで、加速リカバリー、DNSSEC、DNS Firewall、ログ
- WAF — 多層防御の一層、オリジンへの迂回を閉じる、CloudFront の後ろの ALB ではなく CloudFront に付ける、本文は先頭 8〜64 KB しか見ない、Count から始める、狭い除外、レートベースのルール、ログのリダクション
- Amazon RDS — 本番は Multi-AZ か別の AZ のリーダー、DNS 名でつなぎキャッシュを短く、保持期間は API の既定 1 日なので明示する、暗号化は作るときに、TLS を強制、自動拡張は大量ロードに追いつかない、MySQL 8.0 はもう延長サポートの料金、Blue/Green は PITR を引き継がない
- RDS に手元の GUI クライアントからつなぐ — SSM のポートフォワーディングで稼働中の ECS タスクのコンテナを中継にする(中継用のサーバーは要らない)、ECS Exec は有効化後にデプロイしたタスクから、target は
ecs:<クラスター>_<タスクID>_<ランタイムID> で毎回組み立てる、引数で環境を渡す1本のスクリプト、ssm:SessionDocumentAccessCheck でシェルを禁じる、ローカルポートは既定と被らせない、127.0.0.1 では verify-full が通らないので hosts で、タスクが入れ替わると切れる
- Amazon ElastiCache — まず Valkey、Multi-AZ とレプリカを別の AZ に、既定の
volatile-lru は TTL のないキーを追い出さない、reserved-memory-percent は下げない、保管時の暗号化は作るときに、TLS 1.2 以上、Redis OSS 4・5 は延長サポートの料金で 6 は 2027-01 まで、Serverless はスロットの上限と最小の課金
- Amazon DynamoDB — アクセスパターンから設計する(RDB の正規化を持ち込まない)、高カーディナリティのパーティションキーと書き込みシャーディング(1 パーティション 3,000 RCU・1,000 WCU)、ソートキーの階層とゼロ埋め、基本は GSI で射影は最小限・スパースインデックス・GSI オーバーロード、シングルテーブルは必須ではない、400KB の上限と S3 への退避、Query が基本で FilterExpression は RCU を減らさない、条件付き書き込みとトランザクション(2 倍のキャパシティ)、
UnprocessedItems を必ず処理、まずオンデマンド、TTL と Streams の冪等なコンシューマ、PITR と削除保護
- Amazon S3 — パブリックアクセスブロックは Organizations で、名前はアカウントのリージョン名前空間に、消さずに空にして残す、ACL を無効に、HTTPS を強制、SSE-C は既定で無効、MFA Delete はライフサイクルと両立しない、不完全なマルチパートアップロードと非現行の版を消す、IA と Glacier の最小期間
- AWS IAM — メンバーアカウントのルートの認証情報は一元管理で消す、ルートの MFA は全アカウントで必須、人は Identity Center、CI は OIDC で
sub を絞る、iam:PassRole を絞る、aws:MultiFactorAuthPresent は Identity Center のセッションに入らない、SCP と RCP は上限だけ、ロールのマネージドポリシーは 20 まで
- Amazon CloudWatch — 症状でページング、
TreatMissingData は既定 missing なので明示する、ロググループの保持期間は既定で無期限、Essentials はメトリクスフィルターが使えずクラスを変えられない、高カーディナリティは OTel メトリクスに、メンテナンスはミュートルール、X-Ray SDK は 2027-02 にサポート終了
- Amazon EventBridge — 定期実行は Scheduler、1 対 1 は Pipes、全ターゲットに DLQ(既定は 24 時間・185 回で捨てる)、受け手は冪等に、
FailedEntryCount を見る、パターンに source と detail-type、新しいカスタムイベントバスはリトライが既定で 5 回・300 秒
- Amazon Bedrock — モデルは自分のデータの評価で選ぶ、
max_tokens は TPM を先に食う、クロスリージョン推論は SCP とデータの所在を確かめる(jp. は東京と大阪)、本番は短期の API キーかロール、モデルを止めるのは bedrock:InvokeModel の拒否、Guardrails は組織で強制できる、呼び出しのログは既定で無効
- Amazon Bedrock AgentCore — 入力は
str で検証し toolUse を落とす、セッションとユーザーの対応は自分で持つ、Runtime の前に Gateway を置いて直接の呼び出しを塞ぐ、ツールの可否は Policy(既定は拒否)、CLI の実行ロールは全モデルを呼べる、MMDSv2 は 2026-06-30 から必須
- Amazon SES — ドメインで検証し Easy DKIM と DMARC、カスタム MAIL FROM は MX 1 つと SPF、バウンス率 5%・苦情率 0.1% で審査、Gmail の苦情は SES に来ない、アカウントの停止は
EnforcementStatus を読む(イベントは出ない)、トランザクションとマーケティングを分ける、SMTP の認証情報はロールにできない
- Amazon SNS — 配るのは SNS で受けるのは受け手ごとの SQS、全サブスクリプションに DLQ(クライアント側のエラーはリトライされず消える)、HTTP(S) の配信のポリシーは既定だと 3 回、
aws/sns で暗号化したトピックには AWS のサービスが発行できない、署名は SignatureVersion 2、データ保護は 2026-04-30 から新規不可、1 MiB まで上げられる
- Amazon SQS — 基本は Standard で順序と重複排除が要るときだけ FIFO、受け手は業務側の冪等キーで冪等に、可視性タイムアウトは最大処理時間より十分長く(Lambda はタイムアウトの 6 倍以上)、全キューに DLQ で保持期間は元キューより長く、ロングポーリング 20 秒とバッチ API(部分失敗を見る)、Lambda は
ReportBatchItemFailures と MaximumConcurrency
- AWS CodePipeline — 新規は V2(課金はアクションの実行時間)、実行モードは
SUPERSEDED・QUEUED・PARALLEL を用途で、ポーリングでなくイベント駆動でトリガーフィルタ(本番は Git タグ)、1 回だけビルドして全環境で使う、カナリアとウェーブとアラームでの自動ロールバック、手動承認は最小限、パイプラインごとの最小権限ロールとツールアカウントからのクロスアカウント、IaC で管理
- AWS CodeBuild — buildspec はリポジトリで管理しフェーズを分けて
on-failure: ABORT、post_build は失敗時も走るので CODEBUILD_BUILD_SUCCEEDING を見る、プロジェクトごとの最小権限ロール、シークレットは Secrets Manager / Parameter Store から、特権モードは必要なときだけ、フォーク PR は Webhook フィルタで制限、キャッシュとバッチビルド、タイムアウトとログ保持期間、イメージタグはコミットハッシュ
- AWS CDK — 合成時に判断しデプロイ時に判断しない(
CfnParameter / CfnCondition より if 文)、L2 / L3 Construct を優先、Construct は Props で受け取り process.env を読まない、権限は grant*、ステートフルとステートレスで Stack を分ける、物理名は自動生成、RemovalPolicy.RETAIN と論理 ID の維持(cdk diff で replace を確認)、cdk.context.json はコミット、cdk-nag、本番はパイプライン経由
- AWS CloudFormation — ライフサイクルと所有者でスタックを分けステートフルを切り離す、連携は
Export を控えて SSM Parameter Store で疎結合に、!Sub と擬似パラメータでハードコードしない、シークレットは動的参照、ステートフルには DeletionPolicy と UpdateReplacePolicy、本番は変更セットで Replacement を確認、サービスロールで最小権限、cfn-lint・cfn-guard・Hooks、ドリフト検出を定期実行、論理 ID は変えない
- AWS SAM — Globals で共通設定、リソース名をハードコードしない、ステートフルには
DeletionPolicy と UpdateReplacePolicy、権限はポリシーテンプレートと Connectors、ハンドラは薄く SDK クライアントはハンドラ外で初期化、冪等性と非同期の失敗先、sam sync --watch は開発環境だけ、統合テストはクラウドの開発用スタックで、samconfig.toml で環境を分ける、AutoPublishAlias と DeploymentPreference で Canary とアラームでの自動ロールバック、CI は OIDC、ログ保持期間を設定
- Serverless Framework —
frameworkVersion を固定(V.4 は自動で更新する)、V.4 は年間売上 200 万ドル超で有償、1 サービス = 1 つの境界づけられたコンテキストで Compose で束ねる、ステートフルは別スタックで DeletionPolicy: Retain、ステージ差分は stages と params、ステージごとにアカウントを分ける、シークレットは実行時に取得、関数ごとの最小権限ロール、ネイティブの esbuild ビルド、DLQ と ReportBatchItemFailures、本番は CI から(deploy function は dev だけ)、Prune
- AWS IaC ツールの使い分け — 4つとも最後は CloudFormation スタック、新規で迷ったら CDK(サーバーレスだけで小規模なら SAM)、組織横断のガードレールと StackSets の配布は CloudFormation、Serverless Framework は既存資産の継続が主で v4 はライセンスを確認、基盤は CFn でアプリは CDK・CDK と SAM CLI の併用、1つのリソースは1つのツールで、スタック間は Export より SSM Parameter Store、本番は差分確認を経る