小编Sha*_*hah的帖子

读取 CloudFormation 用户数据中的 AWS 秘密

我有下面的 CloudFormation 模板,主要创建一个 Secrets 和一个 EC2。我想更改 EC2 中的一些配置文件,并且需要使用用户数据将 Secrets 中的值放入变量中,但我无法从 Secrets 中获取值。你能帮我解决我的代码吗

AWSTemplateFormatVersion: 2010-09-09
Description: builds secretsManager and ec2

Parameters:
  EnvironmentName:
    Type: String
  SharedVpcID:
    Type: AWS::EC2::VPC::Id
  SharedPubSubnetID1:
    Type: AWS::EC2::Subnet::Id
  SharedPubSubnetID2:
    Type: AWS::EC2::Subnet::Id
  PrivateSubnetId:
    Type: AWS::EC2::Subnet::Id
  SecretValue: 
    Type: String
    Default: "{{resolve:secretsmanager:${SecretsManager}:SecretString:password}}"
 
Resources:

  SharedVPCDefaultSecurityGroup:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://advanced-artefacts.s3-eu-west-1.amazonaws.com/internal/templates/sg/securitygroup.yaml
      Parameters: 
        EnvironmentName: !Ref EnvironmentName
        VPCID: !Ref SharedVpcID 
 
  SecretsManager:
    Type: AWS::SecretsManager::Secret
    Properties:
      Description: 'This is my rds instance secret'
      GenerateSecretString:
        SecretStringTemplate: '{"username": "admin"}'
        GenerateStringKey: 'password'
        PasswordLength: 16
        ExcludeCharacters: '"@/\'

  WebInstance:
    Type: AWS::EC2::Instance
    Properties:
        InstanceType: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation

2
推荐指数
1
解决办法
2113
查看次数