gpt4 book ai didi

amazon-web-services - 使用cloudformation,我想给默认安全组和SSH安全组作为实例的安全组

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

我正在使用 cloudformation 来构建基础设施。

我想指定默认安全组和SSH安全组作为实例的安全组。

有 Network.yaml、Security.yaml、Application.yaml 文件。

这是 Network.yaml 的一部分。

SampleVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
Tags:
- Key: Name
Value: sample-vpc

这是 Security.yaml 的一部分。

Resources:
BastionSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: sample-sg-bastion
GroupDescription: for bastion
VpcId: !ImportValue vpc-id
SecurityGroupIngress:
- CidrIp: 10.10.10.10/32
FromPort: 22
IpProtocol: tcp
ToPort: 22
Tags:
- Key: Name
Value: sample-sg-bastion
Outputs:
BastionSecurityGroup:
Description: The Security Group for bastion instance
Value: !Ref BastionSecurityGroup
Export:
Name: Bastion-sg-id

这是 Application.yaml 的一部分。

Resources:
BastionEC2Instance:
Type: AWS::EC2::Instance
Properties:
KeyName: !Ref KeyName
#DisableApiTermination:
ImageId: !FindInMap [AWSRegionAMI, !Ref 'AWS::Region', HVM64]
InstanceType: t2.micro
#Monitoring: true|false
NetworkInterfaces:
- AssociatePublicIpAddress: true
SubnetId: !ImportValue pubsubnet-01a-id
DeviceIndex: 0
GroupSet:
- !ImportValue Bastion-sg-id
- ###I want to set DefaultSecurityGroup###
UserData: !Base64 |
#!/bin/bash -ex
# put your script here
Tags:
- Key: Name
Value: sample-ec2-bastion

如果我想为实例附加默认安全组,该怎么办?

########## 已修改 ############

效果很好!!我感谢艾伦的支持。

我将此代码添加到 Network.yaml 中。

DefaultNetworkSG:
Value:
!GetAtt SampleVPC.DefaultSecurityGroup
Export:
Name: default-sg-id

我将此代码添加到 Application.yaml 中。

  NetworkInterfaces:
- AssociatePublicIpAddress: true
SubnetId: !ImportValue pubsubnet-01a-id
DeviceIndex: 0
GroupSet:
- !ImportValue Bastion-sg-id
- !ImportValue default-sg-id

最佳答案

您只需将安全组的 ID 添加到 EC2 定义上的附加 SG 列表中,您可以通过从 security.yaml 中导出安全组的 ID 并导入来完成此操作来自 application.yaml

网络.yaml

  SampleVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
Tags:
- Key: Name
Value: sample-vpc
Outputs:
DefaultNetworkSG:
Value:
!GetAtt SampleVPC.DefaultSecurityGroup

安全.yaml

Outputs:
BastionSecurityGroupID:
Value:
Ref: BastionSecurityGroup

应用程序.yaml

  BastionEC2Instance:
Type: AWS::EC2::Instance
Properties:
SecurityGroupIds:
- !ImportValue: BastionSecurityGroupID
- !ImportValue: DefaultNetworkSG

关于amazon-web-services - 使用cloudformation,我想给默认安全组和SSH安全组作为实例的安全组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70803632/

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