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

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

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

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

重要

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

ステップ 1: コンテナとタスク定義を作成する

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

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

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

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

    [Container definition] で、初回実行ウィザードがコンソールの sample-app および nginx のコンテナの定義とともに事前ロードされます。オプションで、コンテナの名前を変更するか、コンテナで使用されるリソース (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. [Next ] を選択して続行します。

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

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

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

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

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

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

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

    重要

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

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

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

    2. [Application Load Balancer target group] フィールドで、ターゲットグループの名前を指定します。

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

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

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

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

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

ステップ 4: 確認

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

  2. 起動が完了すると、[View service] を選択して Amazon ECS コンソールにサービスを表示できます。

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

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

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

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

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

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