问题标签 [amazon-systems-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 如何从 CloudFormation 检查 Systems Manager 中是否存在参数
阅读此处的 AWS 文档,我发现了以下语句:
AWS::SSM::Parameter::Name
Systems Manager 参数键的名称。
当您要传递参数键时使用此参数。例如,您可以使用此类型来验证参数是否存在。
我无法让它工作,每次我得到:参数验证失败:参数值......参数名称......不存在。
它应该尝试解析参数类型AWS::SSM::Parameter::Name吗?不管怎样,我一直在寻找,在这里找到了另一个说法:
列表中的第一个用于按原样传递参数键的名称。CloudFormation 不会获取针对它存储的值。例如,您可以使用此类型来验证参数是否存在于 Parameter Store 中。
我可能没有正确理解它,所以我想请求一个示例,说明如何检查 CloudFormation 的 Systems Manager 中是否存在参数?
用例:
我的主要区域的所有参数都存储在 Systems Manager 上,但我的第二个(冗余)只有几个参数。考虑作为示例,不在每个区域中创建两次 Zone/RecorSet。为此,我使用了一个条件,如下所示:
和嵌套堆栈:
amazon-web-services - 如何从 aws 参数存储中导出参数并导入另一个帐户
在我的第一个aws 帐户中,我以以下方式指定了参数:
我想将这些移至我的第二个aws 帐户。
我在参数存储中手动创建了这些参数。
我怎样才能轻松地将这些值从一个帐户复制到另一个帐户?
使用aws ssm get-parameters --names "<param-name>"
会有点太困难,因为我有太多的参数。
amazon-web-services - AWS Session Manager 要求允许入站流量,但不应该
我有一个运行以下网络设置的 EC2 实例:
- 它驻留在连接了 Internet 网关的公共子网中
- 它有一个附加了出站规则的安全组,以允许所有流量(0.0.0.0/0 上的所有端口)
根据文档,应该可以使用 AWS Session Manager 连接到实例:
为了让您的托管实例和 Systems Manager 服务相互通信,您必须执行以下操作之一: - 将
Systems Manager 配置为使用接口虚拟私有云 (VPC)
端点
- 在您的托管实例上启用出站 Internet 访问注意
不需要启用入站 Internet 访问。
(来源:https ://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-prereqs.html )
但是当我尝试与 Session Manager 连接时,连接没有初始化(出现黑屏但它保持为空)。
如果我启用安全组中的所有入站流量(通过在 0.0.0.0/0 上的所有端口上添加入站规则),则会话管理器可以正常工作。但它不应该是必需的,当然出于安全原因我想避免它。
那么设置有什么问题呢?
amazon-web-services - Lambda 无权在系统管理器中向托管实例添加标签
我在 AWS 中有一个多账户结构,我有一个主账户和子账户。我遵循本指南是为了将标签从子实例传播到主账户,一旦它们被激活,我就可以管理主账户(系统管理员)中的实例。
到目前为止,这一切都有效到主账户中的 lambda 具有它需要的所有标签。但是,无法将标签添加到系统管理器中的托管实例。不知道为什么角色仍然无法访问标签,给定权限......
这是我得到的错误:
这是带有附加角色的 lambda 函数:
amazon-cloudformation - 类型为 StringList 的 cloudformation SSM 动态引用能否解析为列表?
cloudformation 模板中支持对 SSM 参数的动态引用
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html
该文档指出,您可以Use the ssm dynamic reference to include values stored in the Systems Manager Parameter Store of type String or StringList in your templates.
我们正在尝试使用语法在模板中引用 StringList 类型的参数,{{resolve:ssm:parameter-name:version}}
并将其解析为模板中的字符串列表(更具体地说,是 EC2 实例的 SecurityGroupId 列表)。这没有奏效,并且文档没有指定如何执行此操作或是否受支持。我们已经尝试过使用,Fn::Split
但它似乎在动态值得到解析之前被调用。我们无法在模板的参数部分中使用 SSM 值,该部分对此进行了记录。有谁知道是否有可能需要{{resolve ...
一个字符串列表?
amazon-web-services - 如何使用 AWS Systems Manager 维护窗口从负载均衡器 (ELB) 中删除 EC2 实例
我在 ELB 后面有 EC2 实例。在 Systems Manger 中,我想要一种方法来自动将实例从负载均衡器中取出,然后运行命令 AWS-ApplyPatchBaseline,然后将实例放回负载均衡器上。
我已经成功地使用维护窗口来自动修补,我只需要添加步骤来删除而不是从 ELB 中重新添加实例。
c# - 使用 AWS Systems Manager Parameter Store 构建 ASP.NET Core 2.2 Docker 映像
设置
- 视窗 10
- 视觉工作室专业版 2017
- Docker CE v 2.0.0.3
- ASP.NET 核心 2.2
- PowerShell v6.1.0
我正在使用 AWS Systems Manager Parameter Store 来保存我的 ASP.NET 应用程序的加密连接字符串。
我发现这个扩展可以在我的应用程序中配置 Parameter Store,如下所示:
程序.cs
当我在 Visual Studio 中构建、运行或测试应用程序时,这一切都很好,因为我有一个appsettings.json
为 .NET SDK 配置 aws 配置文件的文件
但是,我现在想在本地构建映像。我看过这篇StackOverflow 帖子,它描述了将 AWS 凭证作为参数传递给docker build
命令
我的Dockerfile
样子是这样的(为简洁起见,我删除了运行时阶段):
当我运行我的构建命令时:
问题
我的集成测试失败,因为我的应用程序无法连接到 AWS Parameter Store
仅供参考 - 我已将连接字符串作为环境变量添加到我的 Dockerfile 中,并且一切正常(所以我知道前面的陈述是正确的)
所以问题是:当我在 docker 容器中本地构建时,如何将 AWS 凭证传递给我的 .net 核心应用程序?
如果有帮助,这是来自 PowerShell 的错误:
amazon-web-services - 是否可以在 WebHost 启动后添加到 IConfiguration?
我正在使用 AWS Systems Manager Parameter Store 来保存用于在我的 .NET Core 应用程序中动态构建 DbContext 的数据库连接字符串
我正在使用 .NET Core AWS 配置提供程序(来自https://aws.amazon.com/blogs/developer/net-core-configuration-provider-for-aws-systems-manager/),它将我的参数注入到 IConfiguration在运行时。
目前,我必须将我的 AWS 访问密钥/秘密保存在代码中,以便 ConfigurationBuilder 可以访问它,但希望将其移出代码库并将其存储在 appsettings 或类似文件中。
这是我创建在启动时调用的虚拟主机构建器的方法
我需要能够从某处注入 BasicAWSCredentials 参数。
amazon-cloudformation - 在 aws config 模板的云形成中将补救操作作为参数传递
我目前正在使用 cloudformation 模板自动创建 aws config 规则。我需要在脚本中添加修复操作以自动化不兼容的资源。我不知道将修复操作添加为云形成模板的参数。有人可以帮我解决这个问题吗?下面是我的代码。但我无法创建堆栈