Skip to main content

概要

このガイドでは、Amazon ECS(Elastic Container Service)とFargateを使用して、事前に構築されたDockerイメージでCaseBenderをAWSにデプロイする方法を説明します。

前提条件

  1. AWSアカウント
  2. AWS CLIがインストールおよび設定されていること
  3. Dockerがインストールされていること

ステップ1: 初期設定

AWS CLIのインストールと設定

ステップ2: AWSインフラストラクチャの設定

既存の S3 バケットに接続する

CaseBender は顧客所有のオブジェクトストレージを使用します。S3 バケットの作成、 空化、削除は行いません。このデプロイの前に、quarantine、records、 ephemeral の各バケット(または同等に分離されたプレフィックス)を用意し、 スコープを限定したオブジェクト権限を持つ ECS タスクロールまたは IRSA を 割り当ててください。新規デプロイで IAM ユーザーや長期アクセスキーを 作成しないでください。 正規の実行時変数は STORAGE_PROVIDER=s3、S3_BUCKET、AWS_REGION です。 AWS_S3_BUCKET と AWS_S3_REGION は有効なストレージ変数ではありません。 3 つのプロファイルが別バケットを使う場合は、マウントした STORAGE_CONFIG_FILE を優先してください。 ストレージの概要 と ストレージセキュリティベースライン を参照してください。

VPCの作成

サブネットの作成

RDS(PostgreSQL)のセットアップ

ElastiCache(Redis)のセットアップ

ステップ3: ECRリポジトリの作成

ステップ4: ECSクラスターの作成

ステップ5: タスク定義の作成

各サービス用のタスク定義JSONファイルを作成します:
タスク定義を登録します:

ステップ6: アプリケーションロードバランサーの作成

ステップ7: ECSサービスの作成

ステップ8: Route 53のセットアップ(オプション)

カスタムドメインを使用する場合:

モニタリングとメンテナンス

CloudWatchアラームの設定

ログの表示

サービスの更新

コスト最適化

  1. 重要でないワークロードにはFargate Spotを使用
  2. メトリクスに基づいた自動スケーリングの実装
  3. 適切なインスタンスサイズの選択
  4. 予測可能なワークロードにはリザーブドインスタンスを使用

セキュリティのベストプラクティス

  1. 機密データにはAWS Secrets Managerを使用
  2. WAFルールの実装
  3. VPC Flow Logsの有効化
  4. セキュリティグループの定期的な監査
  5. AWS GuardDutyの有効化

次のステップ

  • AWS CodePipelineでCI/CDパイプラインを設定
  • バックアップ戦略の構成
  • モニタリングとアラートの実装
  • セキュリティのベストプラクティスの確認