メニュー
Amazon EC2 Container Service
開発者ガイド (API Version 2014-11-13)

Amazon ECS でのセットアップ

すでにアマゾン ウェブ サービス (AWS) にサインアップしていて、Amazon Elastic Compute Cloud (Amazon EC2) を使用している場合は、すぐに Amazon ECS を使用し始めることができます。Amazon ECS ではクラスターで EC2 インスタンスを使用するため、これらの 2 つのサービスのセットアッププロセスは非常に似ています。以下のガイドでは、Amazon ECS 初回実行ウィザードまたは Amazon ECS コマンドラインインターフェイス (CLI) を使用して、最初のクラスターを起動する準備をします。

注記

Amazon ECS では Amazon EC2 の多くのコンポーネントを使用するため、これらの手順の多くで Amazon EC2 コンソールを使用します。

Amazon ECS のセットアップを行うには、以下のタスクを完了します。これらのいずれかの手順をすでに完了している場合、それらをスキップして、カスタム AWS CLI のインストールに進むことができます。

AWS にサインアップする

AWS にサインアップすると、Amazon EC2、Amazon ECS などすべてのサービスに対して AWS アカウントが自動的にサインアップされます。料金が発生するのは、実際に使用したサービスの分のみです。

既に AWS アカウントをお持ちの場合は次のタスクに進んでください。AWS アカウントをお持ちでない場合は、次に説明する手順にしたがってアカウントを作成してください。

AWS アカウントを作成するには

  1. https://aws.amazon.com/ を開き、[AWS アカウントの作成] を選択します。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて PIN を入力することが求められます。

次のタスクで AWS アカウント番号が必要となるので、メモしておいてください。

IAM ユーザーを作成する

AWS のサービス (Amazon EC2、Amazon ECS など) では、サービスへのアクセス時に認証情報をサービスに渡す必要があります。それにより、サービスのリソースへのアクセスを許可されているかどうかがサービスによって判定されます。コンソールを使用するにはパスワードが必要です。AWS アカウントのアクセスキーを作成して、コマンドラインインターフェイスまたは API にアクセスすることができます。ただし、AWS アカウントの認証情報を使って AWS にアクセスすることはお勧めしません。代わりに AWS Identity and Access Management (IAM) を使用することをお勧めします。IAM ユーザーを作成して、管理権限を使ってこのユーザーを IAM グループに追加するか、管理権限を付与します。これで、特殊な URL と IAM ユーザーの認証情報を使って、AWS にアクセスできます。

AWS にサインアップしても、ご自分の IAM ユーザーをまだ作成していない場合は、IAM コンソールを使用して作成できます。

自分用の IAM ユーザーを作成し、そのユーザーを管理者グループに追加するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) にサインインします。

  2. ナビゲーションペインで [Users]、[Add user] の順に選択します。

  3. [User name] で、ユーザー名 (Administrator など) を入力します。名前には、英数字のほかに、プラス記号 (+)、等号 (=)、カンマ (,)、ピリオド (.)、アットマーク (@)、下線 (_)、ハイフン (-) を使用できます。名前は、大文字と小文字が区別されず、最大 64 文字で構成できます。

  4. [AWS マネジメントコンソール access] の横のチェックボックスをオンにし、[Custom password] を選択して、新しいユーザーのパスワードをテキストボックスに入力します。オプションとして [Require password reset] を選択し、ユーザーが次回サインインしたときに新しいパスワードを選択することを強制できます。

  5. [Next: Permissions] を選択します。

  6. [Set permissions for user] ページで、[Add user to group] を選択します。

  7. [Create group] を選択します。

  8. [Create group] ダイアログボックスで、新しいグループの名前を入力します。名前には、英数字のほかに、プラス記号 (+)、等号 (=)、カンマ (,)、ピリオド (.)、アットマーク (@)、下線 (_)、ハイフン (-) を使用できます。名前は、大文字と小文字が区別されず、最大 128 文字で構成できます。

  9. [Filter] で、[Job function] を選択します。

  10. ポリシーリストで、[AdministratorAccess] のチェックボックスをオンにします。次に、[Create group] を選択します。

  11. グループのリストに戻り、新しいグループのチェックボックスをオンにします。必要に応じて [Refresh] を選択し、リスト内のグループを表示します。

  12. [Next: Review] を選択して、新しいユーザーに追加するグループメンバーシップのリストを表示します。続行する準備ができたら、[Create user] を選択します。

この同じプロセスを繰り返して新しいグループとユーザーを作成し、AWS アカウントのリソースへのアクセス権をユーザーに付与できます。ポリシーを使用して特定の AWS リソースに対するユーザーのアクセス権限を制限する方法については、「アクセス管理」と「AWS リソースの管理に関するポリシーの例」を参照してください。

