スタンドアロンタスクの実行 - Amazon Elastic Container Service

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

スタンドアロンタスクの実行

アプリケーションをスタンドアロンタスクとしてデプロイすることは、状況によっては理想的です。例えば、アプリケーションを開発しているが、このアプリケーションをサービススケジューラでデプロイする準備はできていないとします。このアプリケーションは 1 回限りまたは定期的なバッチジョブであり、実行させ続けたり、終了後に再起動したりする意味はないとします。

アプリケーションを継続的に実行するようにデプロイしたり、ロードバランサーの背後に配置したりするには、Amazon ECS サービスを作成します。詳細については、「Amazon ECS サービス」を参照してください。

スタンドアロンタスクを実行するには、次のいずれかの手順を使用します。

New console

新しいコンソールを使用してスタンドアロンタスクを実行するには

  1. Amazon ECS コンソール (https://console.aws.amazon.com/ec2/v2) を開きます。

  2. [Clusters] ページで、スタンドアロンタスクを実行するクラスターを選択します。

  3. [Tasks] タブで、[Run new task] を選択します。

  4. [Compute configuration] セクションを展開して、サービスが使用するコンピューティングオプションを変更できます。デフォルトでは、コンソールはコンピューティングオプションを選択するため、ほとんどの場合、次の手順に進むことができます。次に、コンソールがデフォルトを選択するときに使用する順序について説明します。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されている場合は、その戦略が選択されます。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されていないが、Fargate キャパシティープロバイダーをクラスターに追加している場合は、FARGATE キャパシティープロバイダーを使用するカスタムキャパシティープロバイダー戦略が選択されます。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されていないが、クラスターに 1 つ以上の Auto Scaling グループ キャパシティープロバイダーが追加されている場合は、[Use custom (Advanced)] オプションが選択され、戦略を手動で定義する必要があります。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されておらず、クラスターにキャパシティープロバイダーが追加されていない場合は、Fargate 起動タイプが選択されます。

  5. [Application type] で、[Task] を選択します。

  6. [Task definition] で、使用するタスク定義ファミリーとリビジョンを選択します。

    重要

    コンソールは検証を行い、選択したタスク定義ファミリーおよびリビジョンが、定義されたコンピューティング設定と互換性があることを確認します。

  7. [Desired tasks] で、クラスターで実行するタスクの数を指定します。

  8. タスクで必要な場合は、[Networking] セクションを展開して、Amazon VPC、サブネット、およびセキュリティグループの設定を定義できます。awsvpc ネットワークモードを使用するタスク定義には、ネットワーク設定が必要です。デフォルトでは、コンソールは、デフォルト Amazon VPC 内のすべてのサブネットおよびデフォルトセキュリティグループとともにデフォルトの Amazon VPC を選択します。アプリケーションで必要な場合は、必要に応じて新しいセキュリティグループを作成できます。

  9. (オプション) [Tags] セクションを展開して、キーと値のペアの形式でタグをサービスに追加できます。

  10. [デプロイ] を選択します。

Old console

古いコンソールを使用してスタンドアロンタスクを実行するには

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

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

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

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

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

  4. [タスクの実行] ページで、次の手順を実行します。

    1. キャパシティープロバイダー戦略または起動タイプを選択します。

      • キャパシティープロバイダー戦略を使用するには、[キャパシティープロバイダー戦略への切り替え] をクリックし、タスクでクラスターに定義されたデフォルトのキャパシティープロバイダー戦略を使用するか、カスタムのキャパシティープロバイダー戦略を使用するかを選択します。キャパシティープロバイダーをカスタムのキャパシティープロバイダー戦略で使用するには、すでにクラスターに関連付けられている必要があります。詳細については、「Amazon ECS キャパシティープロバイダー」を参照してください。

      • [起動タイプ] を使用するには、[起動タイプへの切り替え] をクリックして [EC2] を選択します。起動タイプの詳細については、「Amazon ECS 起動タイプ」を参照してください。

    2. [Cluster] で、使用するクラスターを選択します。

    3. [Number of tasks] に、このタスク定義で起動するタスクの数を入力します。

    4. [タスクグループ] に、タスクグループの名前を入力します。

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

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

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

      重要

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

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

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

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

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

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

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

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

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

  7. (オプション) コマンド、環境変数、タスクの 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."
  8. 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.

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

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

    注記

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