

# Amazon ECS Linux コンテナインスタンスの起動
<a name="launch_container_instance"></a>

Amazon EC2 コンソールを使用して Amazon ECS コンテナインスタンスを作成できます。

インスタンスは、Amazon EC2 コンソール、AWS CLI、SDK など、さまざまな方法で起動できます。インスタンスを起動する他の方法については、「*Amazon EC2 ユーザーガイド*」の「[インスタンスを起動する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)」を参照してください。

起動ウィザードの詳細については、「*Amazon EC2 ユーザーガイド*」の「[新しいインスタンス起動ウィザードを使用してインスタンスを起動する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)」を参照してください。

開始する前に、「[Amazon ECS を使用するようにセットアップする](get-set-up-for-amazon-ecs.md)」のステップを完了します。

新しい Amazon EC2 ウィザードを使用してインスタンスを起動できます。インスタンス起動ウィザードでは、インスタンスの起動に必要な起動パラメータを指定します。

**Topics**
+ [手順](#linux-liw-initiate-instance-launch)
+ [名前とタグ](#linux-liw-name-and-tags)
+ [アプリケーションと OS イメージ (Amazon マシンイメージ)](#linux-liw-ami)
+ [インスタンスタイプ](#linux-liw-instance-type)
+ [キーペア (ログイン)](#linux-liw-key-pair)
+ [ネットワーク設定](#linux-liw-network-settings)
+ [ストレージの設定](#linux-liw-storage)
+ [高度な詳細](#linux-liw-advanced-details)

## 手順
<a name="linux-liw-initiate-instance-launch"></a>

開始する前に、「[Amazon ECS を使用するようにセットアップする](get-set-up-for-amazon-ecs.md)」のステップを完了します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面の上のナビゲーションバーで、現在の AWS リージョンが表示されます (例: 米国東部 (オハイオ))。インスタンスを起動するリージョンを選択します。

1. Amazon EC2 コンソールダッシュボードで、[**インスタンスを起動**] を選択してください。

## 名前とタグ
<a name="linux-liw-name-and-tags"></a>

インスタンス名はタグで、キーは **[Name]** (名前)、値は指定した名前です。インスタンス、ボリューム、および伸縮自在なグラフィックスにタグ付けできます。スポットインスタンスの場合、スポットインスタンスリクエストにのみタグを付けることができます。

インスタンス名と追加のタグを指定することはオプションです。
+ **[Name]** (名前) に、インスタンスのわかりやすい名前を入力します。名前を指定しない場合は、インスタンスをその ID で識別できます。ID は、インスタンスの起動時に自動的に生成されます。
+ タグを追加するには、**[Add additional tag]** (追加のタグを追加) を選択します。**[Add tag]** (タグを追加) を選択し、キーと値を入力し、タグ付けするリソースタイプを選択します。追加するタグごとに **[Add tag]** (タグの追加) を選択します。

## アプリケーションと OS イメージ (Amazon マシンイメージ)
<a name="linux-liw-ami"></a>

Amazon マシンイメージ (AMI) には、インスタンスの作成に必要な情報が含まれています。例えば、ある AMI には、ウェブサーバーとして動作するために必要なソフトウェア (Apache やウェブサイトなど) が含まれています。

**[Search]** (検索) バーを使用して、AWS によって発行された適切な Amazon ECS 最適化 AMI を検索します。

1. **[Search]** (検索) バーに次のいずれかの用語を入力します。
   + **ami-ecs**
   + Amazon ECS 最適化 AMI の **[Value]** (値)。

     最新の Amazon ECS 最適化 AMI とその値については、「[Linux Amazon ECS に最適化された AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux)」を参照してください。

1. **[Enter]** キーを押します。

1. **[Choose an Amazon Machine Image (AMI)]** (Amazon マシンイメージ (AMI) を選択) ページで、**[AWS Marketplace AMIs]** タブを選択します。

1. 左側の **[結果を絞り込む]** ペインから、**[Amazon Web Services]** を **[パブリッシャー]** として選択します。

1. 使用する AMI の行で **[Select]** (選択) を選択します。

   または、**[Cancel]** (キャンセル) (右上) を選択することで、AMI を選択せずにインスタンス起動ウィザードに戻ります。デフォルトの AMI が選択されます。AMI が、「[Amazon ECS に最適化された Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)」で概説されている要件を満たしていることを確認します。

## インスタンスタイプ
<a name="linux-liw-instance-type"></a>

インスタンスタイプは、インスタンスのハードウェア設定とサイズを定義します。インスタンスタイプが大きくなると、CPU およびメモリも増えます。詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)」を参照してください。IPv6 のみのワークロードを実行する場合、一部のインスタンスタイプでは IPv6 アドレスがサポートされません。詳細については、Amazon EC2 ユーザーガイドの [IPv6 アドレス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ipv6-addressing)を参照してください。
+ **[Instance type]** (インスタンスタイプ) で、インスタンスのインスタンスタイプを選択します。

   選択したインスタンスタイプによって、タスクの実行に使用できるリソースが決まります。

## キーペア (ログイン)
<a name="linux-liw-key-pair"></a>

**[Key pair name]** (キーペア名) には、既存のキーペアを選択するか、**[Create new key pair]** (新しいキーペアを作成) を選択して新しいキーペアを作成します。

**重要**  
[**Proceed without key pair**] (キーペアなしで進む) オプションを選択した場合 (非推奨)、ユーザーが別の方法でログインすることを許可するように設定された AMI を選択した場合でなければ、インスタンスに接続できなくなります。

## ネットワーク設定
<a name="linux-liw-network-settings"></a>

フォームのネットワーク設定セクションの **[編集]** ボタンを選択した後、必要に応じて **[ネットワーク設定]** を構成します。
+ **[VPC]** で、DB インスタンスを起動する先の VPC を選択します。IPv6 のみのワークロードを実行するには、IPv4 と IPv6 CIDR ブロックの両方を含むデュアルスタック VPC を選択します。
+ **[サブネット]** で、インスタンスを起動するサブネットを選択します。インスタンスは、アベイラビリティーゾーン、ローカルゾーン、Wavelength Zone、Outpost のいずれかに関連付けられたサブネットで起動できます。

  アベイラビリティーゾーンでインスタンスを起動するには、インスタンスを起動するサブネットを選択します。新しいサブネットを作成するには、[**Create new subnet**] を選択して Amazon VPC コンソールに移動します。終了したらインスタンス起動ウィザードに戻り、[Refresh] (更新) アイコンを選択して一覧にサブネットを読み込みます。

  ローカルゾーンでインスタンスを起動するには、ローカルゾーン内に作成したサブネットを選択します。

  アウトポストでインスタンスを起動するには、アウトポストに関連付けられた VPC 内のサブネットを選択します。

  IPv6 のみのワークロードを実行するには、IPv6 CIDR ブロックのみを含むサブネットを選択します。
+ **[Auto-assign Public IP]** (パブリック IP の自動割り当て): インスタンスをインターネットからアクセス可能にする場合は、**[Auto-assign Public IP]** (パブリック IP の自動割り当て) フィールドが **[Enable]** (有効) に設定されていることを確認します。可能にしない場合には、このフィールドを [**無効**] に設定します。
**注記**  
コンテナインスタンスには、Amazon ECS サービスエンドポイントと通信するためのアクセスが必要です。これは、インターフェイス VPC エンドポイントを介して、またはパブリック IP アドレスを持つコンテナインスタンスを通じて可能になります。  
インターフェイス VPC エンドポイントについての詳細は、「[Amazon ECS とインターフェイス VPC エンドポイント (AWS PrivateLink)](vpc-endpoints.md)」を参照してください。  
インターフェイス VPC エンドポイントが設定されておらず、コンテナインスタンスがパブリック IP アドレスを持たない場合、ネットワークアドレス変換 (NAT) を使用してこのアクセスを提供する必要があります。詳細については、「*Amazon VPC ユーザーガイド*」の「[NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)」、およびこのガイドの「[Amazon ECS Linux コンテナインスタンスに HTTP プロキシを使用する](http_proxy_config.md)」を参照してください。
+ デュアルスタック VPC と IPv6 のみのサブネットを選択した場合、**[自動割り当て IPv6 IP]** で **[有効化]** を選択します。
+ **[Firewall (security groups)]** (ファイアウォール (セキュリティグループ)): セキュリティグループを使用して、コンテナインスタンスのファイアウォールルールを定義します。このルールでは、どの着信ネットワークトラフィックをコンテナインスタンスに配信するかを指定します。他のトラフィックはすべて無視されます。
  + 既存のセキュリティグループを選択するには、**[Select existing security group]** (既存のセキュリティグループを選択) を選択し、[Amazon ECS を使用するようにセットアップする](get-set-up-for-amazon-ecs.md) で作成したセキュリティグループを選択します。
+ IPv6 のみのワークロードのインスタンスを起動する場合は、**[高度なネットワーク設定]** を選択し、**[プライマリ IPv6 IP の割り当て]** に **[はい]** を選択します。
**注記**  
プライマリ IPv6 アドレスがない場合、ホストまたはブリッジネットワークモードのコンテナインスタンスで実行されているタスクは、ロードバランサーまたは AWS Cloud Map に登録されません。

## ストレージの設定
<a name="linux-liw-storage"></a>

選択した AMI には、ルートボリュームを含む、1 つまたは複数のストレージボリュームが含まれます。インスタンスにアタッチする追加のボリュームを指定できます。

**[Simple]** (シンプル) ビューを使用できます。
+ **[Storage type]** (ストレージタイプ): コンテナインスタンスのストレージを設定します。

  Amazon ECS に最適化された Amazon Linux 2 AMI を使用している場合、1 つの 30 GiB ボリュームがインスタンスに設定されます。これは、オペレーティングシステムと Docker の間で共有されます。

  Amazon ECS に最適化された AMI を使用している場合、インスタンスには 2 つのボリュームが設定されます。[**Root**] ボリュームはオペレーティングシステム用で、2 番目の Amazon EBS ボリューム (`/dev/xvdcz` にアタッチ) は Docker 用です。

  オプションで、アプリケーションのニーズに合わせてインスタンスのボリュームサイズを増減できます。

## 高度な詳細
<a name="linux-liw-advanced-details"></a>

[**Advanced details**] で、セクションを開いてフィールドを表示し、インスタンスの追加パラメータを指定します。
+ **[Purchasing option]** (購入のオプション): **[Request Spot Instances]** (スポットインスタンスのリクエスト) を選択して、スポットインスタンスをリクエストします。また、スポットインスタンスに関連する他のフィールドも設定する必要があります。詳細については、「[スポットインスタンスのリクエスト](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)」を参照してください。
**注記**  
スポットインスタンスを使用していて、"`Not available`" メッセージが表示される場合は、別のインスタンスタイプを選択する必要があります。
+ **[IAM instance profile]** (IAM インスタンスプロフィール): コンテナインスタンス IAM ロールを選択します。通常、これは `ecsInstanceRole` という名前です。
**重要**  
適切な IAM アクセス許可を使用してコンテナインスタンスを起動しないと、Amazon ECS エージェントはクラスターに接続できません。詳細については、「[Amazon ECS コンテナインスタンスの IAM ロール](instance_IAM_role.md)」を参照してください。
+ **[ユーザーデータ]**: [Amazon ECS コンテナエージェントの設定](ecs-agent-config.md)からのエージェント環境変数のようなユーザーデータを使用して、Amazon ECS コンテナインスタンスを設定します。Amazon EC2 ユーザーデータスクリプトはインスタンスの初回起動時に 1 回のみ実行されます。以下に、ユーザーデータを使用する目的の一般的な例を紹介します。
  + デフォルトでは、コンテナインスタンスはデフォルトのクラスターで起動されます。デフォルト以外のクラスターで起動するには、**[Advanced Details]** (高度な詳細) リストを選択します。次に、[**User data**] フィールドに以下のスクリプトを貼り付け、*your\$1cluster\$1name* を使用するクラスターの名前に置き換えます。

    ```
    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    ```
  + Amazon S3 に `ecs.config` ファイルがあり、コンテナインスタンスロールへの Amazon S3 読み取り専用アクセスを有効にしている場合は、[**高度な詳細**] リストを選択します。次に、[**User data (ユーザーデータ)**] フィールドに以下のスクリプトを貼り付け、*your\$1bucket\$1name* を、AWS CLI をインストールして起動時に設定ファイルを書き込むバケットに置き換えます。
**注記**  
この設定の詳細については、「[Amazon S3 に Amazon ECS コンテナインスタンスの設定を保存する](ecs-config-s3.md)」を参照してください。

    ```
    #!/bin/bash
    yum install -y aws-cli
    aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    ```
  + `ECS_CONTAINER_INSTANCE_TAGS` 設定パラメータを使用して、コンテナインスタンスのタグを指定します。これにより Amazon ECS にのみ関連付けられているタグが作成され、そのタグは Amazon EC2 API ではリスト取得できません。
**重要**  
Amazon EC2 Auto Scaling グループを使用してコンテナインスタンスを起動する場合は、ECS\$1CONTAINER\$1INSTANCE\$1TAGS エージェント設定パラメータを使用してタグを追加する必要があります。これは、Auto Scaling グループを使用して起動される Amazon EC2 インスタンスにタグを追加する方法によるものです。

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
    EOF
    ```
  + コンテナインスタンスのタグを指定してから、`ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM` 設定パラメータを使用してそれらを Amazon EC2 から Amazon ECS に伝播します。

    次に、コンテナインスタンスに関連付けられたタグを伝達し、さらに `your_cluster_name` という名前のクラスターでコンテナインスタンスを登録するユーザーデータスクリプトの例を示します。

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance
    EOF
    ```
  + デフォルトでは、Amazon ECS コンテナエージェントは、インスタンスのデフォルト IPv4 および IPv6 ルートを確認することで、そのコンテナインスタンスが IPv6-only 設定に対応しているかどうかを検出します。この動作を上書きするには、インスタンスの `/etc/ecs/ecs.config` ファイルで ` ECS_INSTANCE_IP_COMPATIBILITY` パラメータを `ipv4` または `ipv6` に設定してください。

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_INSTANCE_IP_COMPATIBILITY=ipv6
    EOF
    ```

  詳細については、「[Amazon ECS Linux コンテナインスタンスをブートストラップしてデータを渡す](bootstrap_container_instance.md)」を参照してください。