gpt4 book ai didi

amazon-web-services - 有没有办法将我的 cloudformation 堆栈中的 ec2 用户数据创建的资源用于堆栈中的另一个资源?

转载 作者:行者123 更新时间:2023-12-03 07:33:27 25 4
gpt4 key购买 nike

我正在开发一个模板,在该模板中部署了一个 ec2 实例,在实例用户数据中,该实例从 git 存储库中提取一个脚本,并使用该脚本创建一个 AMI。我想使用 !ref 或其他方式在同一 cloudformation 堆栈中的另一个资源中引用新创建的 ami 的 ID。

到目前为止,我已将此行放在用户数据下方以获取 ami 的名称

export AMIID=$(aws ec2 describe-images --filters "Name=name,Values=ami-name" | jq -r ".Images[].ImageId") 

此行创建一个条目,将 AMI ID 放入参数存储中

aws ssm put-parameter --name aminame --type String --value "$AMIID"     

在cloudformation堆栈中,我这里有一个参数

AMI:
Type : 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: aminame

在资源 block 中,我有对 ami 的引用,看起来像这样

EC2Instance:
Type: "AWS::EC2::Instance"
CreationPolicy:
ResourceSignal:
Timeout: PT120M
Properties:
ImageId: !Ref AMI
UserData:
Fn::Base64: |
#!/bin/bash

到目前为止,当我运行此命令时,我收到一条错误,指出无法找到该参数..这是有道理的,但是还有其他方法可以执行类似的操作吗?

最佳答案

从技术上讲,你可以使用 lambda 来做到这一点:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html

关于amazon-web-services - 有没有办法将我的 cloudformation 堆栈中的 ec2 用户数据创建的资源用于堆栈中的另一个资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73158617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com