【问题标题】:How to deploy Profile with .net Core app on AWS如何在 AWS 上使用 .net Core 应用程序部署 Profile
【发布时间】:2016-12-12 20:56:37
【问题描述】:

注意:这个问题是针对 .net core 控制台应用程序的,不是 ASP.NET Core。

我对在 AWS 上正确使用配置文件感到困惑。我的理解是,AWS 更喜欢使用配置文件名称​​而不是包含 AWS 凭证 (aws_access_key_id, aws_secret_access_key) 值的文件。

使用 .net 核心,我如何知道如何导航到应存储凭据文件的用户主目录? (据此参考:http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#using-a-credentials-file

我正在创建一个 .net Core 应用程序以连接到 Amazon Kinesis,并将其部署在 Docker 容器中。我希望能够部署并让应用程序使用.CreateServiceClient<IAmazonKinesis>() 自行查找凭据。据我了解,这种方法允许AWSOptions 通过定位凭证文件在幕后查找/查找凭证。

请帮助我了解如何处理此问题。

【问题讨论】:

    标签: .net-core aws-sdk amazon-kinesis


    【解决方案1】:

    您将部署到的 docker 容器是否托管在 ECS 中?如果是这样,使用 ECS 中的IAM Roles for Tasks 功能将是您问题的最简单解决方案。

    基本上,您可以配置任务/容器将在其下运行的 IAM 角色,并通过将 IAM 策略分配给该角色来配置其权限。 ECS 管理向 docker 容器提供该角色的凭据的过程。默认情况下,SDK 将全部获取 ECS 提供的凭据,除非您在创建客户端时通过提供凭据显式覆盖它们或更改您的凭据提供程序链。

    我们在推出该功能时发布了一篇关于任务的 ECS IAM 角色的博文:

    https://aws.amazon.com/about-aws/whats-new/2016/07/amazon-ec2-container-service-now-supports-iam-roles-for-tasks/

    【讨论】:

    • 感谢@Ben Walters。那么,在访问 AWS 中没有本地版本的资源(在本例中为 Amazon Kinesis)时,如何在本地进行开发?在将其添加到 Docker 容器时,我是否必须使用凭证文件方法而不部署该类型的配置?
    • 您有多种选择,详情请参阅Configuring Credentials。凭据文件或环境变量可能对您的用例来说是最简单的。两者都应该让您在开发环境和生产/CD 管道环境之间保持代码 100% 相同。
    猜你喜欢
    • 2016-06-23
    • 2016-01-26
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2014-05-25
    • 2016-12-25
    相关资源
    最近更新 更多