ECS (Fargate) の詳細構築ガイド

この記事はで読むことができます。

このガイドでは、Amazon ECS (Elastic Container Service) with Fargateを使用してコンテナ化されたアプリケーションを構築・デプロイする詳細な手順を説明します。

1. 前提条件

  • AWSアカウントを持っていること
  • AWS CLIがインストールされ、設定されていること
  • Dockerがインストールされていること

2. Dockerイメージの作成とプッシュ

まず、アプリケーションのDockerイメージを作成し、Amazon Elastic Container Registry (ECR) にプッシュします。

2.1 ECRリポジトリの作成

  1. AWSマネジメントコンソールにログインし、ECRサービスに移動します。
  2. 「リポジトリの作成」をクリックします。
  3. リポジトリ名を入力し、「作成」をクリックします。

2.2 Dockerイメージのビルドとプッシュ

ターミナルで以下のコマンドを実行します。

bash

3. ECSクラスターの作成

  1. ECSダッシュボードに移動し、「クラスターの作成」をクリックします。
  2. クラスター名を入力し、「ネットワーキングのみ」テンプレートを選択します。
  3. 「作成」をクリックします。

4. タスク定義の作成

  1. ECSダッシュボードで「タスク定義」→「新しいタスク定義の作成」をクリックします。
  2. 「Fargate」を選択します。
  3. タスク定義名を入力します。
  4. タスクロールとタスク実行ロールを選択または作成します。
  5. タスクメモリとCPUを選択します。
  6. 「コンテナの追加」をクリックし、以下の情報を入力します:
  • コンテナ名
  • イメージ(ECRのイメージURI)
  • ポートマッピング
  1. 「作成」をクリックします。

5. サービスの作成

  1. 作成したクラスターを選択し、「サービス」タブをクリックします。
  2. 「作成」をクリックします。
  3. 以下の情報を設定します:
  • 起動タイプ:FARGATE
  • タスク定義:先ほど作成したもの
  • サービス名
  • タスクの数
  1. VPCとサブネットを選択します。
  2. セキュリティグループを設定します。
  3. ロードバランサーの設定(必要な場合)を行います。
  4. Auto Scalingの設定(オプション)を行います。
  5. 「次のステップ」をクリックし、設定を確認後、「サービスの作成」をクリックします。

6. タスクの実行状況の確認

  1. ECSダッシュボードでクラスターを選択します。
  2. 「タスク」タブをクリックし、実行中のタスクを確認します。
  3. タスクの詳細を見るには、タスクIDをクリックします。

7. アプリケーションへのアクセス

  1. タスクの詳細画面で「ネットワーク」セクションを確認します。
  2. 「パブリックIP」または「プライベートIP」(VPC内からアクセスする場合)を使用してアプリケーションにアクセスします。

8. モニタリングとログの確認

  1. CloudWatchダッシュボードに移動します。
  2. 「ログ」→「ロググループ」で、ECSタスクのログを確認できます。
  3. 「メトリクス」セクションでECSのメトリクスを確認できます。

9. スケーリングの設定(オプション)

  1. ECSサービスの「更新」をクリックします。
  2. 「Auto Scaling」タブで、サービスのAuto Scalingを設定できます。
  3. CPU使用率やメモリ使用率に基づいてスケーリングルールを設定します。

10. クリーンアップ

作業が終わったら、不要なリソースを削除してコストを抑えましょう:

  1. ECSサービスを削除
  2. タスク定義を削除
  3. ECRリポジトリを削除
  4. CloudWatchロググループを削除

以上の手順で、ECS (Fargate) を使用してコンテナ化されたアプリケーションを構築・デプロイすることができます。各ステップを注意深く実行し、必要に応じてAWSのドキュメントを参照してください。