为 ASP.NET 内核 2 应用程序指定 AWS 凭证 - AWS Toolkit for Visual Studio
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 ASP.NET 内核 2 应用程序指定 AWS 凭证

当您将应用程序部署到 Docker 容器时,有两种类型的凭证在发挥作用:部署凭证和实例凭证。

“Publish Container to AWS (将容器发布到 AWS)”向导使用部署凭证在 中创建环境。Amazon ECS. 这包括任务、服务、IAM 角色、Docker 容器存储库等,如果您选择的话,还包括负载均衡器。

实例(包括您的应用程序)使用实例凭证来访问不同的 AWS 服务。例如,如果您的 ASP.NET 内核 2.0 应用程序读取和写入到 Amazon S3 对象,它需要适当的权限。您可以根据环境使用不同的方法提供不同凭证。例如,您的ASP.NET核心2应用程序可能会目标 开发生产 环境。您可以使用本地 Docker 实例和凭证进行开发,而在生产中使用定义的角色。

指定部署凭证

您在 将容器发布到AWS 向导是向导将用于部署的AWS帐户 Amazon ECS. 帐户资料必须具有权限 Amazon Elastic Compute Cloud, Amazon Elastic Container Service,和 AWS Identity and Access Management.

如果您注意到下拉列表中缺少某些选项,可能是因为您缺乏权限。例如,如果您为应用程序创建了一个群集,但是请勿在 将容器发布到AWS 向导群集页面。如果出现这种情况,请添加所缺的权限并重试该向导。

指定开发实例凭证

对于非生产环境,您可以在 appsettings.<environment>.json 文件中配置凭证。例如,要在 Visual Studio 2017 的 appsettings.Development.json 文件中配置凭证,请执行以下操作:

  1. 将 AWSSDK.Extensions.NETCore.Setup NuGet 软件包添加到您的项目中。

  2. 将 AWS 设置添加到 appsettings.Development.json。以下配置将设置 Profile 和 。Region.

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

指定生产实例凭证

对于生产实例,我们建议您使用 IAM 角色来控制应用程序(和服务)可以访问的内容。例如,要配置 IAM 角色 Amazon ECS 作为服务负责人,具有权限 Amazon Simple Storage Service 和 Amazon DynamoDB 从 AWS 管理控制台:

  1. 登录 AWS 管理控制台 并打开 IAM 控制台 https://console.aws.amazon.com/iam/.

  2. 在 IAM 控制台的导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)。

  3. 选择 AWS服务 角色类型,然后选择 EC2容器服务.

  4. 选择 EC2容器服务任务 使用案例。使用案例由服务定义以包含服务要求的信任策略。然后选择 下一步: Permissions.

  5. 选择 马萨诸塞州3FullAccessAmazonDynamodbFullAccess 权限策略。勾选每个政策旁边的方框,然后选择 下一步: 审核。,

  6. 对于 角色名称,键入角色名称或角色名称后缀,以帮助您识别此角色的目的。角色名称在您的 AWS 账户内必须是唯一的。名称不区分大小写。例如,您无法创建名为both的角色 PRODROLEprodrole...由于各个实体可能引用角色,因此在创建该角色后,您无法编辑角色的名称。

  7. (可选) 角色描述,键入新角色的描述。

  8. 审核角色,然后选择 创建角色.

您可以使用此角色作为 任务角色ECS任务定义 第页,共页 将容器发布到AWS 向导。

有关详细信息,请参阅 使用基于服务的角色.