メインコンテンツへスキップ
EKB EKS インフラストラクチャを顧客の AWS アカウントにデプロイする前に、このチェックリストを顧客と共有して確認およびレビューする必要があります。デプロイメント前に、すべての項目を確認し、記録し、署印してもらうことが必須です。

チェックリスト

AWS アカウント & アクセス

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
アカウントAWS Account ID有効な AWS Account ID を共有する必要がありますIAM ロールの作成、請求の所有者、タグ付け、Terraform バックエンドへのアクセスに必要ですAccount ID が正確で、請求が有効、アクセス可能であること
リージョンAWS リージョンの選択EKS、EC2、VPC、ACM、ElastiCache、Amazon MQ をサポートするリージョンサービスによってはリージョンが制限されている場合があり、未サポートのリージョンではデプロイメントが失敗しますAWS コンソールでリージョンが確認でき、すべての必要なサービスをサポートしていること
CLIAWS CLI の設定AWS CLI で認証済みの IAM ユーザーTerraform/Terragrunt のデプロイメントにはプログラムからのアクセスが必要ですaws sts get-caller-identity が想定されるアカウントを返すこと
IAMデプロイメント権限管理者 IAM 権限デプロイメントは EC2、EKS、IAM、S3、ACM、Route 53、MQ、ElastiCache、CloudWatch にまたがりますIAM ポリシーが必要なサービスに対して作成/更新/削除を許可していること

サービスクォータ

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
EC2オンデマンド vCPU クォータオンデマンド Standard(A、C、D、H、I、M、R、T、Z)インスタンスのクォータが最低 100〜150 vCPUオートスケーリング、r6a インスタンス、Karpenter には高い vCPU 余裕が必要ですService Quotas コンソールでクォータ増加が承認されていること
EC2インスタンスファミリの利用可能性C、M、R ファミリのインスタンスがリージョンで利用可能ワークロードにはコンピューティング、メモリ、データベース最適化ノードが必要ですEC2 コンソールでインスタンスファミリが表示され、選択可能であること
EKSEKS クラスタークォータ必要な環境デプロイメントに基づき、少なくとも 1 つの EKS クラスターが許可されていることクォータが不十分な場合、クラスター作成がブロックされますクォータ >= 1 クラスター
VPCNAT ゲートウェイクォータAZ あたり 1 つの NAT ゲートウェイ(推奨:3 つ)プライベートサブネットには送信インターネットアクセスが必要ですクォータ >= AZ 数
ネットワーキングエラスティック IP クォータNAT ゲートウェイ用のエラスティック IP が利用可能各 NAT ゲートウェイは 1 つのエラスティック IP を消費しますエラスティック IP クォータが AZ 数に対して十分であること
ElastiCacheElastiCache クォータRedis クラスター用に最低 2 ノード(cache.t3.micro、Redis 7.0)ENABLE_AWS_SERVICES=true の場合に必要ですクォータ >= 2 ノード
Amazon MQAmazon MQ クォータRabbitMQ 用に最低 1 つのブローカー(mq.m5.large、RabbitMQ 3.13)ENABLE_AWS_SERVICES=true の場合に必要ですクォータ >= 1 ブローカー

