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 アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。

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

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

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

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

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Center の有効化」を参照してください。

  2. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

    IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「AWS IAM Identity Center ユーザーガイド」の「デフォルト IAM アイデンティティセンターディレクトリを使用したユーザーアクセスの設定」を参照してください。

管理アクセス権を持つユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

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

追加のユーザーにアクセス権を割り当てる
  1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」を参照してください。

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「グループの参加」を参照してください。

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

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

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

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

オプション Value

作成するためのリソース

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 EC2 ユーザーガイドの「リージョンとアベイラビリティゾーン」を参照してください。

ヒント

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

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

オプション Value

リージョン

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

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

ユースケースに追加するアウトバウンドルールの詳細については、「Amazon EC2 ユーザーガイド」の「さまざまなユースケースのセキュリティグループのルール」を参照してください。

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

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

オプション Value

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 アクセスを許可することはお勧めしません。ただし、それがテスト目的で短期間の場合は例外です。

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

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

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

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

キーペアを作成するには
  • Amazon EC2 コンソールを使用して、キーペアを作成します。キーペアの作成の詳細については、「Amazon EC2 ユーザーガイド」の「Create a key pair」を参照してください。

Linux インスタンスに接続する方法については、「Amazon EC2 ユーザーガイド」の「Linux インスタンスへの接続」を参照してください。

AWS CLI のインストール

Amazon ECS を使用すると、AWS Management Console でのすべてのオペレーションを手動で管理できます。ただし、ローカルのデスクトップまたはデベロッパーボックスに AWS CLI をインストールすることは可能です。この場合は、Amazon ECS 内の共通の管理タスクを自動化するための、スクリプトを作成できます。

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