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

EC2 起動タイプを使用してタスクを実行する

EC2 起動タイプを使用してタスクを実行するには、次の手順を実行します。

  1. https://console.aws.amazon.com/ecs/ にある Amazon ECS コンソールを開きます。

  2. ナビゲーションペインで、[Task Definitions] を選択し、実行するタスク定義を選択します。

    • ここに表示されたタスク定義の最新のリビジョンを実行するには、実行するタスク定義の左側にあるチェックボックスを選択します。

    • ここに表示されたタスク定義の以前のリビジョンを実行するには、タスク定義を選択してすべてのアクティブなリビジョンを表示し、実行するリビジョンを選択します。

  3. [Actions]、[Run Task] を選択します。

  4. [起動タイプ] で、[EC2] を選択します。起動タイプの詳細については、「Amazon ECS 起動タイプ」を参照してください。

  5. [Cluster] で、使用するクラスターを選択します。[Number of tasks] に、このタスク定義で起動するタスクの数を入力します。[Task Group] に、タスクグループの名前を入力します。

  6. タスク定義で awsvpc ネットワークモードを使用している場合、以下のサブステップを実行します。それ以外の場合は、次の手順に進んでください。

    1. [Cluster VPC] では、コンテナインスタンスが存在する VPC を選択します。

    2. [Subnets] では、タスクで利用できるサブネットを選択します。

      重要

      awsvpc ネットワークモードではプライベートサブネットだけがサポートされます。タスクはパブリック IP アドレスを受け取らないため、アウトバウンドのインターネットアクセスには NAT ゲートウェイが必要です。またインバウンドのインターネットトラフィックは、ロードバランサーを経由させる必要があります。

    3. [Security groups] にタスク用のセキュリティグループが作成され、インターネットからの HTTP トラフィックが許可されるようになります。このセキュリティグループの名前やルールを編集する場合や、既存のセキュリティグループを選択する場合は、[Edit] を選択してセキュリティグループ設定に変更を加えます。

  7. (オプション) [Task Placement] で、タスク配置戦略と制約を使用してタスクをどのように配置するかを指定できます。次のオプションから選択します。

    • [AZ Balanced Spread] - アベイラビリティーゾーン間およびアベイラビリティーゾーン内のコンテナインスタンス間でタスクを分散します。

    • [AZ Balanced BinPack] - 利用可能な最小メモリでアベイラビリティーゾーン間およびコンテナインスタンス間でタスクを分散します。

    • [BinPack] - CPU またはメモリの最小利用可能量に基づいてタスクを配置します。

    • [One Task Per Instance] - 各コンテナインスタンスのサービスから最大 1 タスクを配置します。

    • [Custom] - 独自のタスク配置戦略を定義します。設定ドキュメントの例については、「Amazon ECS タスクの配置」を参照してください。

    詳細については、「Amazon ECS タスクの配置」を参照してください。

  8. (オプション) コマンド、環境変数、タスクの IAM ロール、またはタスクの実行ロールのオーバーライドをタスク定義の 1 つ以上のコンテナに送信するには、[Advanced Options (詳細オプション)] を選択して次のステップを実行します。

    注記

    タスク定義からパラメータ値を使用する場合は、オーバーライドを指定する必要はありません。これらのフィールドは、タスク定義で指定された値をオーバーライドするためにのみ使用されます。

    1. [タスクロールの上書き] で、このタスクがタスク定義で指定された IAM ロールをオーバーライドするための IAM ロールを選択します。詳細については、「タスク用の IAM ロール」を参照してください。

      ここには、[ecs-tasks.amazonaws.com] 信頼関係を持つロールのみが表示されます。タスク用の IAM ロールを作成する方法の詳細については、タスク用の IAM ロールとポリシーの作成 を参照してください。

    2. [Task Execution Role Override (タスク実行ロールの上書き)] で、タスク定義で指定されたタスク実行ロールをオーバーライドするためのタスク実行ロールを選択します。詳細については、「Amazon ECS タスク実行 IAM ロール」を参照してください。

    3. [Container Overrides] で、コマンドまたは環境変数のオーバーライドを送信するコンテナを選択します。

      • コマンドのオーバーライドの場合: [Command override] に、送信するコマンドオーバーライドを入力します。コンテナ定義で ENTRYPOINT が指定されていない場合は、引用符のない文字列のカンマ区切りリストである必要があります。例:

        /bin/sh,-c,echo,$DATE

        コンテナ定義で ENTRYPOINT が指定されている場合 (sh,-c など)、形式は引用符のない文字列である必要があります。これは二重引用符で囲まれ、引数として ENTRYPOINT コマンドに渡されます。例:

        while true; do echo $DATE > /var/www/html/index.html; sleep 1; done
      • 環境変数オーバーライドの場合: [Add Environment Variable] を選択します。[Key] に、環境変数の名前を入力します。[Value] に、環境値の文字列値を入力します (引用符で囲まない)。

        
                                        環境変数の上書き

        この環境変数の上書きはコンテナに次のように送信されます。

        MY_ENV_VAR="This variable contains a string."
  9. In the Task tagging configuration section, complete the following steps:

    1. Select Enable ECS managed tags if you want Amazon ECS to automatically tag each task with the Amazon ECS managed tags. For more information, see Tagging Your Amazon ECS Resources.

    2. For Propagate tags from, select one of the following:

      • Do not propagate – This option will not propagate any tags.

      • Task Definitions – This option will propagate the tags specified in the task definition to the task.

        注記

        If you specify a tag with the same key in the Tags section, it will override the tag propagated from the task definition.

  10. [Tags (タグ)] セクションで、タスクに関連付ける各タグのキーと値を指定します。詳細については、「Amazon ECS リソースにタグを付ける」を参照してください。

  11. タスク情報を確認し、[Run Task] を選択します。

    注記

    タスクが PENDING から STOPPED に移行した場合、または PENDING ステータスが表示された後、リストされているタスクから消えた場合、エラーで停止した可能性があります。詳細については、トラブルシューティングセクションの「停止されたタスクでのエラーの確認」を参照してください。