Amazon ECS を使用するようにセットアップする - Amazon Elastic Container Service

Amazon ECS を使用するようにセットアップする

すでに Amazon Web Services (AWS) にサインアップしていて、Amazon Elastic Compute Cloud (Amazon EC2) を使用している場合は、すぐに Amazon ECS を使用し始めることができます。2 つのサービスのセットアッププロセスは似ています。次のガイドでは、最初の Amazon ECS のクラスターを起動する準備をします。

Amazon ECS のセットアップを行うには、以下のタスクを完了します。

AWS へのサインアップ

AWS にサインアップすると、Amazon EC2 と Amazon ECS を含むすべてのサービスに、AWS アカウントが自動的にサインアップされます。請求されるのは、使用したサービスの料金のみです。

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

AWS アカウントを作成する

  1. https://portal.aws.amazon.com/billing/signup を開きます。

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

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

    AWS アカウント にサインアップすると、AWS アカウント ルートユーザーが作成されます。ルートユーザーは、アカウントのすべて AWS のサービス とリソースへの完全なアクセス権を持ちます。セキュリティのベストプラクティスとして、管理アクセスを管理ユーザーに割り当てルートユーザーアクセスを必要とするタスクを実行するには、ルートユーザーのみを使用使用します。

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

管理者の作成

AWS のサービス (Amazon EC2 や Amazon ECS など) では、サービスにアクセスする際に認証情報を提供する必要があります。このため、サービスのリソースにアクセスする権限があるかどうかがサービスによって判定されます。コンソールを使用するにはパスワードが必要です。AWS アカウントのアクセスキーを作成して、コマンドラインインターフェイスまたは API にアクセスすることができます。

管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。

管理者を管理する方法を 1 つ選択します To By 以下の操作も可能
IAM Identity Center 内

(推奨)

短期認証情報を使用して AWS にアクセスする。

これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。

AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「開始方法」の手順に従います。 AWS Command Line Interface ユーザーガイドの「AWS IAM Identity Center (successor to AWS Single Sign-On) を使用するための AWS CLI の設定」に従って、プログラムによるアクセスを設定します。
IAM 内

(非推奨)

長期認証情報を使用して AWS にアクセスする。 IAM ユーザーガイドの「最初の IAM 管理者のユーザーおよびグループの作成」の手順に従います。 IAM ユーザーガイドの「IAM ユーザーのアクセスキーの管理」に従って、プログラムによるアクセスを設定します。

キーペアを作成する

Amazon ECS では、EC2 起動タイプを使用する場合にのみキーペアが必要です。

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

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

キーペアを作成するには

  • Amazon EC2 コンソールを使用して、キーペアを作成します。キーペアの作成については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「キーペアの作成」を参照してください。

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

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

macOS または 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] (すべてのプログラム > PuTTY > PuTTYgen) の順に選択します)。

  3. [Type of key to generate] (生成するキーのタイプ) で、[RSA] を選択します。

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

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

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

  7. キーペアに使用した名前と同じ名前をキーに指定します。PuTTY によって、.ppk ファイルに拡張子が自動的に追加されます。

仮想プライベートクラウドを作成する

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

注記

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

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

重要

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

VPC の作成方法の詳細については、Amazon VPC ユーザーガイドの「VPC のみを作成する」を参照し、次の表を使用して、選択するオプションを決定します。

オプション

作成するためのリソース

VPC のみ
名前

オプションで、VPC の名前を指定します。

IPv4 CIDR ブロック

IPv4 CIDR 手動入力

CIDR ブロックサイズは /16 から /28 の間である必要があります。

IPv6 CIDR ブロック

IPv6 CIDR ブロックなし

テナンシー

デフォルト

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

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

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

注記

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

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

ヒント

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

セキュリティグループの作成方法の詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「セキュリティグループの作成」を参照し、次の表を使用して、選択するオプションを決定してください。

オプション

リージョン

キーペアを作成したリージョンと同じリージョン。
名前 「ecs-instances-default-cluster」など、覚えやすい名前。
VPC デフォルトの VPC (「(デフォルト)」となっています)。
注記

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

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

セキュリティグループに次の 3 つのインバウンドルールを追加します。セキュリティグループの作成方法についての詳細は、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「セキュリティグループへのルールの追加」を参照してください。

オプション

HTTP ルール

[Type]: HTTP

ソース: 任意の場所 (0.0.0.0/0)

このオプションでは、送信元として IPv4 の CIDR ブロック 0.0.0.0/0 が自動的に追加されます。この設定は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。実稼働環境では、特定の IP アドレスまたは特定のアドレス範囲にのみ、インスタンスへのアクセスを限定します。

HTTPS ルール

タイプ: HTTPS

ソース: 任意の場所 (0.0.0.0/0)

この設定は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。実稼働環境では、特定の IP アドレスまたは特定のアドレス範囲にのみ、インスタンスへのアクセスを限定します。

SSH ルール

タイプ: SSH

ソース: [Custom] で、コンピュータまたはネットワークのパブリック 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 をインストールする

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

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