

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ASP.NET Core AWS 2 アプリケーションの認証情報を指定する
<a name="deployment-ecs-specify-credentials"></a>

アプリケーションを Docker コンテナにデプロイするときに必要になる認証情報には、デプロイ認証情報とインスタンス認証情報の 2 タイプがあります。

デプロイ認証情報は、Amazon ECS で環境を作成するために、コンテナの発行 AWS ウィザードによって使用されます。これには、タスク、サービス、IAM ロール、Docker コンテナリポジトリのほか、選択した場合はロードバランサーも含まれます。

インスタンス認証情報は、インスタンス (アプリケーションを含む) がさまざまな AWS サービスにアクセスするために使用します。例えば、ASP.NET Core 2.0 アプリケーションが Amazon S3 オブジェクトに対して読み書きを行う場合は、適切なアクセス許可が必要になります。そのために、環境に基づいて異なる方法で異なる認証情報を提供できます。例えば、ASP.NET Core 2 アプリケーションは*開発*環境と*本番稼働用*環境を対象とする場合があります。ローカルの Docker インスタンスおよび認証情報を開発環境に使用し、定義したロールを本番稼働用環境に使用できます。

## デプロイ認証情報の指定
<a name="tkv-ecs-deploy-creds"></a>

**コンテナの発行 AWS**ウィザードで指定した AWS アカウントは、ウィザードが Amazon ECS へのデプロイに使用する AWS アカウントです。アカウントプロファイルには、Amazon Elastic Compute Cloud、Amazon Elastic Container Service、および へのアクセス許可が必要です AWS Identity and Access Management。

ドロップダウンリストにオプションが見つからない場合は、それらのアクセス許可が不足している可能性があります。例えば、アプリケーション用のクラスターを作成したのに **[ AWSにコンテナを発行]** ウィザードの [クラスター] ページに表示されない場合などです。この場合、不足しているアクセス許可を追加してウィザードを再試行してください。

## 開発用のインスタンス認証情報の指定
<a name="tkv-ecs-dev-creds"></a>

本番稼働用でない環境では、appsettings.<environment>.json ファイルに認証情報を設定できます。例えば、Visual Studio 2017 の appsettings.Development.json ファイルで認証情報を設定するには、以下の手順に従います。

1. プロジェクトに AWSSDK.Extensions.NETCore.Setup NuGet パッケージを追加します。

1. appsettings.Development.json AWS に設定を追加します。以下に示しているのは、`Profile` と `Region` の設定です。

   ```
   {
       "AWS": {
           "Profile": "local-test-profile",
           "Region": "us-west-2"
       }
   }
   ```

## 本番稼働用のインスタンス認証情報の指定
<a name="id1"></a>

本番稼働用インスタンスでは、アプリケーション (およびサービス) のアクセスコントロールに IAMロールを使用することをお勧めします。例えば、Amazon ECS による IAM ロールをサービスプリンシパルとし、Amazon Simple Storage Service および Amazon DynamoDB に対するアクセス許可を持つ IMA ロールを AWS マネジメントコンソールから設定するには、以下の手順に従います。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで、[ロール]、[ロールを作成] を選択します。

1. **[AWS Service]** ロールタイプを選択してから、[**EC2 Container Service**] (EC2 コンテナサービス) を選択します。

1. [**EC2 Container Service Task (EC2 コンテナサービスタスク)**] ユースケースを選択します。ユースケースは、サービスに必要な信頼ポリシーを含める定義になります。その後、**[Next: Permissions (次へ: アクセス許可)]** を選択します。

1. **AmazonS3FullAccess** および **AmazonDynamoDBFullAccess** アクセス許可ポリシーを選択します。各ポリシーの横にあるチェックボックスをオンにし、[**Next: Review (次へ: レビュー)**] を選択します。

1. [**Role name (ロール名)**] に、このロールの目的を識別するのに役立つロール名またはロール名サフィックスを入力します。ロール名は AWS アカウント内で一意でなければなりません。大文字と小文字は区別されません。例えば、`PRODROLE` と `prodrole` というロール名を両方作成することはできません。多くのエンティティによりロールが参照されるため、作成後にロール名を変更することはできません。

1. (オプション) [**Role description**] に、新しいロールの説明を入力します。

1. ロール情報を確認し、**ロールの作成** を選択します。

このロールは、**[ AWSにコンテナを発行]** ウィザードの **[ECS タスク定義]** ページで **[タスクロール]** として使用できます。

詳細については、「[サービスベースのロールの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)」を参照してください。