나는 cfn 스택을 가지고 있으며 VPC, 여러 보안 그룹 및 소수의 EC2 인스턴스를 생성합니다. 스택 내에서 생성 된 보안 그룹을 스택으로 생성 된 인스턴스에 할당하는 것은 쉽지 않습니다. 그러나 기본 VPC SG에 관심이 있습니다.
VPC가 생성되면 (GUI를 통해 수동으로, 클라우드 형식 또는 다른 방법으로) AWS는 해당 그룹의 모든 인스턴스에 대해 "모두 허용"규칙을 사용하여 기본 보안 그룹을 생성합니다.
내가하려고하는 것은이 기본 보안 그룹과 다른 여러 SG를 스택에 의해 생성 된 인스턴스에 할당하는 것입니다. 이것은 내가 예상했던 것보다 훨씬 더 어려운 것으로 판명되었습니다. 다음은 내가 진행중인 작업을 보여주는 스 니펫입니다.
"AllowSSHSecGroup":{
"Type":"AWS::EC2::SecurityGroup",
"Properties":{
"GroupDescription":"Allow SSH from anywhere",
"VpcId":{
"Ref":"DevVPC"
},
"SecurityGroupIngress":[
{
"IpProtocol":"tcp",
"FromPort":"22",
"ToPort":"22",
"CidrIp":"0.0.0.0/0"
}
]
}
},
"Instance001" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "ami-7eab224e",
"InstanceType" : "m1.large",
"AvailabilityZone" : "us-west-2a",
"PrivateIpAddress" : "10.22.0.110",
"SecurityGroupIds" : [ {"Ref" : "AllowSSHSecGroup"} ],
"SubnetId" : { "Ref" : "PublicSubnet" },
"KeyName" : "erik-key",
"DisableApiTermination" : "false",
"Tags" : [ { "Key": "Name", "Value": "Instance001"} ]
}
}
위의 스 니펫에서 "ssh 허용"보안 그룹을 생성하고이를 인스턴스에 할당합니다. 언급 한 바와 같이, 내 스택은 VPC (이 인스턴스가 시작된)를 생성하여 기본 보안 그룹을 생성합니다. 불행하게도이 그룹은 AWS에 의해 자동으로 생성되므로 그룹 ID를 스택에서 사용할 수 없으므로 ID로 참조 할 수 없습니다. 처음에는 SecurityGroups
속성이 옵션 이라고 생각했는데 기본 SG를 이름으로 참조 할 수있게되었습니다 default
. SecurityGroups
그러나이 속성은 VPC 보안 그룹이 아닌 EC2 보안 그룹 전용 이므로 작동하지 않습니다 .
그래서 나는 붙어 있습니다. 나는 한 이에 AWS를 지원하는 케이스를 열었지만, 지금까지, 그들은 도움이되지했습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?
SecurityGroupIngress
하여 합성 기본 보안 그룹을 참조하여, 단일 스택 배포 내에서, 당신이 원하는 것을 자기 참조를 얻을 수 있습니다