Amazon ECS Linux コンテナインスタンスの起動 - Amazon Elastic Container Service

Amazon ECS Linux コンテナインスタンスの起動

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

インスタンスは、Amazon EC2 コンソール、AWS CLI、SDK など、さまざまな方法で起動できます。インスタンスを起動する他の方法については、「Amazon EC2 ユーザーガイド」の「Launch your instance」を参照してください。

起動ウィザードの詳細については、「Amazon EC2 ユーザーガイド」の「新しいインスタンス起動ウィザードを使用してインスタンスを起動する」を参照してください。

開始する前に、「Amazon ECS を使用するようにセットアップする」のステップを完了します。

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

手順

開始する前に、「Amazon ECS を使用するようにセットアップする」のステップを完了します。

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

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

  3. Amazon EC2 コンソールダッシュボードで、[インスタンスを起動] を選択します。

名前とタグ

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

インスタンス名と追加のタグを指定することはオプションです。

  • [Name] (名前) に、インスタンスのわかりやすい名前を入力します。名前を指定しない場合は、インスタンスをその ID で識別できます。ID は、インスタンスの起動時に自動的に生成されます。

  • タグを追加するには、[Add additional tag] (追加のタグを追加) を選択します。[Add tag] (タグを追加) を選択し、キーと値を入力し、タグ付けするリソースタイプを選択します。追加するタグごとに [Add tag] (タグの追加) を選択します。

アプリケーションと OS イメージ (Amazon マシンイメージ)

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

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

  1. [Search] (検索) バーに次のいずれかの用語を入力します。

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

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

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

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

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

インスタンスタイプ

インスタンスタイプは、インスタンスのハードウェア設定とサイズを定義します。インスタンスタイプが大きくなると、CPU およびメモリも増えます。詳細については、インスタンスタイプを参照してください。

  • [Instance type] (インスタンスタイプ) で、インスタンスのインスタンスタイプを選択します。

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

キーペア (ログイン)

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

重要

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

ネットワーク設定

必要に応じて、ネットワーク設定を設定します。

  • [Networking platform] (ネットワーキングプラットフォーム): [Virtual Private Cloud (VPC)] を選択して、[Network interfaces] (ネットワークインターフェイス) セクションでサブネットを指定します。

  • [VPC]: セキュリティグループを作成する既存の VPC を選択します。

  • [サブネット]: インスタンスは、アベイラビリティーゾーン、ローカルゾーン、Wavelength Zone、Outpost のいずれかに関連付けられたサブネットで起動できます。

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

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

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

  • [Auto-assign Public IP] (パブリック IP の自動割り当て): インスタンスをインターネットからアクセス可能にする場合は、[Auto-assign Public IP] (パブリック IP の自動割り当て) フィールドが [Enable] (有効) に設定されていることを確認します。可能にしない場合には、このフィールドを [無効] に設定します。

    注記

    コンテナインスタンスには、Amazon ECS サービスエンドポイントと通信するためのアクセスが必要です。これは、インターフェイス VPC エンドポイントを介して、またはパブリック IP アドレスを持つコンテナインスタンスを通じて可能になります。

    インターフェイス VPC エンドポイントについての詳細は、「Amazon ECS とインターフェイス VPC エンドポイント (AWS PrivateLink)」を参照してください。

    インターフェイス VPC エンドポイントが設定されておらず、コンテナインスタンスがパブリック IP アドレスを持たない場合、ネットワークアドレス変換 (NAT) を使用してこのアクセスを提供する必要があります。詳細については、「Amazon VPC ユーザーガイド」の「NAT ゲートウェイ」、およびこのガイドの「Amazon ECS Linux コンテナインスタンスに HTTP プロキシを使用する」を参照してください。

  • [Firewall (security groups)] (ファイアウォール (セキュリティグループ)): セキュリティグループを使用して、コンテナインスタンスのファイアウォールルールを定義します。このルールでは、どの着信ネットワークトラフィックをコンテナインスタンスに配信するかを指定します。他のトラフィックはすべて無視されます。

ストレージの設定

選択した 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 用です。

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

高度な詳細

[Advanced details] で、セクションを開いてフィールドを表示し、インスタンスの追加パラメータを指定します。

  • [Purchasing option] (購入のオプション): [Request Spot Instances] (スポットインスタンスのリクエスト) を選択して、スポットインスタンスをリクエストします。また、スポットインスタンスに関連する他のフィールドも設定する必要があります。詳細については、「スポットインスタンスのリクエスト」を参照してください。

    注記

    スポットインスタンスを使用していて、"Not available" メッセージが表示される場合は、別のインスタンスタイプを選択する必要があります。

    .

  • [IAM instance profile] (IAM インスタンスプロフィール): コンテナインスタンス IAM ロールを選択します。通常、これは ecsInstanceRole という名前です。

    重要

    適切な IAM アクセス許可を使用してコンテナインスタンスを起動しないと、Amazon ECS エージェントはクラスターに接続できません。詳細については、「Amazon ECS コンテナインスタンスの IAM ロール」を参照してください。

  • [ユーザーデータ]: Amazon ECS コンテナエージェントの設定からのエージェント環境変数のようなユーザーデータを使用して、Amazon ECS コンテナインスタンスを設定します。Amazon EC2 ユーザーデータスクリプトはインスタンスの初回起動時に 1 回のみ実行されます。以下に、ユーザーデータを使用する目的の一般的な例を紹介します。

    • デフォルトでは、コンテナインスタンスはデフォルトのクラスターで起動されます。デフォルト以外のクラスターで起動するには、[Advanced Details] (高度な詳細) リストを選択します。次に、[User data] フィールドに以下のスクリプトを貼り付け、your_cluster_name を使用するクラスターの名前に置き換えます。

      #!/bin/bash echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    • Amazon S3 に ecs.config ファイルがあり、コンテナインスタンスロールへの Amazon S3 読み取り専用アクセスを有効にしている場合は、[高度な詳細] リストを選択します。次に、[User data (ユーザーデータ)] フィールドに以下のスクリプトを貼り付け、your_bucket_name を、AWS CLI をインストールして起動時に設定ファイルを書き込むバケットに置き換えます。

      注記

      この設定の詳細については、「Amazon S3 に Amazon ECS コンテナインスタンスの設定を保存する」を参照してください。

      #!/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_CONTAINER_INSTANCE_TAGS エージェント設定パラメータを使用してタグを追加する必要があります。これは、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 Linux コンテナインスタンスをブートストラップしてデータを渡す」を参照してください。