新規の IAM ユーザーとしてサインインするには、AWS コンソールからサインアウトし、次の URL を使用します。このとき、your_aws_account_id はハイフンを除いた AWS アカウント番号です (たとえば AWS アカウント番号が 1234-5678-9012 であれば、AWS アカウント ID は 123456789012 となります)。

Copy
https://your_aws_account_id.signin.aws.amazon.com/console/

作成した IAM ユーザー名とパスワードを入力します。サインインすると、ナビゲーションバーに「your_user_name @ your_aws_account_id」が表示されます。

サインページの URL に AWS アカウント ID を含めない場合は、アカウントのエイリアスを作成します。IAM ダッシュボードから [Create Account Alias] を選択し、エイリアス (会社名など) を入力します。アカウントエイリアスを作成した後、サインインするには、次の URL を使用します。

Copy
https://your_account_alias.signin.aws.amazon.com/console/

アカウントの IAM ユーザーのサインインリンクを確認するには、IAM コンソールを開き、ダッシュボードの [IAM users sign-in link] の下を確認します。

IAM の詳細については、AWS Identity and Access Management ユーザーガイド を参照してください。

コンテナインスタンスとサービスに対する IAM ロールを作成する

Amazon ECS エージェントがコンテナインスタンスをクラスターに登録するには、使用するアカウント認証情報を認識している必要があります。IAM ロールを作成して、コンテナインスタンスを登録するアカウントをエージェントが認識するようにできます。このロールを使用して、Amazon によって提供された Amazon ECS に最適化された AMI でインスタンスを起動すると、エージェントはコンテナインスタンスをデフォルトのクラスターに自動的に登録します。

また、Amazon ECS コンテナエージェントは Amazon EC2 および Elastic Load Balancing API を呼び出すため、コンテナインスタンスをロードバランサーに対して登録および登録解除できます。Amazon ECS サービスにロードバランサーをアタッチするには、それらのサービスの開始前に、使用する IAM ロールを作成する必要があります。この要件は、ロードバランサーで使用する予定のいずれの Amazon ECS サービスにも適用されます。

注記

Amazon ECS インスタンスとサービスのロールは、コンソールの初回実行時に自動的に作成されるため、Amazon ECS コンソールを使用する予定の場合は、次のセクションに進むことができます。Amazon ECS コンソールを使用せず、代わりに AWS CLI を使用する予定の場合は、コンテナインスタンスを起動する前か、サービスで Elastic Load Balancing ロードバランサーを使用する前に、「Amazon ECS コンテナインスタンスの IAM ロール」と「Amazon ECS サービススケジューラ IAM ロール」の手順を完了します。

キーペアの作成

AWS では公開キー暗号化を使用して、お客様のインスタンスのログイン情報の安全性を保護します。Amazon ECS コンテナインスタンスなどの Linux インスタンスには、SSH アクセスに使用するパスワードはありません。キーペアを使用してインスタンスに安全にログインします。コンテナインスタンスを起動するときにキーペアの名前を指定し、プライベートキーを指定して、SSH でログインします。

キーペアをまだ作成していない場合は、Amazon EC2 コンソールを使用して作成できます。複数のリージョンでインスタンスを起動する予定がある場合は、各リージョンでキーペアを作成する必要があります。リージョンの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「リージョンとアベイラビリティーゾーン」を参照してください。

キーペアを作成するには

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

  2. ナビゲーションバーで、キーペアを生成するリージョンを選択します。使用可能なリージョンは場所に関係なく選択できますが、キーペアはリージョンに固有のものです。たとえば、米国東部 (オハイオ) リージョンでインスタンスを起動する予定の場合は、その同じリージョン内のインスタンス用にキーペアを作成する必要があります。

    注記

    Amazon ECS は以下のリージョンで利用できます。

    リージョン名 サービス対象
    米国東部(バージニア北部) us-east-1
    米国東部 (オハイオ) us-east-2
    米国西部 (北カリフォルニア) us-west-1
    米国西部 (オレゴン) us-west-2
    欧州 (アイルランド) eu-west-1
    欧州 (ロンドン) eu-west-2
    欧州 (フランクフルト) eu-central-1
    アジアパシフィック (東京) ap-northeast-1
    アジアパシフィック (シンガポール) ap-southeast-1
    アジアパシフィック (シドニー) ap-southeast-2
    カナダ (中部) ca-central-1
  3. ナビゲーションペインで、[Key Pairs] を選択します。

  4. [Create Key Pair] を選択します。

  5. [Create Key Pair] ダイアログボックスの [Key pair name] フィールドに新しいキーペアの名前を入力し、[Create] を選択します。覚えやすい名前 (IAM ユーザー名など) を選択し、その後に -key-pair を続け、さらにリージョン名を続けます。たとえば、me-key-pair-useast2 とします。

  6. ブラウザによって秘密キーファイルが自動的にダウンロードされます。ベースファイル名はキーペアの名前として指定した名前となり、ファイル名の拡張子は .pem となります。プライベートキーファイルを安全な場所に保存します。

    重要

    これは、プライベートキーを保存する唯一のチャンスです。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、キーペアの名前を入力する必要があります。

  7. Mac または Linux コンピュータの SSH クライアントを使用して Linux インスタンスに接続する場合は、次のコマンドを使用してプライベートキーファイルの権限を設定すると、お客様以外のユーザーはそれを読み取ることができないようになります。

    Copy
    $ chmod 400 your_user_name-key-pair-region_name.pem

詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 Key Pairs」を参照してください。

キーペアを使用してインスタンスに接続するには

Mac または Linux を実行しているコンピュータから Linux インスタンスに接続するには、-i オプションとプライベートキーへのパスを指定して、SSH クライアントに対する .pem ファイルを指定します。Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用する予定がある場合は、それをインストールしてから、次のプロシージャを使用して .pem ファイルを .ppk ファイルに変換します。

(オプション) PuTTY を使用して Windows から Linux インスタンスに接続するには

  1. http://www.chiark.greenend.org.uk/~sgtatham/putty/ から PuTTY をダウンロードしてインストールします。必ずスイート全体をインストールします。

  2. PuTTYgen を開始します ([Start] メニューで [All Programs]、[PuTTY]、[PuTTYgen] の順に選択するなど)。

  3. [Type of key to generate] で、[SSH-2 RSA] を選択します。

  4. [Load] を選択します。デフォルトでは、PuTTYgen には拡張子 .ppk を持つファイルだけが表示されます。.pem ファイルの場所を特定するには、すべてのタイプのファイルを表示するオプションを選択します。

  5. 前の手順で作成したプライベートキーファイルを選択してから、[Open] を選択します。[OK] を選択して、確認ダイアログボックスを閉じます。

  6. [Save private key] を選択します。PuTTYgen に、パスフレーズなしでキーを保存することに関する警告が表示されます。[Yes] を選択します。

  7. キーペアに使用した名前と同じ名前をキーに指定します。PuTTY は自動的にファイル拡張子 .ppk を加えます。

Virtual Private Cloud の作成

Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。コンテナインスタンスは、VPC で起動することを強くお勧めします。

注記

Amazon ECS コンソールの初回実行時に、クラスター用の VPC が作成されるため、Amazon ECS コンソールを使用する予定の場合は、次のセクションに進むことができます。

デフォルトの VPC がある場合は、このセクションもスキップして、次のタスク「セキュリティグループの作成」に移動できます。デフォルトの VPC があるかどうかを判断するには、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 コンソールでサポートされるプラットフォーム」を参照してください。また、次の手順を使用して、アカウントにデフォルト以外の VPC を作成することもできます。

重要

アカウントがリージョン内で Amazon EC2 Classic をサポートしている場合、そのリージョンにはデフォルトの VPC はありません。

デフォルト以外の VPC を作成するには

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

  2. ナビゲーションバーで、VPC のリージョンを選択します。VPC はリージョンに固有であるため、キーペアを作成したリージョンと同じリージョンを選択してください。

  3. VPC ダッシュボードで、[VPC ウィザードの起動] を選択します。

  4. [Step 1: Select a VPC Configuration] ページで、[VPC with a Single Public Subnet] が選択されていることを確認したら、[Select] を選択します。

  5. [Step 2: VPC with a Single Public Subnet] ページで、[VPC name] フィールドに、わかりやすい VPC 名を入力します。他のデフォルトの設定はそのままにしておき、[Create VPC] を選択します。確認ページで、[OK] を選択します。

Amazon VPC の詳細については、「Amazon VPC とは」を参照してください (「Amazon VPC ユーザーガイド」)。

セキュリティグループの作成

セキュリティグループは、関連付けられたコンテナインスタンスのファイアウォールとして動作し、インバウンドトラフィックとアウトバウンドトラフィックの両方をコンテナインスタンスレベルで制御します。SSH を使用して IP アドレスからコンテナインスタンスに接続するためのルールをセキュリティグループに追加できます。さらに、任意の場所からのインバウンドおよびアウトバウンドの HTTP アクセスおよび HTTPS アクセスを可能にするルールを追加できます。タスクで使用するポートを開くためのルールを追加します。

