Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

Fargate を使用した Amazon ECS の使用開始

Amazon ECS コンソールを使用して Fargate 起動タイプを使用するタスク定義を作成し、タスクをスケジューリングして、クラスターを設定するところから Amazon Elastic Container Service (Amazon ECS) を始めましょう。

AWS Fargate ををサポートしているリージョンで、Amazon ECS 初回実行ウィザードにより、Fargate を使用して Amazon ECS を開始するプロセスが案内されます。詳細については、「AWS Fargate での Amazon ECS」を参照してください。ウィザードはクラスター作成のオプションを提供し、サンプルのウェブアプリケーションを起動します。Amazon ECS で起動する Docker イメージがすでにある場合は、代わりにそのイメージを使用してタスク定義を作成し、クラスターで使用することもできます。

重要

EC2 タスクの Amazon ECS 初回実行ウィザードの詳細については、「Amazon ECS の開始方法」を参照してください。

Fargate を使用した Amazon ECS を開始するには、以下のタスクを完了します。

前提条件

開始する前に、Amazon ECS でのセットアップ のステップを完了したこと、および AWS ユーザーに AdministratorAccess または Amazon ECS 初回実行ウィザード の IAM ポリシー例で指定されている必要なアクセス権限があることを確認します。

初回実行ウィザードは、Fargate タスクに必要なタスク実行 IAM ロールを自動的に作成しようとします。初回実行のエクスペリエンスがこの IAM ロールを作成できるようにするには、次のいずれかの条件を満たす必要があります。

ステップ 1: タスク定義を作成する

タスク定義はアプリケーションの設計図のようなものです。Amazon ECS でタスクを起動するたびに、タスク定義を指定します。サービスは、コンテナに使用する Docker イメージ、タスクで使用するコンテナの数、各コンテナのリソース割り当てを認識します。

  1. Amazon ECS コンソールの初回実行ウィザード (https://console.aws.amazon.com/ecs/home#/firstRun) を開きます。

  2. ナビゲーションバーから、[米国東部 (バージニア北部)] リージョンを選択します。

    注記

    この初回実行ウィザードは、Fargate を使用して Amazon ECS をサポートするすべてのリージョンでこれらの手順を使用して完了できます。詳細については、「AWS Fargate での Amazon ECS」を参照してください。

  3. コンテナ定義パラメータを設定します。

    [Container definition (コンテナの定義)] で、初回実行ウィザードがコンソールの sample-appnginx および tomcat-webserver のコンテナの定義とともに事前ロードされます。オプションで、コンテナの名前を変更するか、コンテナで使用されるリソース (CPU ユニットやメモリ制限) を確認して編集できます。そのためには、[Edit] を選択し、表示される値を編集します。詳細については、「コンテナ定義」を参照してください。

    注記

    コンテナの定義に Amazon ECR イメージを使用している場合、Amazon ECR イメージには完全な registry/repository:tag 名前付けを使用してください。たとえば、aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest と指定します。

  4. [Task definition (タスク定義)] で、初回実行ウィザードが、事前ロードされたコンテナの定義とともに使用するタスク定義を定義します。オプションで、タスク定義を変更し、タスクで使用されるリソース ([Task memory] や [Task CPU] の値) を編集できます。そのためには、[Edit] を選択し、表示される値を編集します。詳細については、「タスク定義パラメータ」を参照してください。

    初回実行ウィザードで作成されるタスク定義は、単純化のために単一コンテナに限定されています。後で Amazon ECS コンソールで複数コンテナタスク定義を作成できます。

  5. [] を選択します。

ステップ 2: サービスを設定する

ウィザードのこのセクションでは、タスク定義から作成された Amazon ECS サービスを設定する方法を選択します。サービスはクラスターのタスク定義のコピーを指定数分起動し、維持します。[Amazon ECS sample (Amazon ECS サンプル)] アプリケーションは、Web ベースの Hello World スタイルのアプリケーションで、無限に実行されます。これをサービスとして実行すると、タスクに異常があったり予期せずに停止した場合は再起動します。

初回実行ウィザードがサービス定義とともに事前ロードされ、コンソールに定義された sample-app-service サービスが表示されます。オプションで、サービスの名前を変更するか、詳細を確認して編集できます。そのためには、[Edit] を選択し、次の手順を実行します。

  1. [Service name] フィールドで、サービスの名前を選択します。

  2. [Number of desired tasks (必要なタスクの数)] フィールドに、指定したタスク定義で起動するタスクの数を入力します。

  3. [セキュリティグループ] フィールドで、許可するインバウンドトラフィックの IPv4 アドレスの範囲を、CIDR ブロック表記で指定します。たとえば、203.0.113.0/24 と指定します。

  4. (オプション) サービスで Application Load Balancer を使用するように選択できます。ロードバランサーを使用するように設定されたサービスからタスクを起動すると、タスクがロードバランサーに登録されます。ロードバランサーからのトラフィックがロードバランサー内のインスタンス間で分散されます。詳細については、「Application Load Balancer の概要」を参照してください。

    重要

    Application Load Balancer が AWS リソースに存在する間、コストが発生します。詳細については、「Application Load Balancer 料金表」を参照してください。

    次のステップを完了して、サービスでロードバランサーを使用します。

    1. [Container to load balance (負荷分散用のコンテナ)] セクションで、[Load balancer listener port (ロードバランサーリスナーポート)] を選択します。ここでのデフォルト値は、サンプルアプリケーション用にセットアップされていますが、ロードバランサー用に異なるリスナーオプションを設定できます。詳細については、「サービスロードバランシング」を参照してください。

  5. サービスの設定を確認し、[Save]、[Next] の順にクリックします。

ステップ 3: クラスターを設定する

ウィザードのこのセクションでは、クラスターに名前を付けます。それにより、Amazon ECS がネットワーキングおよび IAM 設定を自動的に行います。

  1. [Cluster name] フィールドで、クラスターの名前を選択します。

  2. [Next] をクリックして次に進みます。

ステップ 4: 確認

  1. タスク定義、タスク設定、およびクラスター設定を確認して、[作成] をクリックすると完了です。[作成ステータス] ページに進みます。このページでは、起動ステータスが示されます。プロセスの各ステップについて説明します (Auto Scaling グループの作成および入力が完了するまでには数分かかることがあります)。

  2. 起動が完了したら、[View service (サービスの表示)] を選択します。

ステップ 5: (オプション) サービスを表示する

サービスがウェブベースのアプリケーションがある場合 (Amazon ECS sample (Amazon ECS サンプル) アプリケーションなど)、ウェブブラウザでそのコンテナを表示できます。

  1. [Service: service-name] ページで、[Tasks] タブを選択します。

  2. サービスで、タスクの一覧からタスクを選択します。

  3. [Network] セクションで、タスクの [ENI Id] を選択します。Amazon EC2 コンソールに移動し、[IPv4 パブリック IP] アドレスを含む、タスクに関連付けられたネットワークインターフェイスの詳細を表示できます。

  4. ウェブブラウザに [IPv4 パブリック IP] アドレスを入力すると、[Amazon ECS sample (Amazon ECS サンプル)] アプリケーションを表示するウェブページが表示されます。