

# Amazon ECS を使用するようにセットアップする
<a name="get-set-up-for-amazon-ecs"></a>

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

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

## AWS マネジメントコンソール
<a name="developer-tools-console"></a>

AWS マネジメントコンソールは、Amazon ECS リソースを管理するためのブラウザベースのインターフェイスです。コンソールには、サービスの概要が視覚的に表示されるため、追加のツールを使用しなくても、Amazon ECS の特徴と機能を簡単に探索できます。コンソールの使用について説明した、関連するチュートリアルが多数用意されています。

コンソールに関するチュートリアルについては、「[Amazon ECS のリソースの作成および使用方法について説明します。](getting-started.md)」を参照してください。

アクションが成功するかどうかについてすぐに視覚的なフィードバックがもたらされるため、多くのお客様はコンソールを使用することを好みます。AWS マネジメントコンソールに慣れているAWSお客様は、ロードバランサーや Amazon EC2 インスタンスなどの関連リソースを簡単に管理できます。

AWS マネジメントコンソール から始めます。

## AWS アカウントへのサインアップ
<a name="sign-up-for-aws"></a>

AWS アカウント がない場合は、以下のステップを実行して作成します。

**AWS アカウント にサインアップするには**

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

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

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   AWS アカウントにサインアップすると、*AWS アカウントのルートユーザー*が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用して[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)を実行してください。

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

## 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

AWS アカウントにサインアップしたら、AWS アカウントのルートユーザーをセキュリティで保護し、AWS IAM アイデンティティセンター を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。

**AWS アカウントのルートユーザー をセキュリティで保護する**