ドメイン & SSL

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
ドメインフロントエンドドメインWeb フロントエンド用のパブリックドメイン(例:app.example.comALB ルーティングと SSL ターミネーションに使用しますドメインが解決し、所有権が確認されていること
ドメインバックエンド API ドメインFastAPI バックエンド用のパブリックドメイン(例:api.example.comAPI アクセスと TLS に必要ですドメインが文書化され、承認されていること
ドメインAutomator サービスドメインAutomator サービス用のパブリックドメイン(例:automations.example.comAPI アクセスと TLS に必要ですドメインが文書化され、承認されていること
ドメインSupabase サービスドメインSupabase Cloud を使用しない場合 — Supabase 用のパブリックドメイン(例:supabase.example.comSupabase をセルフホスティングする場合に API アクセスと TLS に必要ですドメインが文書化され、承認されていること
証明書ACM 証明書デプロイメントリージョンでワイルドカードまたは個別の ACM 証明書が作成されていることALB での TLS ターミネーションには有効な ACM 証明書が必要です証明書が ISSUED 状態で、デプロイメントと同じ AWS リージョンにあること

ネットワーキング

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
VPCVPC 戦略既存の VPC を確認するか、新しい VPC の作成を承認する分離、ルーティング、セキュリティの境界を定義しますVPC ID または CIDR ブロックが承認されていること
CIDRCIDR プランニングCIDR がオンプレミスまたは他の VPC と重複していないことCIDR の重複はルーティングと VPN 接続を破損しますCIDR が既存のネットワークと照合確認されていること
サブネットパブリックサブネットALB と NAT ゲートウェイ用の AZ ごとのパブリックサブネットイングレスおよびエグレストラフィックに必要ですサブネットにタグ付けされ、ルーティング可能であること
サブネットプライベートサブネットEKS ワーカーノード用の AZ ごとのプライベートサブネットワークロードがインターネットに直接公開されないようにしますサブネットがマッピングされ、NAT ゲートウェイ経由で到達可能であること
エグレス送信アクセスワーカーノードからの送信ポート 80、443、53 が許可されていることコンテナイメージのプル、AWS API 呼び出し、DNS 解決に必要ですファイアウォール/セキュリティグループルールが検証されていること

サービス設定

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
SupabaseSupabase 有効化セルフホスト Supabase(ENABLE_SUPABASE=true)または Supabase Cloud を確認するDB プロビジョニング、シークレット、イングレス、ネットワーキング設定に影響します判断が文書化され、対応する ENABLE_* フラグがデプロイメントで設定されていること
AWS サービスRedis の使用AWS ElastiCache Redis(ENABLE_AWS_SERVICES=true)または外部 Redis を確認する高可用性、コスト、ネットワーキング設計に影響します判断が文書化されていること
AWS サービスRabbitMQ の使用Amazon MQ(ENABLE_AWS_SERVICES=true)または外部 RabbitMQ を確認するメッセージングの信頼性と HA に影響します判断が文書化されていること
ロードバランサーALB コントローラーAWS Load Balancer Controller が有効(ENABLE_ALB_CONTROLLER=true、デフォルト)Kubernetes アノテーションからの ALB イングレスプロビジョニングに必要ですコントローラーポッドが infrastructure 名前空間で稼働していること

オートスケーリング

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
KarpenterKarpenter のインストールEKS モジュールを介して Karpenter コントローラーがデプロイされていること動的ノードプロビジョニングを処理します。マネージドノードグループのオートスケーリングを置き換えますKarpenter ポッドが専用ノードグループで正常に稼働していること
KarpenterSpot 戦略ノードクラスごとの Spot とオンデマンドの使用が定義されていること安定性を維持しながらコストを最適化します。Spot 中断ハンドリングを有効にする必要がありますSpot インスタンスを使用する場合、SQS 経由の中断ハンドリングが有効であること
KEDAPod オートスケーリングKEDA が Helm チャートでインストールされていること(keda 名前空間)CPU/メモリのしきい値に基づく動的 Pod スケーリングを処理しますKEDA オペレーターポッドが正常に稼働し、すべてのサービスに ScaledObjects が適用されていること

ストレージ

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
EBSEBS CSI ドライバーEBS CSI ドライバーがインストールされていること(kube-system 名前空間)StorageClass を介した動的永続ボリュームプロビジョニングに必要ですドライバーポッドが正常に稼働し、PVC が正常にプロビジョニングされていること

セキュリティ

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
暗号化静止時の暗号化EBS ボリューム、S3 ステートバケット、Redis の暗号化が有効であることすべてのストレージレイヤーで敏感なデータを静止時に保護します各サービスの暗号化が AWS コンソールで確認されていること
暗号化伝送時の暗号化すべての外部および内部サービス通信で TLS が強制されていること伝送中のデータ傍受を防止しますHTTPS エンドポイントが検証され、Redis transit_encryption_enabled = true であること
監査監査ログCloudTrail、VPC Flow Logs、Kubernetes 監査ログが有効であることインシデント調査、コンプライアンス、監査に必要ですログが CloudWatch / S3 で表示され、照会可能であること

デプロイメント

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
スケジュールデプロイメントウィンドウデプロイメント日時ウィンドウが顧客によって承認されていること検証および必要に応じたロールバックのために顧客チームの都合が確保されます書面による確認が received されていること

署印

エリアチェック項目詳細要件内容 / 理由受入基準ステータス記録値 / 備考
承認顧客承認顧客が費用見積もり、範囲、デプロイメント計画を正式に承認することインフラストラクチャがプロビジョニングされる前に正式な稼働承認が必要ですメールまたは署印済み文書による承認が received されていること

サービス有効化 / 無効化フラグリファレンス

デプロイメント前に顧客と各フラグの目的の値を確認してください。
環境変数デフォルト効果
ENABLE_SUPABASEfalseセルフホスト Supabase スタック(Kong、Auth、Storage、Studio)をデプロイする
ENABLE_CNPGfalseCloudNativePG オペレーターをデプロイする(セルフホスト Supabase DB の前提条件)
ENABLE_HA_SUPABASE_DBfalseCloudNativePG を介した HA PostgreSQL クラスターをデプロイする(Supabase の前提条件)
ENABLE_AWS_SERVICESfalseElastiCache Redis と Amazon MQ RabbitMQ をプロビジョニングする
ENABLE_ALB_CONTROLLERtrueAWS Load Balancer Controller をデプロイする
ENABLE_SIGNOZfalseSigNoz 可観測性プラットフォーム + k8s-infra エージェントをデプロイする

記録値のまとめ

デプロイメント前に顧客から収集した最終値を記録します。
パラメータ
AWS Account ID
AWS リージョン
VPC CIDR
アベイラビリティゾーン
フロントエンドドメイン
API ドメイン
Automator ドメイン
Supabase ドメイン(セルフホストの場合)
SigNoz ドメイン(有効な場合)
ACM 証明書 ARN
Supabase モードCloud / Self-hosted
RedisElastiCache / External
RabbitMQAmazon MQ / External
デプロイメント日 / ウィンドウ
顧客承認リファレンス