22D. EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ Security Group์ ์ค์ ํ๋ ํ ํ๋ฆฟ
22D. EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ Security Group์ ์ค์ ํ๋ ํ ํ๋ฆฟ ๊ด๋ จ
EC2๋ง ์์ฑํ๋ฉด ์ธ๋ถ์์ ์ ๊ทผ์ ํ ์๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฐฉํ๋ฒฝ์ธ Security Group์ ์ค์ ํด์ค์ผ ํฉ๋๋ค. ๋ค์์ EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ SSH ํฌํธ์ธ 22๋ฒ, HTTP ํฌํธ์ธ 80๋ฒ์ ์ฌ๋ Security Group์ ์ค์ ํฉ๋๋ค.
Ec2Instance
โProperties
โSecurityGroups
: EC2 ์ธ์คํด์ค์์ ์ฌ์ฉํ Security Group์ ๋๋ค. ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.InstanceSecurityGroup
: InstanceSecurityGroup์ด๋ผ๊ณ ์์๋ก ๋ฆฌ์์ค ID๋ฅผ ์ ํ์ต๋๋ค.Type
: AWS ๋ฆฌ์์ค ์ข ๋ฅ์ ๋๋ค. Security Group์AWS::EC2::SecurityGroup
์ ๋๋ค.Properties
: Security Group์ ์์ฑํ ๋ ํ์ํ ์ต์ ์ ๋๋ค.SecurityGroupIngress
: ์ธ๋ถ์์ ๋ค์ด์ค๋ Inbound ํธ๋ํฝ์ ๋๋ค. AWS ์ฝ์์์ Security Group์ ์์ฑํ๋ ๊ท์น๊ณผ ๋์ผํฉ๋๋ค. FromPort์ ToPort๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ๋ฉด ํฌํธ ํฌ์๋ฉ ๊ธฐ๋ฅ์ด ๋ฉ๋๋ค. ๋ณดํต FromPort์ ToPort๋ ๋์ผํ๊ฒ ์ค์ ํฉ๋๋ค.
EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ SSH, HTTP ํฌํธ๋ฅผ ์ฌ๋ Security Group์ ์ค์ ํ๋ ํ ํ๋ฆฟ(
createec2instanceandsecuritygroup.template
)
{
"Description" : "Create an EC2 instance running the Amazon Linux 64 bit AMI.",
"Parameters" : {
"KeyPair" : {
"Description" : "The EC2 Key Pair to allow SSH access to the instance",
"Type" : "String",
"Default" : "awskeypair"
}
},
"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyPair" },
"ImageId" : "ami-c9562fc8",
"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
"InstanceType" : "t1.micro"
}
},
"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Allow HTTP and SSH access",
"SecurityGroupIngress" : [ {
"IpProtocol" : "tcp",
"FromPort" : "22",
"ToPort" : "22",
"CidrIp" : "0.0.0.0/0"
}, {
"IpProtocol" : "tcp",
"FromPort" : "80",
"ToPort" : "80",
"CidrIp" : "0.0.0.0/0"
} ]
}
}
},
"Outputs" : {
"InstanceId" : {
"Description" : "The InstanceId of the newly created EC2 instance",
"Value" : {
"Ref" : "Ec2Instance"
}
}
},
"AWSTemplateFormatVersion" : "2010-09-09"
}
AWS ์น์ฌ์ดํธ์ ๋ฌธ์๋ฅผ ๋ณด๋ฉด์ ํ ํ๋ฆฟ์ ๋ง๋๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง AWS์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์ ๊ณตํ๋ ํ ํ๋ฆฟ์ ์ฐธ๊ณ ํ๋ ๊ฒ๋ ํฐ ๋์์ด ๋ฉ๋๋ค. ๋ํ, ์ง๊ธ๊น์ง EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ง ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์ง๋ง ELB, Auto Scaling, RDS, ElastiCache, S3, Route 53๋ฑ ๋ค์ํ AWS ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ณ ์ค์ ํ๋ ํ ํ๋ฆฟ๋ ์ ๊ณตํฉ๋๋ค.
ํนํ ์ ๋งํฌ์์๋ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ํ ํ๋ฆฟ์ CloudFormation ์คํ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Chef๋ Puppet๊ณผ ์ฐ๋ํ ํ ํ๋ฆฟ๋ ์ ๊ณตํฉ๋๋ค.
Chef์ Puppet ์ฐ๋ ๋ฐฉ๋ฒ
Chef์ Puppet์ ๋ํด ๋ชจ๋ ์ค๋ช ํ๊ธฐ์๋ ๋ด์ฉ์ด ๋ฐฉ๋ํ๋ฏ๋ก ๋ค์ ๋งํฌ๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.