gpt4 book ai didi

amazon-web-services - 创建新的 ec2 CloudFormation 时更新现有安全组

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

我有使用此类 cfn 模板创建的 ec2 实例:

参数:

"VPCId": {
"Type": "AWS::EC2::VPC::Id"
"Description": "The VPC Id to where this instance is being created"
}
"Subnet": {
"Description": "Subnet to put Instance",
"Type": "AWS::EC2::Subnet::Id",
},

拥有以下安全组:

"InstanceSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enables access to instance by port 80",
"VPCId": {
"Ref": "VPCId"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": {
"Ref": "ClientCIDR"
}
}
]
},

以及实例资源的一部分:

"WebServer": {
"Type": "AWS::EC2::Instance",
"Properties": {
"IamInstanceProfile": "access-profile",
"SecurityGroupIds": [
{ "Fn::GetAtt": [
"InstanceSecurityGroup",
"GroupId"
]
}
],
"SubnetId": {
"Ref": "Subnet"
},

我想使用另一个模板创建一些其他实例。该实例应该可以通过端口 22 访问上述实例并在 UserData 中连接到它。

我不确定如何组织它,我看到的一种方法是在与第一个实例建立 ssh 连接之前使用 aws cli 通过 UserData 更新安全组。如何利用资源来组织它?我没有找到任何与此相关的信息或示例。请帮忙!谢谢!

最佳答案

您可以修改InstanceSecurityGroup以允许来自其他实例的访问:

"InstanceSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enables access to instance by port 80",
"VPCId": {
"Ref": "VPCId"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": {
"Ref": "ClientCIDR"
}
},
{
"IpProtocol": "tcp",
"FromPort": "22",
"ToPort": "22",
"SourceSecurityGroupId": {
"Ref": "OtherInstancesSecurityGroup"
}
}
]
},

其中 OtherInstancesSecurityGroup 是一个新的安全组,您将分配给其他实例。

关于amazon-web-services - 创建新的 ec2 CloudFormation 时更新现有安全组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39837117/

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