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

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

このトピックで説明しているように、AWS マネジメントコンソール を使用して Amazon ECS コンテナインスタンスを起動できます。開始する前に、必ず「Amazon ECS でのセットアップ」の手順を完了してください。インスタンスを起動したら、そのインスタンスを使用してタスクを実行できます。

コンテナインスタンスを起動するには

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

  2. ナビゲーションバーから、使用するリージョンを選択します。

  3. コンソールダッシュボードで、[Launch Instance] を選択します。

  4. [Choose an Amazon Machine Image (AMI) (Amazon マシンイメージ (AMI) の選択)] ページで、次のステップを完了します。

    1. [コミュニティ AMI] を選択します。

    2. コンテナインスタンスの AMI を選択します。Amazon ECS-optimized Amazon Linux 2 AMI または別のオペレーティングシステム (CoreOS や Ubuntu など) を選択できます。Amazon ECS に最適化された AMI を選択しない場合は、「Amazon ECS コンテナエージェントのインストール」の手順に従う必要があります。

      注記

      Amazon ECS 固有の CoreOS のインストール手順については、「AWS EC2 Container Service を使用して CoreOS コンテナ Linux を実行する」を参照してください。

      Amazon ECS-optimized Amazon Linux 2 AMI を使用するには、[Search community AMIs (コミュニティ AMI の検索)] フィールドに [amzn2-ami-ecs-hvm-2.0] と入力し、Enter キーを押します。[amzn2-ami-ecs-hvm-2.0.20190301-x86_64-ebs] AMI の横にある [選択] を選択します。

      参考までに、現在のリージョン別の Amazon ECS-optimized Amazon Linux 2 AMI ID を以下に示します。

      リージョン AMI ID
      us-east-2 ami-0aa9ee1fc70e57450
      us-east-1 ami-007571470797b8ffa
      us-west-2 ami-0302f3ec240b9d23c
      us-west-1 ami-0935a5e8655c6d896
      eu-west-2 ami-0380c676fcff67fd5
      eu-west-3 ami-0b419de35e061d9df
      eu-west-1 ami-0b8e62ddc09226d0a
      eu-central-1 ami-01b63d839941375df
      ap-northeast-2 ami-0c57dafd95a102862
      ap-northeast-1 ami-086ca990ae37efc1b
      ap-southeast-2 ami-0d28e5e0f13248294
      ap-southeast-1 ami-0627e2913cf6756ed
      ca-central-1 ami-0835b198c8a7aced4
      ap-south-1 ami-05de310b944d67cde
      sa-east-1 ami-09987452123fadc5b
      us-gov-west-1 ami-914229f0

      注記

      最新の Amazon ECS-optimized Amazon Linux 2 AMI ID は、AWS CLI で次のコマンドを使用して取得できます。

      aws ssm get-parameters --names recommended
  5. [Choose an Instance Type] ページで、インスタンスのハードウェア構成を選択できます。デフォルトでは、t2.micro インスタンスタイプが選択されます。選択したインスタンスタイプによって、タスクの実行に使用できるリソースが決まります。

    終了したら、[次の手順: インスタンスの詳細の設定] を選択します。

  6. [インスタンスの詳細の設定] ページで、以下のステップを完了します。

    1. クラスターに追加するコンテナインスタンスの数に応じて、[Number of instances] フィールドを設定します。

    2. (オプション) スポットインスタンスを使用するには、 [購入のオプション] で [スポットインスタンスのリクエスト] の横にあるチェックボックスをオンにします。また、スポットインスタンスに関連する他のフィールドも設定する必要があります。詳細については、「スポットインスタンスのリクエスト」を参照してください。

      注記

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

    3. [ネットワーク] で、コンテナインスタンスを起動する VPC を選択します。

    4. [Subnet] で、使用するサブネットを選択するか、アベイラビリティーゾーンであらかじめ選択されるデフォルトのサブネットを使用します。

    5. インスタンスをパブリックインターネットからアクセス可能にするかどうかに応じて、[自動割り当てパブリック IP] フィールドを設定します。インスタンスをインターネットからアクセス可能にする場合は、[自動割り当てパブリック IP] フィールドが [有効] に設定されていることを確認します。可能にしない場合には、このフィールドを [無効] に設定します。

      注記

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

    6. [IAM ロール] の値に「Amazon ECS でのセットアップ」でコンテナインスタンス用に作成した ecsInstanceRole を選択します。

      重要

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

    7. (オプション)「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 にコンテナインスタンスの構成を保存する」を参照してください。

        #!/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 ではリスト取得できません。

        #!/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 EC2 ユーザーデータを使用してコンテナインスタンスをブートストラップする」を参照してください。

    8. [次の手順: ストレージの追加] を選択します。

  7. [Add Storage] ページで、コンテナインスタンスのストレージを設定します。

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

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

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

    ボリュームの設定が完了したら、[Next: Add Tags] を選択します。

  8. [タグの追加] ページで、キーと値の組み合わせをコンテナインスタンスのタグとして指定します。コンテナインスタンスに複数のタグを追加するには、[別のタグを追加] を選択します。リソースタグの詳細については、「リソースとタグ」を参照してください。

    完了したら、[次の手順: セキュリティグループの設定] を選択します。

  9. [セキュリティグループの設定] ページで、セキュリティグループを使用してコンテナインスタンスのファイアウォールルールを定義します。このルールでは、どの着信ネットワークトラフィックをコンテナインスタンスに配信するかを指定します。他のトラフィックはすべて無視されます。以下のようにセキュリティグループを選択または作成して、[Review and Launch] を選択します。

  10. [Review Instance Launch] ページの [Security Groups] に、ウィザードで作成および選択したセキュリティグループが表示されます。代わりに、以下の手順を使用して、「Amazon ECS でのセットアップ」で作成したセキュリティグループを選択します。

    1. [Edit security groups] を選択します。

    2. [Configure Security Group] ページで、[Select an existing security group] オプションを選択します。

    3. 既存のセキュリティグループのリストからコンテナインスタンス用に作成したセキュリティグループを選択してから、[Review and Launch] を選択します。

  11. [Review Instance Launch] ページで、[Launch] を選択します。

  12. [Select an existing key pair or create a new key pair] ダイアログボックスで、[Choose an existing key pair] を選択し、セットアップ時に作成したキーペアを選択します。

    準備ができたら、確認フィールドを選択してから、[Launch Instances] を選択します。

  13. インスタンスを起動することを知らせる確認ページが表示されます。[View Instances] を選択して確認ページを閉じ、コンソールに戻ります。

  14. [Instances] 画面でインスタンスのステータスを表示できます。インスタンスはすぐに起動します。インスタンスを起動した直後のステータスは pending です。インスタンスを起動した後は、状態が running に変わり、パブリック DNS 名を受け取ります([Public DNS] 列が非表示になっている場合は、[Show/Hide] を選択して [Public DNS] を選択します)。