注記

Amazon ECS コンソールの初回実行時、使用するタスク定義に基づいてインスタンスとロードバランサーのセキュリティグループが作成されるため、Amazon ECS コンソールを使用する場合は、次のセクションに進むことができます。

複数のリージョンでコンテナインスタンスを起動する予定がある場合は、各リージョンでセキュリティグループを作成する必要があります。リージョンの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「リージョンとアベイラビリティーゾーン」を参照してください。

ヒント

ローカルコンピュータのパブリック IP アドレスが必要になります。このアドレスはサービスを使って取得できます。たとえば、次のサービスが提供されています。http://checkip.amazonaws.com/IP アドレスを提供する別のサービスを検索するには、検索フレーズ「what is my IP address」を使用します。インターネットサービスプロバイダー (ISP) 経由で、またはファイアウォールの内側から静的な IP アドレスなしで接続する場合は、クライアントコンピュータで使用されている IP アドレスの範囲を見つける必要があります。

最小限の権限でセキュリティグループを作成するには

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

  2. ナビゲーションバーで、セキュリティグループのリージョンを選択します。セキュリティグループはリージョンに固有であるため、キーペアを作成したリージョンと同じリージョンを選択してください。

    注記

    Amazon ECS は以下のリージョンで利用できます。

    リージョン名 サービス対象
    米国東部(バージニア北部) us-east-1
    米国東部 (オハイオ) us-east-2
    米国西部 (北カリフォルニア) us-west-1
    米国西部 (オレゴン) us-west-2
    欧州 (アイルランド) eu-west-1
    欧州 (ロンドン) eu-west-2
    欧州 (フランクフルト) eu-central-1
    アジアパシフィック (東京) ap-northeast-1
    アジアパシフィック (シンガポール) ap-southeast-1
    アジアパシフィック (シドニー) ap-southeast-2
    カナダ (中部) ca-central-1
  3. ナビゲーションペインで、[Security Groups] を選択します。

  4. [Create Security Group] を選択します。

  5. 新しいセキュリティグループの名前と説明を入力します。覚えやすい名前 (ecs-instances-default-cluster など) を選択します。

  6. [VPC] リストで、デフォルトの VPC が選択されていることを確認します。この VPC には、アスタリスク(*)が示されています。

    注記

    アカウントが Amazon EC2 Classic をサポートしている場合は、前のタスクで作成した VPC を選択します。

  7. Amazon ECS コンテナインスタンスでは、インバウンドポートが開いている必要はありません。ただし、コンテナインスタンスにログインして Docker コマンドでタスクを確認できるように、SSH ルールを追加できます。また、ウェブサーバーを実行するタスクをコンテナインスタンスでホストする場合は、HTTP と HTTPS のルールを追加できます。これらのオプションのセキュリティグループルールを追加するには、以下のステップを実行します。

    [Inbound] タブで、次のルールを作成し (新しいルールごとに [Add Rule] を選択)、最後に [Create] を選択します。

    • [Type] リストから [HTTP] を選択し、[Source] が [Anywhere] (0.0.0.0/0) に設定されていることを確認します。

    • [Type] リストから [HTTPS] を選択し、[Source] が [Anywhere] (0.0.0.0/0) に設定されていることを確認します。

    • [Type] リストから [SSH] を選択します。[Source] フィールドで、[Custom IP] が選択されていることを確認し、コンピュータまたはネットワークのパブリック IP アドレスを CIDR 表記で指定します。CIDR 表記で個々の IP アドレスを指定するには、ルーティングプレフィックスを追加します。/32たとえば、IP アドレスが 203.0.113.25 の場合は、203.0.113.25/32 を指定します。会社が特定の範囲からアドレスを割り当てている場合、範囲全体 (203.0.113.0/24など) を指定します。

      重要

      セキュリティ上の理由で、すべての IP アドレス(0.0.0.0/0)からインスタンスへの SSH アクセスを許可することはお勧めしません。ただし、それがテスト目的で短期間の場合は例外です。

AWS CLI のインストール

AWS マネジメントコンソールを使用すると、Amazon ECS でのすべてのオペレーションを手動で管理できます。ただし、ローカルのデスクトップまたは開発者の環境に AWS CLI をインストールすると、Amazon ECS で共通の管理タスクを自動化できるスクリプトを作成できるようになります。

Amazon ECS で AWS CLI を使用するには、最新バージョンの AWS CLI をインストールします。AWS CLI のインストールまたは最新バージョンへのアップグレードについては、AWS Command Line Interface ユーザーガイド の「AWS コマンドラインインターフェイスのインストール」を参照してください。