web이라는 보안 그룹을 만듭니다. 예를 들어, 해당 그룹의 ID는 다음과 같습니다. sg-7aa91911
db라는 보안 그룹을 만듭니다. 소스가 sg-7aa91911 인 db 1433의 db 보안 그룹에 새 규칙 추가
자동 확장 실행 구성을 만들고 SecurityGroups를 sg-7aa91911 및 필요한 기타 구성으로 설정하십시오.
해당 실행 구성으로 자동 조절 그룹을 만듭니다.
이 작업을 수행하기 위해 빠른 CloudFormation 템플릿을 작성했습니다. 이를 실행할 수 있어야하며 연결된 보안 그룹이있는 자동 조절 그룹이 만들어집니다. 또한 db를 저장할 수있는 빈 인스턴스를 만듭니다.
CloudFormation 템플릿을 사용하지 않으려면 보안 그룹이 정의 된 위치를 확인하십시오. 2 개의 보안 그룹이 연결되는 방법을 보여줍니다.
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "test tempalte",
"Parameters" : {
"KeyName" : {
"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance",
"Type" : "String"
}
},
"Mappings" : {
"RegionMap" : {
"us-east-1" : { "AMI" : "ami-7f418316" },
"us-west-1" : { "AMI" : "ami-951945d0" },
"us-west-2" : { "AMI" : "ami-16fd7026" },
"eu-west-1" : { "AMI" : "ami-24506250" },
"sa-east-1" : { "AMI" : "ami-3e3be423" },
"ap-southeast-1" : { "AMI" : "ami-74dda626" },
"ap-northeast-1" : { "AMI" : "ami-dcfa4edd" }
}
},
"Resources" : {
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"AvailabilityZones" : { "Fn::GetAZs" : "" },
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
"MinSize" : "1",
"MaxSize" : "10",
"DesiredCapacity" : "1"
}
},
"LaunchConfig" : {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties" : {
"InstanceType" : "m1.small",
"KeyName" : { "Ref" : "KeyName" },
"SecurityGroups" : [ {"Ref" : "websg"} ],
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}
}
},
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]},
"UserData" : { "Fn::Base64" : "80" }
}
},
"websg" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Enable SSH and access, 8080, and 80",
"SecurityGroupIngress" : [
{"IpProtocol" : "tcp", "FromPort" : "8080", "ToPort" : "8080", "CidrIp" : "0.0.0.0/0"},
{"IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "CidrIp" : "0.0.0.0/0"},
{"IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : "0.0.0.0/0"}
]
}
},
"dbsg" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Port opened only to security group",
"SecurityGroupIngress" : [
{"IpProtocol" : "tcp", "FromPort" : "1433", "ToPort" : "1433", "SourceSecurityGroupName" : {"Ref" : "websg"}
}
]
}
}
}
}
규칙을 추가하여 주어진 보안 그룹의 모든 인스턴스를 인증 할 수없는 이유는 무엇입니까? 지역간에 액세스를 설정하려고하십니까? – datasage
나는 그 옵션에 개방적이다. 나는 같은 지역에 머물고있다. 나는 그것을 수행하는 방법을 모른다 (나는 AWS EC2를 처음 사용함). 보안 그룹에 IP 주소 만 추가 할 수 있다고 생각했습니다. – wisbucky
이것은 ip를 추가하는 것과 비슷하게 보안 그룹 ID를 지정합니다 (sg-XXXXXX로 시작). – datasage