1.  **[ルートユーザー]** を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として [AWS マネジメントコンソール](https://console.aws.amazon.com/) にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

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

   手順については、「*IAM ユーザーガイド*」の「[AWS アカウント ルートユーザーの仮想 MFA デバイスを有効にする (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンター の有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

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

   IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[デフォルトの IAM アイデンティティセンターディレクトリ を使用してユーザーアクセスを設定する](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

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

  IAM アイデンティティセンターユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[AWS アクセスポータルにサインインする](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

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

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

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

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## 仮想プライベートクラウドを作成する
<a name="create-a-vpc"></a>

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

デフォルトの VPC がある場合は、このセクションをスキップして次のタスク「[セキュリティグループを作成する](#create-a-base-security-group)」に移動できます。デフォルトの VPC があるかどうかを確認するには、「*Amazon VPC ユーザーガイド*」の「[デフォルトの VPC とデフォルトのサブネットを使って作業する](https://docs.aws.amazon.com/vpc/latest/userguide/work-with-default-vpc.html#view-default-vpc)」を参照してください。また、次の手順を使用して、アカウントにデフォルト以外の VPC を作成することもできます。

VPC の作成方法の詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC を作成する](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)」を参照し、次の表を使用して、選択するオプションを決定します。


| オプション | 値 | 
| --- | --- | 
|  作成するためのリソース  | VPC 専用 | 
| 名前 |  オプションで、VPC の名前を指定します。  | 
| IPv4 CIDR ブロック |  IPv4 CIDR 手動入力 CIDR ブロックサイズは /16 から /28 の間である必要があります。  | 
|  IPv6 CIDR ブロック  |  IPv6 CIDR ブロックなし  | 
|  テナンシー  |  デフォルト  | 

Amazon VPC の詳細については、*Amazon VPC ユーザーガイド*の[Amazon VPC とは](https://docs.aws.amazon.com/vpc/latest/userguide/)を参照してください。

## セキュリティグループを作成する
<a name="create-a-base-security-group"></a>

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

複数のリージョンでコンテナインスタンスを起動する予定がある場合は、各リージョンでセキュリティグループを作成する必要があります。詳細については、[Amazon EC2 ユーザーガイド](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)の「*リージョンとアベイラビリティゾーン*」を参照してください。

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

セキュリティグループの作成方法の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスのセキュリティ グループの作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html)」を参照し、次の表を使用して選択するオプションを決定してください。


| オプション | 値 | 
| --- | --- | 
|  リージョン  | キーペアを作成したリージョンと同じリージョン。 | 
| 名前 | 「ecs–instances–default–cluster」などの覚えやすい名前。 | 
| VPC | デフォルトの VPC (「(デフォルト)」の印が付いています)。 アカウントが Amazon EC2 Classic をサポートしている場合は、前のタスクで作成した VPC を選択します。   | 

ユースケースに追加するアウトバウンドルールの詳細については、「*Amazon EC2 ユーザーガイド*」の「[さまざまなユースケースのセキュリティグループのルール](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html)」を参照してください。

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

セキュリティグループに次の 3 つのインバウンドルールを追加します。セキュリティグループの作成方法の詳細については、「*Amazon EC2 ユーザーガイド*」の「[セキュリティグループのルールを設定する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html#add-remove-security-group-rules)」を参照してください。


| オプション | 値 | 
| --- | --- | 
|  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 インスタンスに接続するための認証情報を作成します。
<a name="create-a-key-pair"></a>

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

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

キーペアをまだ作成していない場合は、Amazon EC2 コンソールを使用して作成できます。複数のリージョンでインスタンスを起動する予定がある場合は、各リージョンでキーペアを作成する必要があります。リージョンの詳細については、「*Amazon EC2 ユーザーガイド*」の「[Regions and Availability Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)」を参照してください。

**キーペアを作成するには**
+ Amazon EC2 コンソールを使用して、キーペアを作成します。キーペアの作成の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Create a key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)」を参照してください。

Linux インスタンスに接続する方法については、「*Amazon EC2 ユーザーガイド*」の「[Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)」を参照してください。

## AWS CLI のインストール
<a name="install_aws_cli"></a>

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

Amazon ECS で AWS CLI を使用するには、最新バージョンの AWS CLI をインストールします。AWS CLI のインストールまたは最新バージョンへのアップグレードについては、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLI の最新バージョンをインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

AWS Command Line Interface (AWS CLI) は、AWS サービスを管理するために使用できる統合ツールです。この 1 つのツールだけでは、複数の AWS サービスを制御し、スクリプトを使用してこれらのサービスを自動化することができます。AWS CLIのAmazon ECS コマンドは、Amazon ECS API を反映しています。

AWS CLI は、スクリプト作成やコマンドラインツールとのインターフェイスを好みかつ使い慣れており、Amazon ECS リソースに対して実行するアクションを正確に把握しているお客様に適しています。AWS CLI は、Amazon ECS API に詳しくなりたいお客様にも役立ちます。お客様は、AWS CLI を使用して、Amazon ECS リソースでコマンドラインインターフェイスから直接作成、読み取り、更新、削除などの多数の操作を実行できます。

Amazon ECS API および対応する CLI コマンドに詳しくなり、自動スクリプトを作成し、Amazon ECS リソースに対して特定のアクションを実行したい場合は、AWS CLI を使用します。

AWS では、[AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) コマンドラインツールも提供されています。詳細については[AWS Tools for Windows PowerShell ユーザーガイド](https://docs.aws.amazon.com/powershell/latest/userguide/)を参照してください。

## Amazon ECS を使用するための次のステップ
<a name="ecs-set-up-next-steps"></a>

AWS CLI をインストールした後は、さまざまなツールを利用して Amazon ECS を引き続き使用できます。以下のリンクでは、これらのツールのいくつかについて説明し、Amazon ECS で使用する方法の例を示します。
+ Docker で[最初のコンテナイメージを作成](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-container-image.html)し、Amazon ECS タスク定義で使用するために Amazon ECR にプッシュします。
+ [Fargate 用の Amazon ECS Linux タスクを作成する方法について説明します。](getting-started-fargate.md).
+ [Fargate 用の Amazon ECS Windows タスクを作成する方法について説明します。](Windows_fargate-getting_started.md).
+ [EC2 用の Amazon ECS Windows タスクを作成する方法について説明します。](getting-started-ecs-ec2-v2.md).
+ 希望するプログラミング言語を使用して、[AWS CDK を使用した Amazon ECS リソースの作成](tutorial-ecs-web-server-cdk.md) でインフラストラクチャまたはアーキテクチャをコードとして定義します。
+ [AWS CloudFormation を用いた Amazon ECS の使用](ecs-with-cloudformation.md) を使用して、自動デプロイにより、環境内のすべての AWS リソースを定義および管理します。
+ 包括的な [AWS Copilot コマンドラインインターフェイスを使用した Amazon ECS リソースの作成](AWS_Copilot.md) エンドツーエンドのデベロッパーワークフローを使用して、インフラストラクチャの AWS ベストプラクティスに準拠したコンテナアプリケーションを作成、リリース、運用します。