

# Amazon ECS タスクとしてのアプリケーションの実行
<a name="standalone-task-create"></a>

1 回限りのプロセス用のタスクは AWS マネジメントコンソール を使用して作成できます。

**スタンドアロンタスクを作成するには (AWS マネジメントコンソール)**

1. コンソールを[https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)で開きます。

1. Amazon ECS コンソールでは、クラスターの詳細ページまたはタスク定義リビジョンリストからスタンドアロンタスクを作成できます。選択したリソースページに応じて、次の手順を使用してスタンドアロンタスクを作成します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/standalone-task-create.html)

1. **[既存のクラスター]** で、クラスターを選択します。

   **[クラスターの作成]** を選択して、新しいクラスターでタスクを実行します。

1. クラスターのインフラストラクチャ全体にタスクを分散する方法を選択します。[**コンピューティング設定**] で、オプションを選択します。キャパシティプロバイダー戦略を使用するには、キャパシティプロバイダーをクラスターレベルで設定する必要があります。

   キャパシティプロバイダーを使用するようにクラスターを構成していない場合は、代わりに起動タイプを使用してください。

   Amazon ECS マネージドインスタンスでワークロードを実行する場合は、キャパシティプロバイダーの戦略オプションを使用する必要があります。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/standalone-task-create.html)

1. **[デプロイメント設定]** で、次の操作を行います。

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

   1. **[Desired tasks]** (必要なタスク) で、起動するタスクの数を入力します。

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

1. タスク定義で `awsvpc` ネットワークモードを使用している場合、**[Networking]** (ネットワーク) を展開します。カスタム設定を指定するには、次のステップを実行します。

   1. **VPC** の場合、使用する VPC を選択します。

   1. **[Subnets]** (サブネット) で、タスクスケジューラがタスクを配置するときに考慮する VPC 内のサブネットを 1 つ以上選択します。

   1. **[セキュリティグループ]** で、既存のセキュリティグループを選択することも、新しいセキュリティグループを作成することもできます。既存のセキュリティグループを使用するには、セキュリティグループを選択し、次のステップに進みます。新しいセキュリティグループを作成するには、[**Create a new security group (新しいセキュリティグループの作成)**] を選択します。セキュリティグループの名前、説明を指定してから、セキュリティグループのインバウンドルールを 1 つ以上追加する必要があります。

   1. **[Public IP]** (パブリック IP) では、タスクの Elastic Network Interface (ENI) にパブリック IP アドレスを自動的に割り当てるかどうかを選択します。

      AWS Fargate タスクをパブリックサブネットで実行するときに、そのタスクにパブリック IP アドレスを割り当てて、インターネットへのルートを持つようにすることができます。このフィールドを使用して EC2 タスクにパブリック IP を割り当てることはできません。詳細については、「[Fargate の Amazon ECS タスクのネットワーキングオプション](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-networking.html)」および「[Amazon ECS タスクにネットワークインターフェイスを割り当てる](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking-awsvpc.html)」を参照してください。

1. デプロイ時の設定と互換性のあるデータボリュームをタスクで使用する場合は、**[ボリューム]** を拡張してボリュームを設定できます。

   ボリューム名とボリュームタイプはタスク定義リビジョンの作成時に設定され、スタンドアロンタスクの実行時には変更できません。ボリューム名とタイプを更新するには、新しいタスク定義リビジョンを作成し、その新しいリビジョンを使用してタスクを実行する必要があります。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/standalone-task-create.html)

1. (オプション) デフォルト以外のタスク配置戦略を使用するには、**[Task Placement]** (タスクの配置) を展開し、以下のオプションから選択します。

    詳細については、「[Amazon ECS がタスクをコンテナインスタンスに配置する方法](task-placement.md)」を参照してください。
   + **[AZ バランススプレッド]** - アベイラビリティーゾーン間およびアベイラビリティーゾーン内のコンテナインスタンス間でタスクを分散します。
   + **[AZ Balanced BinPack]** - 利用可能な最小メモリでアベイラビリティーゾーン間およびコンテナインスタンス間でタスクを分散します。
   + **[ビンパック]** - CPU またはメモリの最小利用可能量に基づいてタスクを配置します。
   + **[ホストごとに 1 つのタスク]** - 各コンテナインスタンスのサービスから最大 1 タスクを配置します。
   + **[カスタム]** - 独自のタスク配置戦略を定義します。

   **[Custom]** (カスタム) を選択した場合、タスクを配置するアルゴリズムと、タスク配置時に考慮されるルールを定義します。
   + **[Strategy]** (方針) にとって **[Type]** (タイプ) そして **[Field]** (フィールド) で、アルゴリズムとアルゴリズムに使用するエンティティを選択します。

     最大 5 個の戦略を入力できます。
   + **[制約]** の **[タイプ]** および **[式]** で、制約のルールと属性を選択します。

     例えば、T2 インスタンスにタスクを配置する制約を設定するには、**[Expression]** (表現) で、**[attribute:ecs.instance-type =\$1 t2.\$1]** と入力します。

     最大 10 個の制約を入力できます。

1. (オプション) タスク IAM ロール、またはタスク定義で定義されているタスク実行ロールをオーバーライドするには、**[Task overrides]** (タスクのの上書き) を展開し、以下のステップを実行します。

   1. **[タスクロール]** で、このタスクの IAM ロールを選択します。詳細については、「[Amazon ECS タスクの IAM ロール](task-iam-roles.md)」を参照してください。

      `ecs-tasks.amazonaws.com`信頼関係を持つロールのみが表示されます。タスクの IAM ロールを作成する方法については、「[タスクの IAM ロールを作成する](task-iam-roles.md#create_task_iam_policy_and_role)」を参照してください。

   1. **[タスク実行ロール]** で、タスク実行ロールを選択します。詳細については、「[Amazon ECS タスク実行IAM ロール](task_execution_IAM_role.md)」を参照してください。

1. (オプション) コンテナコマンドと環境変数をオーバーライドするには、**[Container Overrides]** (コンテナの上書き) を展開し、コンテナを展開します。
   +  タスク定義コマンド以外のコンテナにコマンドを送信するには、**[コマンドの上書き]** で Docker コマンドを入力します。
   + **[Add Environment Variable]** (環境変数の追加) で、環境変数を追加します。**Key**に、環境変数の名前を入力します。**Value**(値) で、(文字列を囲む二重引用符 (`" "`) なしで) 環境値の文字列値を入力します。

     AWS は文字列を二重引用符 (" ") で囲み、次の形式で文字列をコンテナに渡します。

     ```
     MY_ENV_VAR="This variable contains a string."
     ```

1. (オプション) タスクを識別しやすくするには、**[Tags]** (タグ) セクションを展開し、タグを設定します。

   Amazon ECS で、新しく起動されたすべてのタスクに、クラスター名とタスク定義のタグで自動でタグ付けするには、**[Turn on Amazon ECS managed tags]** (Amazon ECS で管理されたタグを有効にする) を選択し、**[Task definition]** (タスク定義) を選択します。

   タグを追加または削除します。
   + [タグを追加] **[Add tag]** (タグを追加) を選択し、以下を実行します。
     + [**キー**] にはキー名を入力します。
     + [**値**] にキー値を入力します。
   + [タグの削除] タグの横にある [**タグの削除**] を選択します。

1. **[作成]** を選択します。