メインコンテンツへスキップ
このガイドでは、Terragrunt を使用して AWS に EKB EKS インフラストラクチャを完全にデプロイする手順を説明します。ツールのインストール、環境セットアップ、およびすべてのインフラストラクチャ コンポーネントにわたって適切な依存関係の順序を確保するように設計された段階的な展開シーケンスについて説明します。 導入は 9 つのフェーズに分かれています。
  1. 状態管理 — 環境の Terraform 状態を保存するために使用される S3 バケットをブートストラップします。
  2. EKS インフラストラクチャ — VPC、サブネット、NAT ゲートウェイ、IAM ロール、EKS クラスターと管理対象ノード グループをプロビジョニングします。
  3. ストレージとロード バランシング — 永続ボリューム用の EBS CSI ドライバーと、ALB イングレス用の AWS ロード バランサー コントローラーをデプロイします。
  4. Karpenter Autoscaling — スポット インスタンスのサポートと、SQS および EventBridge を介した中断処理を備えた動的ノード プロビジョニングをセットアップします。
  5. KEDA 自動スケーリング — CPU とメモリのしきい値に基づいてポッド レベルの自動スケーリングのために KEDA をデプロイします。
  6. データ サービス — Supabase (セルフホストまたはクラウド)、ElastiCache Redis、および Amazon MQ RabbitMQ をプロビジョニングします。
  7. Odin サービス — Helm 経由で EKB アプリケーション スタック (Web、FastAPI、Celery、Automator) をデプロイします。
  8. SigNoz の可観測性 — SigNoz と k8s-infra エージェントを介して分散トレース、メトリクス、ログ集約を展開します。
  9. 最終展開 — 完全な terragrunt apply を実行して、残りのリソースを調整します。
開始する前に、お客様と一緒に前提条件チェックリストを完了し、環境テンプレート内のすべての <YOUR_*> プレースホルダーが入力されていることを確認してください。 VPC ID、EKS クラスター エンドポイント、Redis および RabbitMQ エンドポイントを含むいくつかの値は、特定のフェーズが完了した後でのみ使用できるため、ガイドでは、いつそれらを取得して適用するかを正確に示しています。

前提条件

  • 適切なアクセス許可が設定された AWS CLI
  • Terraform (>= 1.0)
  • Terragrunt (最新バージョン)
  • kubectl Kubernetes 管理用
  • helm : Helm チャート管理用

インストールガイド

Terragrunt のインストール

macOS (自作)bash brew install terragrunt Linux (apt)```bash

Add HashiCorp GPG key

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg —dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

Add HashiCorp repository

echo “deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/hashicorp.list

Update and install

sudo apt update sudo apt install terragrunt **Windows (チョコレート風)**bash choco install terragrunt
kubectl のインストール