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 アカウント がない場合は、以下のステップを実行して作成します。

AWS アカウント にサインアップするには
  1. https://portal.aws.amazon.com/billing/signup を開きます。

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

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

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

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/[アカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理ユーザーを作成する

AWS アカウント にサインアップした後、日常的なタスクにルートユーザーを使用しないように、管理ユーザーを作成します。

AWS アカウントのルートユーザー をセキュリティで保護する
  1. [ルートユーザー] を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として AWS Management Console にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドの「ルートユーザーとしてサインインする」を参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、IAM ユーザーガイドの「AWS アカウント のルートユーザーの仮想 MFA デバイスを有効にする (コンソール)」を参照してください。

管理ユーザーを作成する
  • 日常的な管理タスクのためには、AWS IAM Identity Center (successor to AWS Single Sign-On) の管理ユーザーに管理アクセスを割り当てます。

    手順については、AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「開始方法」を参照してください。

管理ユーザーとしてサインインする
  • IAM Identity Center ユーザーとしてサインインするには、IAM Identity Center ユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドの「AWS アクセスポータルにサインインする」を参照してください。

EC2 インスタンスに接続するための認証情報を作成します。

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 コンソールを使用して、キーペアを作成します。キーペア作成の詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「キーペアを作成する」を参照してください。

詳細については、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] を選択します。

  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 で起動することを強くお勧めします。

デフォルトの 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 EC2 Linux インスタンス用ユーザーガイド」の「さまざまなユースケースのセキュリティグループのルール」を参照してください。

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 コマンドラインインターフェイスのインストール」を参照してください。