์์ฑ์ : gasida.cloudnet@
AWS Document
- AWS Security Group (๋ณด์ ๊ทธ๋ฃน)
- AWS Network Access Control List (๋คํธ์ํฌ ACL)
- ๋ณด์ ๊ทธ๋ฃน๊ณผ ๋คํธ์ํฌ ACL ๋น๊ต
- VPC ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก
- VPC ๋ณด์ ์์
0. AWS Network Security
- VPC ์ ๋ณด์์ ๊ฐํํ๊ณ ๋ชจ๋ํฐ๋ง ํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ์ ๊ณต
- Security Group
- Network ACL
- Network Security Check (Source Destination Check , Uncheck)
- VPC Flow Logs
- Traffic Mirroring
1. Security Group
1.1 Security Group (=๋ณด์ ๊ทธ๋ฃน) ์๊ฐ
์ธ์คํด์ค(Instance) ์ ๋ํ ์ธ๋ฐ์ด๋(Inbound) ๋ฐ ์์๋ฐ์ด๋(Outbound) ํธ๋ํฝ์ ์ ์ดํ๋ ๊ฐ์ ๋ฐฉํ๋ฒฝ ์ญํ
์ธ๋ฐ์ด๋(Inbound) ํธ๋ํฝ์ ์ ์ดํ๋ ๊ท์น๊ณผ ์์๋ฐ์ด๋(Outbound) ํธ๋ํฝ์ ์ ์ดํ๋ ๊ท์น์ ๊ฐ๊ฐ ๋์
์์๋ฐ์ด๋(Outbound) ๋ ๋ณ๋ก ์ธ๋ชจ ์๋ค
โ ๐ ๐ปโโ๏ธ ์ธ๋ถ ์ ์ ์ ํ ์ด๋ Security Group ID๋ฅผ ํตํ์ฌ ํน์ EC2 ๋ง ์ ์ ์ ํ ํ์ฉ ๊ฐ๋ฅ
๐๐ปโโ๏ธ ์ํ๋ฅผ ์ ์ฅ(Stateful) โ ๋งค์ฐ ์ค์ํ ๊ฐ๋ โ ์๋ 1.4 ์์ ํ์ธ
- ์ธ์คํด์ค์์ ์์ฒญ์ ์์ํ๋ฉด ํด๋น ์์ฒญ์ ์๋ต ํธ๋ํฝ์ ์ธ๋ฐ์ด๋ ๋ณด์ ๊ทธ๋ฃน ๊ท์น์ ๋งค์นญ๋์ง ์์๋ ์ธ๋ฐ์ด๋๊ฐ ํ์ฉ๋จ (Allow Return Traffic)
- Stateful ๊ธฐ๋ฅ์ด ์์ ๊ฒฝ์ฐ Stateless ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ Network ACL์ด ๋ํ์ ์ด๋ค.
- Network ACL ๊ท์น์ ์์ฒญ ํธ๋ํฝ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ํ์ฉ๊ณผ ๋ฆฌํด ํธ๋ํฝ์ ์์๋ฐ์ด๋ ๊ท์น์ ๋ฐ๋์ ์ง์ ํ์.
- Stateful ๊ธฐ๋ฅ์ด ์์ ๊ฒฝ์ฐ Stateless ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ Network ACL์ด ๋ํ์ ์ด๋ค.
- ์ธ์คํด์ค์์ ์์ฒญ์ ์์ํ๋ฉด ํด๋น ์์ฒญ์ ์๋ต ํธ๋ํฝ์ ์ธ๋ฐ์ด๋ ๋ณด์ ๊ทธ๋ฃน ๊ท์น์ ๋งค์นญ๋์ง ์์๋ ์ธ๋ฐ์ด๋๊ฐ ํ์ฉ๋จ (Allow Return Traffic)
ํ์ฉ(Allow) ๊ท์น์ ์ง์ ํ ์ ์์ง๋ง ๊ฑฐ๋ถ(Deny, Block) ๊ท์น์ ์ง์ ํ ์ ์์
๊ตฌ์ฑ ์์
- Inbound Rule : source address + destination port (range)
- Outbound Rule : destination address + destination port (range)
- IP Protocol : TCP, UDPโฆ
- ICMP types and codes
๐๐ปโโ๏ธ EC2 ์ Linux OS ์์ ๋์ํ๋ iptables ์๋ ์ ํ ๋ณ๊ฐ์ด๋ค. โ ์๋ 1.4.5) ์์ ํ์ธ
- Security Group๋ ๋ณดํต Hypervisor ๋จ์์ ์ ๊ณต๋์ด ์ง๋ ๊ธฐ๋ฅ์ด๋ค. โ ์๋ ๊ทธ๋ฆผ 1-1-1 ํ์ธ
์ธ์คํด์ค์ ์ต๋ 5๊ฐ์ Security Group(=๋ณด์ ๊ทธ๋ฃน)์ ํ ๋นํ ์ ์์
VPC๋ ์๋์ผ๋ก ๊ธฐ๋ณธ ๋ณด์ ๊ทธ๋ฃน์ ์ ๊ณต. ๊ธฐ๋ณธ ๋ณด์ ๊ทธ๋ฃน์ ์ญ์ ํ ์ ์์
๊ทธ๋ฆผ 1-1-1 ๋ณด์๊ทธ๋ฃน์ ํ์ด๋ฒ๋ฐ์ด์ ๋ ๋ฒจ์์ ์ ๊ณต๋จ
1.2 Network ACL ์๊ฐ
์๋ธ๋ท(Subnet) ๊ธฐ๋ฐ์ ์ธ๋ฐ์ด๋(Inbound) ๋ฐ ์์๋ฐ์ด๋(Outbound) ํธ๋ํฝ์ ์ ์ดํ๋ Second Level ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณต
์ธ๋ฐ์ด๋(Inbound) ํธ๋ํฝ์ ์ ์ดํ๋ ๊ท์น๊ณผ ์์๋ฐ์ด๋(Outbound) ํธ๋ํฝ์ ์ ์ดํ๋ ๊ท์น์ ๊ฐ๊ฐ ๋์ํ๋ ๋ฐ์ ํ ์ฐ๊ด์ด ์์
๋ณด์ ๊ทธ๋ฃน(Security Group)๊ณผ๋ ๋ค๋ฅด๊ฒ ์ํ๋ฅผ ์ ์ฅ ํ์ง ์์(Stateless)
Network ACL ๊ท์น์ ์์ฒญ ํธ๋ํฝ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ํ์ฉ๊ณผ ๋ฆฌํด ํธ๋ํฝ์ ์์๋ฐ์ด๋ ๊ท์น์ ๋ฐ๋์ ์ง์ ํ์
๋ฆฌํด ํธ๋ํฝ์ ๋ํ ์ ์ด๋ฅผ ์ํด์ ํ๋ฐ์ฑ ํฌํธ(Ephemeral port)์ ๋ํ ์ดํด๊ฐ ํ์ํจ โ ํ๋ฐ์ฑ ํฌํธ ๋ฒ์๋ก ํ์ฉ ํ์
ํ๋ฐ์ฑ ํฌํธ(Ephemeral port, ํน์ โ์์ ํฌํธโ)
์๋ฅผ ๋ค๋ฉด ์นํด๋ผ์ด์ธํธ๊ฐ ์น์๋ฒ์ ์ ์ ์ ์น์๋ฒ๋ TCP 80์ ํตํ์ฌ ์ฐ๊ฒฐ๋๊ณ ์นํด๋ผ์ด์ธํธ๊ฐ ์ด๊ฒ๋๋ ์์ ํฌํธ(์. TCP 52345) ๋ฅผ
Ephemeral port
โ์ ์์ด์์๋ ํฌํธโ ๋ค.ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉ๋๋ ์์ ํฌํธ๋ OS ๋ณ ๋ฒ์๊ฐ ๋ค๋ฅด๋ค
์ผ๋ฐ์ ์ผ๋ก IANA๊ถ๊ณ ๋ฐ ๋งฅ๊ณผ ์๋์ฐ(49152~65535), Linux(32768~61000) โ ์๋ Code ์ฐฝ ํ์ธ
์์ ํฌํธ ๊ด๋ จ ์ฐธ๊ณ ๋งํฌ
- https://en.wikipedia.org/wiki/Ephemeral_port
- https://www.cymru.com/jtk/misc/ephemeralports.html
- https://www.cyberciti.biz/tips/linux-increase-outgoing-network-sockets-range.html
1
2
3# ๋ฆฌ๋ ์ค์์ ์ฌ์ฉ๋๋ ์์ ํฌํธ(Ephemeral port) ๋ฒ์ ํ์ธ
$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999
๋ณด์ ๊ทธ๋ฃน(Security Group)๊ณผ๋ ๋ค๋ฅด๊ฒ ํ์ฉ ๋ฐ ๊ฑฐ๋ถ(์ฐจ๋จ) ๊ท์น์ ์ง์ ๊ฐ๋ฅ
๋ณด์ ๊ทธ๋ฃน(Security Group)๊ณผ๋ ๋ค๋ฅด๊ฒ Network ACL์ด ์ ์ฉ๋ ๋ชจ๋ ์๋ธ๋ท ๋ด๋ถ์ ์ธ์คํด์ค(EC2)์ ์ํฅ์ ๋ฏธ์นจ
- Network ACL์ ์ฌ๋ฌ ๊ฐ์ ์๋ธ๋ท์ ์ฐ๊ฒฐ๋ ์ ์์
๊ตฌ์ฑ์์
- source (inbound) or destination (outbound) addresses (CIDR block)
- IP protocols (TCP, UDPโฆ)
- destination port numbers
ํธ๋ํฝ ํ์ฉ ์ฌ๋ถ ํ๋จ ์ ๋ฒํธ์๋ฒ ๋๋ก์ ๊ท์น์ผ๋ก ์ฒ๋ฆฌํจ
๊ทธ๋ฆผ 1-2 ๋คํธ์ํฌACL์ ์๋ธ๋ท(Subnet) ๊ธฐ๋ฐ์์ ๋์
๋ณด์ ๊ทธ๋ฃน(Security Group) ๊ณผ ๋คํธ์ํฌ ACL ๊ฐ ์ฐจ์ด
1.3 ์ค์ต์ ์ํ ๊ตฌ์ฑ
1.3.1) Lab Topology
์์ธ
Region ์ ์ ๊ท VPC์ ์ ๊ท EC2 Instance (์น ์๋ฒ) ๊ฐ ๋ฐฐ์น๋์ด ์๊ณ ๊ฐ์ ์์ ์ ์งPC(HomePC)์์ EC2(์น ์๋ฒ)๋ฅผ ์ ์ํ๋ค
1.3.2) ๊ตฌ์ฑ์ ์ํ ๊ธฐ๋ณธ ์ค์
- ๋ณธ ์ค์ต์์ ํ์ฉํ AWS Region์
์์ธ
์ ๋๋ค. ํด๋น Region์ ๋ํ EC2-Key Pair๋ฅผ ์์ฑ ์์ธ
Region ์ ๋ฆฌ์์ค๋ CloudFormation์ ์ํด ์ธํ๋ผ๋ฅผ ์๋ ๊ตฌ์ถ (1.3.3ํญ์์ ์งํ)
1.3.3) CloudFormation
์์ธ Region์์ CloudFormation ์คํ์ ์์ฑํ๋ค.
- 1๋จ๊ณ ํ
ํ๋ฆฟ ์ง์
- ํ ํ๋ฆฟ ์ค๋น : ์ค๋น๋ ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ์์ค : Amazon S3 URL
- Amazon S3 URL : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/NetworkSecurity/Network-Security_SecurityGroup.yaml
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 2๋จ๊ณ ์คํ ์ธ๋ถ ์ ๋ณด ์ง์
- ์คํ ์ด๋ฆ : SG
- KeyName : ์์ ์ EC2-Key Pair ๋ฅผ ์ง์
- 3๋จ๊ณ ์คํ ์ต์
๊ตฌ์ฑ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 4๋จ๊ณ ๊ฒํ
- ์ฐ์ธก ํ๋จ
์คํ ์์ฑ
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
์์ธ CloudFormation ์์ฑ ์ธํ๋ผ
- VPC, 1 Subnet, 1 IGW, 1 Route table
- Amazon Linux 2 EC2 Instance(Public IP, User data ์ฌ์ฉ)
1.3.4) ๊ฒ์ฆ
์ฌ์ฉ์ PC์์
์์ธ
EC2 Instance Public IP ์ฃผ์๋ก SSH ์ ๊ทผํ๋ค. ์ ์ ๊ณ์ root / qwe1231
2$ ssh root@13.209.10.34
root@13.209.10.34's password: qwe123
1.3.5) ์ค์ต ์ ์ฌ์ ์ค์
๋ณด์ ๊ทธ๋ฃน '์์๋ฐ์ด๋ ๊ท์น' ์์ ๊ธฐ๋ณธ ๊ท์น์ ์ญ์ ํ๋ค
๋ณด์ ๊ทธ๋ฃน ์ค ์ค๋ช โEC2-Instance-SGโ ํด๋ฆญํ์ฌ ์ ํ ํ โ์์๋ฐ์ด๋ ๊ท์นโ ์ ํ ํ โ์์๋ฐ์ด๋ ๊ท์น ํธ์งโ ์ ํ
๊ธฐ๋ณธ ๊ท์น์ ์ญ์ - ์ ํ(๋ชจ๋ ํธ๋ํฝ) ๋์(0.0.0.0) โ ํ๋จ
๊ท์น ์ ์ฅ
(์ต์ ) VPC Flow Logs ๋ฅผ ์ค์ ํ๋ค โ ์ด ๋ถ๋ถ์ IAM , CloudWatch ๊ธฐ๋ณธ ์ง์์ด ํ์ํจ์ผ๋ก ํ์๋ง ์ค์ ํ๊ฒ๋๋ Skip ํ๋ฉด ๋๋ค
์ ๋ณด ์จ๊น
- EC2 ENI ์ VPC Flow Logs ์ค์
- Filter: Reject
- Interval : 1๋ถ
- Format : Custom format
- ${srcaddr} ${srcport} ${dstaddr} ${dstport} ${tcp-flags} ${protocol} ${action}
- tcp-flags ์ฐธ๊ณ
- SYN : 2
- SYN-ACK : 18
- FIN : 1
- RST : 4
- tcp-flags ์ฐธ๊ณ
- EC2 ENI ๋ก๊ทธ ๋ฐ์ โ ์ฐจ๋จ ๋ฐ์ ํ 1๋ถ30์ด ํ์ ๋ก๊ทธ์ ์์
- CloudWatch Log ํํฐ ์ฐธ๊ณ
- โ220.117.X.Xโ โ10.40.1.100โ โ 2๊ฐ์ IP๊ฐ ๋์ ์ผ์น ํํฐ(AND)
- ?โ220.117.X.Xโ ?โ10.40.1.100โ โ 2๊ฐ์ IP์ค ํ๋๋ง ์ผ์น ํํฐ(OR)
- ?โ80 2 6โ ?โ22 2 6โ โ TCP 80 SYN ํน์ TCP 22 SYN ์ OR ํํฐ
- โ80 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ TCP 80 SYN ํํฐ
- โ22 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ TCP 22 SYN ํํฐ
- โ10.40.1.100โ โ80 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ EC2๋ก Web ์๋ ํํฐ
- โ10.40.1.100โ โ22 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ EC2๋ก SSH ์๋ ํํฐ
1.4 Security Group ์ค์ ๋ฐ ํ์ธ
1.4.1) ํ์ฌ EC2 ์ ์ ์ฉ๋ Security Group ํ์ธ
์ธ๋ฐ์ด๋ ๊ท์น : ํด๋น EC2์ SSH๋ก ์ด๋ ์ฌ์ฉ์(0.0.0.0/0)๋ ์ ์ ๊ฐ๋ฅ
์์๋ฐ์ด๋ ๊ท์น : ์๋ฌด ์ ์ฑ ์ด ์์ผ๋ฏ๋ก ๋ชจ๋ ํธ๋ํฝ์ ์ฐจ๋จ
1.4.2) ์ธ๋ถ์์ EC2๋ก SSH ์ ์ ๋ฐ ํ์ธ
(1) ์ธ๋ถ(HomePC)์์ ๋ชฉ์ ์งIP๋ฅผ EC2์ EIP(13.209.10.34)๋ก ์ ์์ ํ๋ฉด, ์๋ ๊ทธ๋ฆผ ์ฒ๋ผ NAT ๊ธฐ๋ฅ์ ์ํด์ EC2 Private IP(10.40.1.100)์ผ๋ก ๋ณํํ๊ฒ ๋จ
(2) ์ธ๋ฐ์ด๋ ๊ท์น์ ๋ชฉ์ ์งPort 22์ ์ถ๋ฐ์งIP๋ 0.0.0.0/0 ์ผ๋ก ํ์ฉ์ด๋ฏ๋ก EC2 ๋ด๋ถ๋ก ์ ๋ฌํจ
(3) EC2 ๋ด๋ถ ์ดํ๋ฆฌ์ผ์ด์ (SSH)์์ ์ฒ๋ฆฌ ํ ๋ฆฌํด ํธ๋ํฝ(Return Traffic)๋ IP์ Port๋ฅผ ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง๋ฅผ ๋ฐ๊พผ ํ ๋๋์๊ฐ๋ค
(4) ์์๋ฐ์ด๋ ๊ท์น์ ์๋ฌด ๊ท์น์ด ์์ผ๋ฏ๋ก ์์น์ ์ผ๋ก๋ ๋ชจ๋ ํธ๋ํฝ์ด EC2์์ ์ธ๋ถ๋ก ๋น ์ ๋๊ฐ์ง ๋ชปํด์ผ ํ์ง๋ง ๋น ์ ธ๋๊ฐ๋ค ๐คท๐ปโโ๏ธ
- ์ด์ ๋ Stateful ๋์์ ์ํด EC2๋ก ์ธ์ ์ ์ํ๋ฅผ ๊ธฐ์ตํ๊ณ , ํด๋น ํธ๋ํฝ์ด ๋ฆฌํด(Return) ์ ํด๋น ํธ๋ํฝ์ ์์๋ฐ์ด๋ ๊ท์น๊ณผ ์๊ด์์ด ํ์ฉ๋จ
๋ฆฌํด ํธ๋ํฝ(Return Traffic)๋ IP์ Port๋ฅผ ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง๋ฅผ ๋ฐ๊พผ ํ ๋๋์๊ฐ๋ค
1
2
3
4$ ssh root@13.209.10.34
root@13.209.10.34's password:
[root@SGLAB-EC2 ~]# netstat -nap | grep ESTABLISHED
tcp 0 0 10.40.1.100:22 220.117.X.X:54812 ESTABLISHED 338/sshd: root@pts/
1.4.3) ๋ด๋ถ EC2์์ ์ธ๋ถ๋ก HTTP ์ ์ ๋ฐ ํ์ธ
๋ด๋ถ EC2์์ ์ธ๋ถ๋ก ์ ์ ์ ์์๋ฐ์ด๋ ๊ท์น์ ์ํด์ ์ฐจ๋จ๋จ
1
2
3
4
5# curl ifconfig.me
curl: (7) Failed to connect to ifconfig.me port 80: Connection timed out
# netstat -nap |grep curl
tcp 0 1 10.40.1.100:34972 216.239.36.21:80 SYN_SENT 418/curlํ์ฌ ์์๋ฐ์ด๋ ๊ท์น์ ์๋ฌด ๊ท์น๋ ์์
(์ต์ ) VPC Flow-logs ์๋ ๋ด๋ถEC2(10.40.1.100)์ด ์ธ๋ถ(216.239.36.21)๋ก TCP 80 ์ผ๋ก ์ ์ ์๋์์ ์ฐจ๋จ(REJECT) ๋จ์ ํ์ธ
์๋ฅผ ํตํ์ฌ ์ธ๋ฐ์ด๋์ ์์๋ฐ์ด๋ ๊ท์น์ด ๊ฐ๊ธฐ ๊ฐ๋ณ๋ก ๋์ํ๋ ๊ฒ์ ์ ์ ์๊ณ , Stateful ๋์์ ์ ์ ์๋ค
1.4.4) ๋ด๋ถ EC2์์ ์ธ๋ถ๋ก HTTP ์ ์ ์ค์ ์ ์ํ ์์๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ ๋ฐ ํ์ธ
์์๋ฐ์ด๋ ๊ท์น์ HTTP ์ ์์ ์ถ๊ฐํ๋ค
๋ค์ ๋ด๋ถ์์ ์ธ๋ถ๋ก HTTP ์ ์์ ์๋ํ๋ค โ ์๋ ์ฒ๋ผ ์ ์์ ์ผ๋ก ์๋ต์ด ๋์์จ๋ค
1
2
3# ifconfig.me ๋ก curl ์ ์์ ์ PC๊ฐ ์ธํฐ๋ท ์ ์ ์ ์์ ์ ๊ณต์ธIP๋ฅผ ์๋ ค์ค
# curl ifconfig.me
13.209.10.34์๋ ์ฒ๋ผ ์์๋ฐ์ด๋๋ก ํธ๋ํฝ์ด ์ธ๋ถ๋ก ๋๊ฐ๋ค๊ฐ ๋๋์์ค๋(Return) ํธ๋ํฝ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ์์ง๋ง, Stateful ๋์์ ์ํด์ ํ์ฉ๋จ
๐ก ์ผ๋ฐ์ ์ผ๋ก ์์๋ฐ์ด๋์ ๊ท์น์ ์ ์ฌ์ฉํ์ง๋ ์์ง๋ง, ๋ณด์ ๊ฐํ๊ฐ ํ์ ์(์, ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์ ๋ฌ ๋ฑ) ์ค์ ํด๋น EC2์์ ์ธ๋ถ์ ์ ์์ ์๋ํ๋ TCP UDP ์๋น์ค ํฌํธ ํน์ ์ธ๋ถ ์ ์ ์ง IP ์ ๋ณด๋ง ์ ์ ํ ์ ์๊ฒ ์ ํ์ ํ ์ ์๋ค.
1.4.5) ์ธ๋ถ์์ ๋ด๋ถ EC2๋ก HTTP ์ ์์ ์ํ ์ค์ ๋ฐ ํ์ธ
ํ์ฌ ์ํ์์ ํ์ธ
๋ด๋ถ EC2 ์์ ์น์๋น์ค ์ํ ํ์ธ โ ์ ์ ์ ์ ๋๋ฉฐ, iptables ์ ์๋ฌด๋ฐ ์ ์ฑ ์ด ์์(์ฆ ๋ชจ๋ ํ์ฉ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# curl localhost
<html><h1>Hello from Security Group Test Web Server</h1></html>
# netstat -anp |grep http
tcp6 0 0 :::80 :::* LISTEN 3563/httpd
# iptables -L -n -v
Chain INPUT (policy ACCEPT 208 packets, 14524 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 122 packets, 12192 bytes)
pkts bytes target prot opt in out source destination์ธ๋ถ์์ EC2๋ก ์น ์ ์ โ ์ธ๋ฐ์ด๋ ๊ท์น์ ํ์ฌ TCP 22(SSH)๋ง ํ์ฉ๋๋ฏ๋ก ์ฐจ๋จ๋จ
โ ์ฆ, ํ์ฌ ์ฐจ๋จ์ Linux OS์ iptables ์๋ ์๊ด ์๋ค๋ ๊ฒ์ด๋ค! , ๋ฌผ๋ก iptables ์ค์ ์ผ๋ก ์ฐจ๋จํ ์ ์์ผ๋ ์ด์ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ผ๋ก ๋น๊ถ์ฅํ๋ค
1
2$ curl 13.209.10.34
curl: (7) Failed to connect to 13.209.10.34 port 80: Operation timed out(์ต์ ) VPC Flow-logs ์๋ ์ฐจ๋จ(REJECT) ๋จ์ ํ์ธ
์ธ๋ฐ์ด๋ ๊ท์น์ HTTP ์ถ๊ฐ
์ธ๋ถ์์ EC2๋ก ์น ์ ์ โ ์ฑ๊ณต!
1
2$ curl 13.209.10.34
<html><h1>Hello from Security Group Test Web Server</h1></html>์๋ ๊ทธ๋ฆผ ์ฒ๋ผ (1) ์ธ๋ถ์์ EIP๋ก HTTP๋ก ์ ์๋๊ณ NAT ํ (2) ์ธ๋ฐ์ด๋ ๊ท์น(TCP 80)์ ํ์ฉ๋์ด (3) EC2 ๋ด๋ถ๋ก ์ธ์ ๋์ด ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฒ๋ฆฌ ํ (4) ํธ๋ํฝ์ด ๋ฆฌํด ๋๋ค.
1.5 ์์ฑํ ์์ ์ญ์
์์ธ
Region์์ CloudFormation ์คํ์ ์ญ์ ํ๋ค
2. Network Access Control List
2.1 ์ค์ต์ ์ํ ๊ตฌ์ฑ
2.1.1) Lab Topology
์์ธ
Region ์ ์ ๊ท VPC์ ์ ๊ท EC2 Instance (์น ์๋ฒ) 2๋๊ฐ ๋ฐฐ์น๋์ด ์๊ณ ๊ฐ์ ์์ ์ ์งPC(HomePC)์์ EC2(์น ์๋ฒ)๋ฅผ ์ ์ํ๋ค
2.1.2) ๊ตฌ์ฑ์ ์ํ ๊ธฐ๋ณธ ์ค์
- ๋ณธ ์ค์ต์์ ํ์ฉํ AWS Region์
์์ธ
์ ๋๋ค. ํด๋น Region์ ๋ํ EC2-Key Pair๋ฅผ ์์ฑ ์์ธ
Region ์ ๋ฆฌ์์ค๋ CloudFormation์ ์ํด ์ธํ๋ผ๋ฅผ ์๋ ๊ตฌ์ถ (2.1.3ํญ์์ ์งํ)
2.1.3) CloudFormation
์์ธ Region์์ CloudFormation ์คํ์ ์์ฑํ๋ค.
- 1๋จ๊ณ ํ
ํ๋ฆฟ ์ง์
- ํ ํ๋ฆฟ ์ค๋น : ์ค๋น๋ ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ์์ค : Amazon S3 URL
- Amazon S3 URL : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/NetworkSecurity/Network-NetworkACL.yaml
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 2๋จ๊ณ ์คํ ์ธ๋ถ ์ ๋ณด ์ง์
- ์คํ ์ด๋ฆ : NACL
- KeyName : ์์ ์ EC2-Key Pair ๋ฅผ ์ง์
- 3๋จ๊ณ ์คํ ์ต์
๊ตฌ์ฑ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 4๋จ๊ณ ๊ฒํ
- ์ฐ์ธก ํ๋จ
์คํ ์์ฑ
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
์์ธ CloudFormation ์์ฑ ์ธํ๋ผ
- VPC, 1 Subnet, 1 IGW, 1 Route table
- Amazon Linux 2 EC2 Instance(User data ์ฌ์ฉ) - 2๋
2.1.4) ๊ฒ์ฆ
์ฌ์ฉ์ PC์์
์์ธ
EC2(2๋)์ Public IP ์ฃผ์๋ก ๊ฐ๊ฐ SSH ์ ๊ทผํ๋ค. ์ ์ ๊ณ์ root / qwe1231
2$ ssh root@*'EC2 Public IP'*
root@*'EC2 Public IP'*s password: qwe123
2.1.5) ์ค์ต ์ ์ฌ์ ์ค์
๋ณด์ ๊ทธ๋ฃน '์ธ๋ฐ์ด๋ ๊ท์น' ๊ณผ '์์๋ฐ์ด๋ ๊ท์น' ์ '๋ชจ๋ ํ์ฉ' ๋๊ณ ์์์ ํ์ธ โ Network ACL ์ค์ต์ ์ํฅ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํจ
(์ต์ ) VPC Flow Logs ๋ฅผ ์ค์ ํ๋ค โ ์ด ๋ถ๋ถ์ IAM , CloudWatch ๊ธฐ๋ณธ ์ง์์ด ํ์ํจ์ผ๋ก ํ์๋ง ์ค์ ํ๊ฒ๋๋ Skip ํ์๋ฉด ๋๋ค
์ ๋ณด ์จ๊น
- Subnet(SGLAB2-Subnet0101) ์ VPC Flow Logs ์ค์
- Filter: Reject
- Interval : 1๋ถ
- Format : Custom format
- ${srcaddr} ${srcport} ${dstaddr} ${dstport} ${tcp-flags} ${protocol} ${action}
- tcp-flags ์ฐธ๊ณ
- SYN : 2
- SYN-ACK : 18
- FIN : 1
- RST : 4
- tcp-flags ์ฐธ๊ณ
- EC2 ENI ๋ก๊ทธ ๋ฐ์ โ ์ฐจ๋จ ๋ฐ์ ํ 1๋ถ30์ด ํ์ ๋ก๊ทธ์ ์์
- CloudWatch Log ํํฐ ์ฐธ๊ณ
- โ220.117.X.Xโ โ10.40.1.100โ โ 2๊ฐ์ IP๊ฐ ๋์ ์ผ์น ํํฐ(AND)
- ?โ220.117.X.Xโ ?โ10.40.1.100โ โ 2๊ฐ์ IP์ค ํ๋๋ง ์ผ์น ํํฐ(OR)
- ?โ80 2 6โ ?โ22 2 6โ โ TCP 80 SYN ํน์ TCP 22 SYN ์ OR ํํฐ
- โ80 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ TCP 80 SYN ํํฐ
- โ22 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ TCP 22 SYN ํํฐ
- โ10.40.1.100โ โ80 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ EC2๋ก Web ์๋ ํํฐ
- โ10.40.1.100โ โ22 2 6โ -โ443โ -โ805โ -โ808โ -โ809โ -โ123โ โ EC2๋ก SSH ์๋ ํํฐ
2.2 Network ACL ์ค์ ๋ฐ ํ์ธ
2.2.1) ํ์ฌ Subnet(SGLAB2-Subnet0101) ์ ์ ์ฉ๋ Network ACL ํ์ธ
(default) Network ACL ์ธ๋ฐ์ด๋ ๊ท์น : ๊ธฐ๋ณธ์ ์ผ๋ก โrule #100 ๋ชจ๋ ํธ๋ํฝ์ ํ์ฉโ ํจ, ๋งจ ํ๋จ์ ๋ชจ๋ ์ฐจ๋จ์ผ๋ก ์ฐ์ ์์๊ฐ ๋ฎ์์ ํ์ฌ ์ ์ฉ๋์ง ์์
(default) Network ACL ์์๋ฐ์ด๋ ๊ท์น : ์ ์ธ๋ฐ์ด๋ ๊ท์น๊ณผ ๋์ผ, ๋ชจ๋ ํธ๋ํฝ์ ํ์ฉ
2.2.2) ์ ๊ท Network ACL ์์ฑ ์ ์ฉ ๋ฐ ํ์ธ
[VPC - ๋ณด์ - ๋คํธ์ํฌ ACL] ์๋จ
๋คํธ์ํฌ ACL ์์ฑ
ํด๋ฆญ- ์ด๋ฆ ํ๊ทธ : NACL1
- VPC : (SGLAB2) ์ ํ
- ํ๋จ
์์ฑ
ํด๋ฆญ
- ํ๋จ
[VPC - ๋ณด์ - ๋คํธ์ํฌ ACL] ์์ฑ๋
NACL1
์ ํ โ ์๋จ์์
์ ํ โ์๋ธ๋ท ์ฐ๊ฒฐ ํธ์ง
ํด๋ฆญ์๋ ์ฒ๋ผ 10.41.0.0/24 ์๋ธ๋ท์ ์ฐ๊ฒฐ ํด์ฃผ๊ธฐ ์ํด์ ์ ํ ํ ํ๋จ
ํธ์ง
ํด๋ฆญ
[VPC - ๋ณด์ - ๋คํธ์ํฌ ACL] ์์ฑ๋
NACL1
์ ํ ํ default ๊ท์น ํ์ธ์ ๊ท ์์ฑ๋ Network ACL ์ธ๋ฐ์ด๋ ๊ท์น : ์ธ์ ๋๋ ๋ชจ๋ ํธ๋ํฝ์ ์ฐจ๋จ
์ ๊ท ์์ฑ๋ Network ACL ์์๋ฐ์ด๋ ๊ท์น : ์ธ์ ๋๋ ๋ชจ๋ ํธ๋ํฝ์ ์ฐจ๋จ
2.2.3) NACL1 Network ACL ๊ท์น ํธ์ง 1
๋ชฉ์ : ์ธ๋ถ์์ EC2๋์ญ์ ๋ํ SSH ์ ์์ ํ์ฉ (Network ACL inbound outbound rule)
NACL Name: NACL1 ์ ํ ํ Inbound Rule (์ธ๋ฐ์ด๋ ๊ท์น) ํธ์ง
๊ท์น(10), ์ ํ(SSH) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(22), ์์ค(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
- ํฌํธ๋ฒ์๋ ํธ๋ํฝ ์ธ์ ์ ๋ชฉ์ ์ง ํฌํธ ๋ฒ์์ด๋ค
- ์์คIP๋ ํธ๋ํฝ ์ธ์
์ ์ถ๋ฐ์งIP ๋ฒ์์ด๋ค
- ์ดํ ์ ์ฅ ์ ์ตํ๋จ์ ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
์์๋ฐ์ด๋ ๊ท์น๋ ๊ธฐ๋ณธ(๋ํดํธ)๋ก ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
์ธ๋ถ์์ EC2 ๋ก SSH ์ ์ ํ์ธ
์ธ๋ถ์์ EC2 SSH ์ ์์ด ๋ถ๊ฐ๋ฅํ๋ค
1
2
3
4
5HomePC$ ssh root@13.125.132.54
ssh: connect to host 13.125.132.54 port 22: Operation timed out
HomePC$ ssh root@52.78.166.174
ssh: connect to host 52.78.166.174 port 22: Operation timed out(์ต์ ) Cloudwatch ์๋ EC2๋ก ์ธ์ ๋์์ง๋ง ๋ฆฌํด ํธ๋ํฝ(TCP-SYN ์ 18๋ก ํํ)์ด outbound rule ์ ์ํด์ REJECT ๋จ์ ํ์ธ
์ด์ : inbound rule ํ์ฉ๋์ง๋ง ์ดํ ์๋ต ํธ๋ํฝ์ด outbound rule ์ ์ํด ์ฐจ๋จ
โ ๋ณด์ ๊ท์น(Security group)๊ณผ๋ ๋ค๋ฅด๊ฒ Stateful ํ์ง ์๊ณ , Stateless ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌํด ํธ๋ํฝ์ ๋ํ ํ์ฉ์ ์์๋ฐ์ด๋ ๊ท์น์ ์ถ๊ฐํด์ผ ํ๋ค
ํธ๋ํฝ ํ๋ฆ์ ๋ฐ๋ฅธ ์ค๋ช
(1) ์ธ๋ถ(HomePC)์์ EC2์ PublicIP(13.125.132.54)๋ก SSH ์ ์์ ์๋ํ๋ค
(2) NAT ๊ธฐ๋ฅ์ ์ํด์ ๋ชฉ์ ์ง PublicIP(13.125.132.54) ๋ฅผ PrivateIP(10.40.1.100)์ผ๋ก ๋ณ๊ฒฝํ๋ค
(3) Network ACL์ ์ํด์ ์ถ๋ฐ์งIP๊ฐ 0.0.0.0/0 ์ด๊ณ ๋ชฉ์ ์ง ํฌํธ SSH 22 ์ด๋ฏ๋ก ํ์ฉ(ALLOW) ๋๋ค
(4) EC2 ๋ด๋ถ์ SSH ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ฒ๋ฆฌ ํ๋ค
(5) ๋ฆฌํด ํธ๋ํฝ์ด๋ฏ๋ก ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง์ IP์ Port ๊ฐ ๋ค๋ฐ๋์ด ์ ๋ฌ๋๋ค
(6) ๋ฆฌํด ํธ๋ํฝ์ด Network ACL ์์๋ฐ์ด๋์ ๊ท์น์ ์ํด์ ์ฐจ๋จ ๋๋ค
2.2.4) NACL1 Network ACL ๊ท์น ํธ์ง 2 - Stateless ์ด๋ฏ๋ก ๋ฆฌํด ํธ๋ํฝ(Return)์ ๋ํ ํ์ฉ ์ถ๊ฐ
NACL Name: NACL1 ์ ํ ํ Outbound Rule (์์๋ฐ์ด๋ ๊ท์น) ํธ์ง
- ๊ท์น(110), ์ ํ(์ฌ์ฉ์์ง์ TCP๊ท์น) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(32768-65535), ๋์(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
- ํฌํธ๋ฒ์๋ ๋์๊ฐ๋ ํธ๋ํฝ์ ๋ชฉ์ ์ง ํฌํธ ๋ฒ์์ด๋ค โ ๋งฅ ์๋์ฐ ๋ฆฌ๋
์ค์ ๋ชจ๋ ์์ ํฌํธ ๋ฒ์๋ฅผ ํฌํจํ ๋ฒ์
- ์ธ๋ถ์์ SSH ๋ก ์ ์ ์ ํด๋ผ์ด์ธํธ์ ์์ค ํฌํธ๋ ์์ ํฌํธ(Ephemeral port ์ ์์ด์์๋ ํฌํธ) ์ด๋ค
- ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉ๋๋ ์์ ํฌํธ๋ OS๋ณ ๋ฒ์๊ฐ ๋ค๋ฅด๋ค
- ์ผ๋ฐ์ ์ผ๋ก IANA๊ถ๊ณ ๋ฐ ๋งฅ๊ณผ ์๋์ฐ(49152
65535), Linux(3276861000)
- ์ธ๋ถ์์ SSH ๋ก ์ ์ ์ ํด๋ผ์ด์ธํธ์ ์์ค ํฌํธ๋ ์์ ํฌํธ(Ephemeral port ์ ์์ด์์๋ ํฌํธ) ์ด๋ค
- ๋์๋ ๋์๊ฐ๋ ํธ๋ํฝ์ ๋ชฉ์ ์งIP ๋ฒ์์ด๋ค
- ์ดํ ์ ์ฅ ์ ์ตํ๋จ์ ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
- ํฌํธ๋ฒ์๋ ๋์๊ฐ๋ ํธ๋ํฝ์ ๋ชฉ์ ์ง ํฌํธ ๋ฒ์์ด๋ค โ ๋งฅ ์๋์ฐ ๋ฆฌ๋
์ค์ ๋ชจ๋ ์์ ํฌํธ ๋ฒ์๋ฅผ ํฌํจํ ๋ฒ์
- ๊ท์น(110), ์ ํ(์ฌ์ฉ์์ง์ TCP๊ท์น) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(32768-65535), ๋์(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
์์๋ฐ์ด๋ ๊ท์น์ ์๋์ ๊ฐ์ด ์ค์ ์ด ๋๋ค
์ธ๋ถ์์ ๋ด๋ถ์ EC2 2๋ ๋ชจ๋๋ก SSH ์ ์ ํ์ธ
์ธ๋ถ์์ EC2 SSH ์ ์์ด ๊ฐ๋ฅํ๋ค โ HomePC์ ์์คํฌํธ๋ฅผ ๋ณด๋ฉด ์์ํฌํธ ์ค ๋๋คํ๊ฒ ํ ๋นํด์ ์ ์ํ ๊ฒ์ ์ ์ ์๋ค
1
2
3
4
5
6
7HomePC$ ssh root@13.125.132.54
[root@SGLAB2-EC2-1 ~]# netstat -anp |grep 220.117
tcp 0 0 10.41.1.100:22 220.117.X.X:55260 ESTABLISHED 3775/sshd: root@pts
HomePC$ ssh root@52.78.166.174
[root@SGLAB2-EC2-2 ~]# netstat -anp |grep 220.117
tcp 0 0 10.41.1.200:22 220.117.X.X:52255 ESTABLISHED 3815/sshd: root@pts
ํธ๋ํฝ ํ๋ฆ์ ๋ฐ๋ฅธ ์ค๋ช
(1) ์ธ๋ถ(HomePC)์์ EC2์ PublicIP(13.125.132.54)๋ก SSH ์ ์์ ์๋ํ๋ค. HomePC ์์ ์ ์์คํฌํธ๋ ์์ํฌํธ ๋ฒ์ ์ค ๋๋ค ์ ํํ๋ค
(2) NAT ๊ธฐ๋ฅ์ ์ํด์ ๋ชฉ์ ์ง PublicIP(13.125.132.54) ๋ฅผ PrivateIP(10.40.1.100)์ผ๋ก ๋ณ๊ฒฝํ๋ค
(3) Network ACL์ ์ํด์ ์ถ๋ฐ์งIP๊ฐ 0.0.0.0/0 ์ด๊ณ ๋ชฉ์ ์ง ํฌํธ SSH 22 ์ด๋ฏ๋ก ํ์ฉ(ALLOW) ๋๋ค
(4) EC2 ๋ด๋ถ์ SSH ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ฒ๋ฆฌ ํ๋ค
(5) ๋ฆฌํด ํธ๋ํฝ์ด๋ฏ๋ก ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง์ IP์ Port ๊ฐ ๋ค๋ฐ๋์ด ์ ๋ฌ๋๋ค
(6) ๋ฆฌํด ํธ๋ํฝ์ด Network ACL ์์๋ฐ์ด๋์ ๊ท์น์ ํ์ฉ๋์ด ํต๊ณผํ๋ค โ ๋ชฉ์ ์ง ํฌํธ 55260 ์ด 32768~65535 ๋ฒ์์ ์ํจ
(7) ์์คIP๊ฐ PublicIP๋ก NAT(๋ณ๊ฒฝ)๋์ด HomePC๋ก ๋์ฐฉํ์ฌ ์ฒ๋ฆฌ๊ฐ ๋๋ค
๐ก ์ ์ํฉ์์๋ EC2 ๊ฐ์๋ ๋ชจ๋ ํธ๋ํฝ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ํ์ฌ ๋ณด์๊ทธ๋ฃน(Security group)๋ โAll Traffic ํ์ฉโ ์ํ์ด๊ณ Network ACL์ 10.41.0.0/24(Subnet)์์ ๋ค๋ฅธ ๋์ญ๊ณผ ํต์ ์์๋ง ์ ์ฉ์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์) [root@SGLAB2-EC2-1 ~]# ping 10.41.1.200 โ ping ok
2.2.5) NACL1 Network ACL ๊ท์น ํธ์ง 3
๋ชฉ์ : ์ธ๋ถ์์ EC2๋์ญ์ ๋ํ HTTP ์ ์์ ํ์ฉ
ํ์ฌ๋ ์ธ๋ถ(HomePC) ์์ EC2(์น์๋ฒ)๋ก HTTP ์ ์์ด ์ฐจ๋จ๋จ
1
2
3
4
5HomePC$ curl 13.209.84.198
curl: (7) Failed to connect to 13.209.84.198 port 80: Operation timed out
HomePC$ curl 52.79.50.197
curl: (7) Failed to connect to 52.79.50.197 port 80: Operation timed out
NACL Name: NACL1 ์ ํ ํ Inbound Rule (์ธ๋ฐ์ด๋ ๊ท์น) ํธ์ง
๊ท์น(20), ์ ํ(HTTP) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(80), ์์ค(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
- ์ดํ ์ ์ฅ ์ ์ตํ๋จ์ ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
NACL Name: NACL1 ์ ํ ํ Outbound Rule (์์๋ฐ์ด๋ ๊ท์น)
- ์ด๋ฏธ ์์์ ์์ํฌํธ์ ๋ํ ํ์ฉ์ด ์์ผ๋ฏ๋ก ์ถ๊ฐ ์ค์ ํ์ ์์
ํ์ธ
์ธ๋ถ์์ EC2 HTTP ์ ์์ด ๊ฐ๋ฅํ๋ค
1
2
3
4
5HomePC$ curl 13.209.84.198
<html><h1>Hello from Network ACL Test Web Server 1 - IP 10.41.1.100</h1></html>
HomePC$ curl 52.79.50.197
<html><h1>Hello from Network ACL Test Web Server 2 - IP 10.41.1.200</h1></html>ํ์ง๋ง ์์ง๋ ๋ด๋ถ์ธ EC2์์ ์ธ๋ถ๋ก ์ธํฐ๋ท๋ ์ฐจ๋จ๋จ
- ec2$ curl www.google.com
2.2.6) NACL1 Network ACL ๊ท์น ํธ์ง 4
๋ชฉ์ : ๋ด๋ถ EC2 ์์ ์ธ๋ถ๋ก ์ธํฐ๋ท ์ ์ ๋ฐ ๋ค์ด๋ก๋ ๊ฐ๋ฅ (ํจ์น ์์ ๋ฑ ํ์)
ํ์ฌ๋ ๋ด๋ถ์ธ EC2์์ ์ธ๋ถ๋ก ์ธํฐ๋ท ์ ์์ด ์ฐจ๋จ๋จ
1
2
3
4
5[root@SGLAB2-EC2-1 ~]# curl ifconfig.me
curl: (7) Failed to connect to ifconfig.me port 80: Connection timed out
[root@SGLAB2-EC2-2 ~]# curl ifconfig.me
curl: (7) Failed to connect to ifconfig.me port 80: Connection timed out
NACL Name: NACL1 ์ ํ ํ Outbound Rule (์ธ๋ฐ์ด๋ ๊ท์น) ํธ์ง
๊ท์น(120), ์ ํ(HTTP) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(80), ์์ค(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
๊ท์น(130), ์ ํ(HTTPS) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(443), ์์ค(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
EC2 ์ ์ฅ์์ ์์ ์ด ํด๋ผ์ด์ธํธ๊ฐ ๋์ด์ ์ธ๋ถ์ ์ธํฐ๋ท ์น์๋ฒ์ ์ ์์ ์๋ ์์ ๋ํ ํ์ฉ
์ดํ ์ ์ฅ ์ ์ตํ๋จ์ ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
NACL Name: NACL1 ์ ํ ํ Inbound Rule (์ธ๋ฐ์ด๋ ๊ท์น) ํธ์ง
๊ท์น(30), ์ ํ(์ฌ์ฉ์์ง์ TCP๊ท์น) - ํ๋กํ ์ฝ(TCP), ํฌํธ๋ฒ์(32768-61000), ์์ค(0.0.0.0/0), ํ์ฉ/๊ฑฐ๋ถ(ALLOW)
๋ฆฌํดํธ๋ํฝ์ ์ธ๋ฐ์ด๋๊ท์น์ ํ์ฉ๋๊ฒ Amazon Linux ์ฌ์ฉํ๋ ์์ ํฌํธ(Ephemeral port) ๋ฒ์๋ฅผ ์ง์ ํ๋ค
1
2[root@SGLAB2-EC2-1 ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999์ดํ ์ ์ฅ ์ ์ตํ๋จ์ ๋ชจ๋ ํธ๋ํฝ์ ๊ฑฐ๋ถ DENY Rule ์ด ์กด์ฌํ๋ค
ํ์ธ
๋ด๋ถ EC2 ์์ ์ธ๋ถ๋ก HTTP ์ ์์ด ๊ฐ๋ฅํ๋ค
1
2
3
4
5
6
7
8
9[root@SGLAB2-EC2-1 ~]# curl ifconfig.me
13.209.84.198
[root@SGLAB2-EC2-1 ~]# curl https://checkip.amazonaws.com/
13.209.84.198
[root@SGLAB2-EC2-2 ~]# curl ifconfig.me
52.79.50.197
[root@SGLAB2-EC2-2 ~]# curl https://checkip.amazonaws.com/
52.79.50.197
์ต์ข Network ACL ๊ท์น ํ์ธ
์ธ๋ฐ์ด๋ ๊ท์น
์์๋ฐ์ด๋ ๊ท์น
2.3 ์์ฑํ ์์ ์ญ์
- ์ ๊ท ์์ฑํ NACL1 Network ACL ์ ์ญ์ ํ๋ค
์์ธ
Region์์ CloudFormation ์คํ์ ์ญ์ ํ๋ค
3. Security Group ID ๋ฅผ ํ์ฉํ ๋ณด์ ๊ท์น
3.1 Security Group ID ๋ฅผ ํ์ฉํ ๋ณด์ ๊ท์น ์๊ฐ
๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น์ ์์ค์ ์์๋ฐ์ด๋ ๊ท์น์ ๋์์ IP ๋์ ๋ณด์๊ทธ๋ฃนID(=Security Group ID)๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค
ํต์ ํ๋ ค๋ IP ๋์์ด ์ ๋์ ์ผ ๊ฒฝ์ฐ์ ํ์ฉ ํ ์ ์๋ค. ์) EC2 ์คํ ์ค์ผ์ผ ํ๊ฒฝ
- (์คํ ์ค์ผ์ผ ๊ทธ๋ฃน : ์น์๋ฒ1-10.1.1.1 ์น์๋ฒ2-10.1.1.2 ์น์๋ฒ3-10.1.1.3 โฆ) โ DB์๋ฒ 10.2.1.11
- ๊ธฐ์กด์ DB์๋ฒ์ ์ธ๋ฐ์ด๋ ๊ท์น์ 10.1.1.1~3 ํ์ฌ 3๊ฐ์ IP๋ง ์ ์์ด ๋๊ฒ ์ค์ ๋์ด ์๋ค
- ํ์ง๋ง ์ฌ์ฉ์ ํธ๋ํฝ์ ์ฆ๊ฐ์ ๋ฐ๋ผ์ ์น์๋ฒ4(10.1.1.4)๊ฐ ์ ๊ท ๋ฐฐ์น๊ฐ ๋๋ฉด DB์๋ฒ ์ธ๋ฐ์ด๋ ๊ท์น์ 10.1.1.4/32 ๋ฅผ ์ถ๊ฐํด์ค์ผ ํ๋ค
- ์ ์ ๊ฐ์ด IP๋์์ด ์ ๋์ ์ผ ๊ฒฝ์ฐ์๋ DB์๋ฒ์ ์ธ๋ฐ์ด๋ ๊ท์น์ IP List ๋์ ์น์๋ฒ๊ฐ ์ฌ์ฉํ๋ Security Group ID๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ์ฆ, DB์๋ฒ์ ๊ฒฝ์ฐ ์ธ์ ๋๋ ์์คIP๋ฅผ ์น์๋ฒ์ ์ฐ๊ฒฐ๋ Security Group ID๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์น์๋ฒ๋ฅผ ํ์ฉํด์ฃผ๊ฒ ๋๋ค.
- ๊ทธ๋ผ ์ ๊ท ์น์๋ฒ4๋ฒ์ด ์์ฑ๋๋๋ผ๋ ๊ธฐ์กด ์น์๋ฒ์ ๋์ผํ Security Group ID ๋ฅผ ์ฌ์ฉํ๋ DB์๋ฒ ์ ์ฅ์์ ํ์ฉํ๊ฒ ๋๋ค.
์๋๋ DB์๋ฒ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ์์ค๋ฅผ IP๊ธฐ๋ฐ์ผ๋ก ์ค์ ์
- ์๋๋ DB์๋ฒ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ์์ค๋ฅผ Security Group ๊ธฐ๋ฐ์ผ๋ก ์ค์ ์
3.2 ์ค์ต์ ์ํ ๊ตฌ์ฑ - ์น๊ณผ DB๊ฐ ๋ณด์ ์ค์ ์์
3.2.1) Lab Topology
์์ธ
Region ์ ์ ๊ท VPC์ ์ ๊ท EC2 Instances (์น ์๋ฒ 2๋, DB 1๋) ๊ฐ ๋ฐฐ์น๋์ด ์๊ณ ๊ฐ์ ์์ ์ ์งPC(HomePC)์์ EC2(์น ์๋ฒ)๋ฅผ ์ ์ํ๋ค.
3.2.2) ๊ตฌ์ฑ์ ์ํ ๊ธฐ๋ณธ ์ค์
- ๋ณธ ์ค์ต์์ ํ์ฉํ AWS Region์
์์ธ
์ ๋๋ค. ํด๋น Region์ ๋ํ EC2-Key Pair๋ฅผ ์์ฑ ์์ธ
Region ์ ๋ฆฌ์์ค๋ CloudFormation์ ์ํด ์ธํ๋ผ๋ฅผ ์๋ ๊ตฌ์ถ (3.2.3ํญ์์ ์งํ)
3.2.3) CloudFormation
์์ธ Region์์ CloudFormation ์คํ์ ์์ฑํ๋ค.
- 1๋จ๊ณ ํ
ํ๋ฆฟ ์ง์
- ํ ํ๋ฆฟ ์ค๋น : ์ค๋น๋ ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ์์ค : Amazon S3 URL
- Amazon S3 URL : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/NetworkSecurity/Network-SGID.yaml
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 2๋จ๊ณ ์คํ ์ธ๋ถ ์ ๋ณด ์ง์
- ์คํ ์ด๋ฆ : SGID
- KeyName : ์์ ์ EC2-Key Pair ๋ฅผ ์ง์
- 3๋จ๊ณ ์คํ ์ต์
๊ตฌ์ฑ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 4๋จ๊ณ ๊ฒํ
- ์ฐ์ธก ํ๋จ
์คํ ์์ฑ
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
์์ธ CloudFormation ์์ฑ ์ธํ๋ผ
- VPC, 1 Subnet, 1 IGW, 1 Route table
- Amazon Linux 2 EC2 Instance 3๋ (Public IP, User data ์ฌ์ฉ - ์น์๋ฒ2๋, DB์๋ฒ1๋
3.2.4) ๊ฒ์ฆ
์ฌ์ฉ์ PC์์
์์ธ
EC2(3๋) Instances Public IP ์ฃผ์๋ก SSH ์ ๊ทผํ๋ค. ์ ์ ๊ณ์ root / qwe1231
2$ ssh root@13.209.10.34
root@13.209.10.34's password: qwe123Web1 ๊ณผ Web2 EC2์์ DB EC2(10.42.1.200) ๋ก mysql ์ ์. DB ์ ์ ๊ณ์ gasida / qwe123
1
2
3
4
5
6
7
8
9
10
11
12
13[root@WEB1 ~]# mysql -h 10.42.1.200 -P 3306 -ugasida -pqwe123
Welcome to the MariaDB monitor. Commands end with ; or \g.
..
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sample |
+--------------------+
4 rows in set (0.00 sec)Web1 ๊ณผ Web2 ์ PublicIP ๋ก ์น ์ ์ ์ index.php ํ์ด์ง์์ mysql DB๋ก ์ฐ๊ฒฐ๋ ํ๋ฉด ์ถ๋ ฅ ํ์ธ โ ์ฐธ๊ณ ๋งํฌ
Web - DB ๊ฐ ์ฐ๊ฒฐ์ด ์ ์์ผ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค
Name ๊ณผ ADDRESS ์ ๊ฐ์ ์ถ๊ฐ ํ ์ผ์ชฝ์
Add Data
ํด๋ฆญ ์ ์ค์ DB์ table ์ ๋ฐ์๋๋คDB ํ ์ด๋ธ ํ์ธ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32[root@WEB1 ~]# mysql -h 10.42.1.200 -P 3306 -ugasida -pqwe123
Welcome to the MariaDB monitor. Commands end with ; or \g.
..
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sample |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> USE sample;
MariaDB [sample]> SHOW tables;
+------------------+
| Tables_in_sample |
+------------------+
| EMPLOYEES |
+------------------+
1 row in set (0.00 sec)
MariaDB [sample]> SELECT * FROM EMPLOYEES;
+----+--------+------------------+
| ID | NAME | ADDRESS |
+----+--------+------------------+
| 1 | gasida | samsung-dong 123 |
| 2 | ongja | suwon 111 |
+----+--------+------------------+
2 rows in set (0.00 sec)
3.2.5) ์ค์ต ์ ์ฌ์ ์ค์
- ํ์ฌ ์ ์ฉ๋
๋ณด์ ๊ทธ๋ฃน
๊ณผNetwork ACL
์ ํ์ธํ๋ค
3.3 Security Group ID ๋ฅผ ํ์ฉํ ๋ณด์ ๊ท์น ์ค์ - ์น๊ณผ DB๊ฐ ๋ณด์ ์ค์ ์์
3.3.1) ๋ณด์ ์๊ตฌ ์กฐ๊ฑด
- ์ธ๋ถ โ ์น์๋ฒ
- ์ธ๋ถ์ ์ธํฐ๋ท ์ฌ์ฉ์๋ ์น๋ธ๋ผ์ฐ์ ๋ก ์น์๋ฒ๋ก ์ ์์ด ๊ฐ๋ฅํด์ผํจ - TCP 80(HTTP)
- ์ธ๋ถ์ ์๋ ๊ด๋ฆฌ์๋ ์น์๋ฒ ๊ด๋ฆฌ๋ฅผ ์ํด์ SSH๋ก ์ ์์ด ๊ฐ๋ฅํด์ผํจ - TCP 22(SSH)
- ์น์๋ฒ โ ์ธ๋ถ
- ์น์๋ฒ๋ ๋ณด์ ํจ์น ๋ฑ ํ์๋ก ์ธํด ์ธ๋ถ์์ ์ ๋ฐ์ดํธ ๋ฐ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํด์ผํจ - TCP 80(HTTP) 443(HTTPS)
- ์น์๋ฒ โ DB์๋ฒ
- ์น์๋ฒ๋ค๋ง DB์๋ฒ์ mysql ์ ์์ด ๊ฐ๋ฅํด์ผํจ - TCP 3306(MYSQL) โ Security Group ID ๋ฅผ ํ์ฉํ ์์
- DB์๋ฒ โ ์ธ๋ถ
- DB์๋ฒ๋ ๋ณด์ ํจ์น ๋ฑ ํ์๋ก ์ธํด ์ธ๋ถ์์ ์ ๋ฐ์ดํธ ๋ฐ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํด์ผํจ - TCP 80(HTTP) 443(HTTPS)
- ์ธ๋ถ โ DB์๋ฒ
- ์ผ๋ฐ์ ์ธ ํ๊ฒฝ์์๋ DB์๋ฒ์ ์ธ๋ถ์์ ์ง์ ์ ์์ ํ์ง ์๋๋ค. ๋ค๋ง ์ค์ต์ ํธ์๋ฅผ ์ํด์ ์ธ๋ถ์์ SSH์ ์์ ํ์ฉํจ
3.3.2) โ์ธ๋ถ โ ์น์๋ฒโ ๋ณด์ ์๊ตฌ ์กฐ๊ฑด ๊ด๋ จ ๋ณด์๊ทธ๋ฃน ์ค์ ๋ฐ ํ์ธ
์ด๋ฏธ Cloudformation ๋ฐฐํฌ ์ ์น์๋ฒ์ ์ธ๋ฐ์ด๋ ๋ณด์๊ท์น์ HTTP, SSH ์ ๋ํ ์ ์์ด ๊ฐ๋ฅํ๊ฒ ์ค์ ๋์ด ์๋ค
ํธ๋ํฝ ํ๋ฆ์ ๋ฐ๋ฅธ ์ค๋ช
(1) ์ธ๋ถ(HomePC)์์ EC2์ PublicIP๋ก HTTP ํน์ SSH ์ ์์ ์๋ํ๋ค. HomePC ์์ ์ ์์คํฌํธ๋ ์์ํฌํธ ๋ฒ์ ์ค ๋๋ค ์ ํํ๋ค. NAT ๊ธฐ๋ฅ์ ์ํด์ ๋ชฉ์ ์ง IP๋ PublicIP ๋ฅผ PrivateIP(10.42.1.100 ํน์ 10.42.1.101)๋ก ๋ณ๊ฒฝ๋๋ค. Web ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น์ ํ์ฉ๋์ด EC2 ๋ด๋ถ์์ ์ฒ๋ฆฌํ๋ค
(2) ๋ฆฌํด ํธ๋ํฝ์ ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง์ IP์ Port ๊ฐ ๋ค๋ฐ๋์ด ์ ๋ฌ๋๋ค. ๋ณด์๊ทธ๋ฃน์ผ๋ก ๋ฆฌํด ํธ๋ํฝ์ ์๋์ผ๋ก ํ์ฉ๋์ด ์ฌ์ฉ์์๊ฒ ๋๋ฌํ๋ค
3.3.3) โ์น์๋ฒ โ ์ธ๋ถโ ๋ณด์ ์๊ตฌ ์กฐ๊ฑด ๊ด๋ จ ๋ณด์๊ทธ๋ฃน ์ค์ ๋ฐ ํ์ธ
๋ณด์ ์๊ตฌ ์กฐ๊ฑด : ์น์๋ฒ๋ ๋ณด์ ํจ์น ๋ฑ ํ์๋ก ์ธํด ์ธ๋ถ์์ ์ ๋ฐ์ดํธ ๋ฐ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํด์ผํจ - TCP 80(HTTP) 443(HTTPS)
Web ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น ๋ณ๊ฒฝ โ TCP 80(HTTP) 443(HTTPS) ์ ์ธํ ๋๋จธ์ง ํธ๋ํฝ์ ์ฐจ๋จ
๊ธฐ์กด์ โ๋ชจ๋ ํธ๋ํฝ ํ์ฉโ ๊ท์น์ ์ญ์ ํ๋ค
HTTP ์ HTTPS ๋ฅผ ํ์ฉํ๋ ๊ท์น์ ์ถ๊ฐํ๋ค
โ์น์๋ฒ โ ์ธ๋ถโ ๋ก HTTP or HTTPS ํต์ ํ์ฉ์ ํ์ธํ๋ค
1
2
3
4
5
6
7
8
9
10
11
12
13
14# ์๋ ์ฒ๋ผ HTTP HTTPS๋ ์ธ๋ถ ํต์ ์ด ํ์ฉ๋๋ค
[root@WEB1 ~]# curl -O http://example.com/foo.txt --silent
[root@WEB1 ~]# curl -O https://example.com/bar.txt --silent
[root@WEB1 ~]# ls *.txt
bar.txt foo.txt
# ์๋ ์ฒ๋ผ HTTP HTTPS ์ด์ธ์ ๋ค๋ฅธ ํธ๋ํฝ์ ์ธ๋ถ๋ก ํต์ ์ด ์ฐจ๋จ๋๋ค
[root@WEB1 ~]# ping -c 1 -W 1 www.google.com
PING www.google.com (172.217.25.68) 56(84) bytes of data.
--- www.google.com ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
[root@WEB1 ~]# ssh root@10.42.1.101
ssh: connect to host 10.42.1.101 port 22: Connection timed outํธ๋ํฝ ํ๋ฆ์ ๋ฐ๋ฅธ ์ค๋ช
(1) ์น์๋ฒ(EC2)์์ ์ธํฐ๋ท(HTTP HTTPS)์ ์ ์์ ์๋ํ๋ค. Web๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น์ ์ํด์ ํ์ฉ๋์ด
(2) ๋ฆฌํด ํธ๋ํฝ์ ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง์ IP์ Port ๊ฐ ๋ค๋ฐ๋์ด ์ ๋ฌ๋๋ค. ๋ณด์๊ทธ๋ฃน์ผ๋ก ๋ฆฌํด ํธ๋ํฝ์ ์๋์ผ๋ก ํ์ฉ๋์ด ์ฌ์ฉ์์๊ฒ ๋๋ฌํ๋ค
3.3.4) โ์น์๋ฒ โ DB์๋ฒโ ๋ณด์ ์๊ตฌ ์กฐ๊ฑด ๊ด๋ จ ๋ณด์๊ทธ๋ฃน ์ค์ ๋ฐ ํ์ธ
๋ณด์ ์๊ตฌ ์กฐ๊ฑด : ์น์๋ฒ๋ค๋ง DB์๋ฒ์ mysql ์ ์์ด ๊ฐ๋ฅํด์ผํจ - TCP 3306(MYSQL) โ Security Group ID ๋ฅผ ํ์ฉํ ์์
Web ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น ๋ณ๊ฒฝ โ TCP 3306(MYSQL) ๋์(DB์๋ฒ) ํ์ฉ
์ ํ(MYSQL) , ๋์(DB์๋ฒ์ ์ ์ฉ๋์ด ์๋ ๋ณด์๊ทธ๋ฃน ID) ๋ฅผ ์ง์ ํ์ฌ ๊ท์น์ ์ถ๊ฐํ๋ค
DB ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น ๋ณ๊ฒฝ โ TCP 3306(MYSQL) ์์ค(์น์๋ฒ) ํ์ฉ
์ ํ(MYSQL), ์์ค(์น์๋ฒ์ ์ ์ฉ๋์ด ์๋ ๋ณด์๊ทธ๋ฃน ID) ๋ฅผ ์ง์ ํ์ฌ ๊ท์น์ ๋ณ๊ฒฝํ๋ค
โ์น์๋ฒ โ DB์๋ฒโ ๋ก MYSQL ์ ์์ ํ์ธํ๋ค
1
2
3
4
5
6
7[root@WEB1 ~]# mysql -h 10.42.1.200 -P 3306 -ugasida -pqwe123
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>ํธ๋ํฝ ํ๋ฆ์ ๋ฐ๋ฅธ ์ค๋ช
(1) ์น์๋ฒ์์ DB์๋ฒ๋ก ์ ์์ ์๋ํ๋ค. (๋ชฉ์ ์ง) ๋์์ด ๋ณด์๊ทธ๋ฃน(DB์๋ฒ)๋ก ํฅํ๊ธฐ ๋๋ฌธ์ ํ์ฉ๋๋ค
(2) DB์๋ฒ๋ก ์ธ์ ๋๋ ํธ๋ํฝ์ ์์ค๊ฐ ๋ณด์๊ทธ๋ฃน (์น์๋ฒ)๋ฅผ ์ฌ์ฉํจ์ผ๋ก ํ์ฉ๋๋ค.
(3) DB์๋ฒ ๋ด๋ถ์์ ์ฒ๋ฆฌ ํ ๋ฆฌํด ํธ๋ํฝ์ ์์๋ฐ์ด๋ ๊ท์น๊ณผ ์๊ด์์ด ๋น ์ ธ๋๊ฐ๋ค
(4) DB์๋ฒ์์ ๋์์ค๋ ํธ๋ํฝ์ ์น์๋ฒ ์ญ์ ๋ฆฌํดํธ๋ํฝ์ผ๋ก ์ธ๋ฐ์ด๋ ๊ท์น๊ณผ ์ฑ๊ด์์ด ํ์ฉ๋์ด ์ต์ข ์ ์ผ๋ก ์น์๋ฒ์ ๋์์จ๋ค
3.3.5) โDB์๋ฒ โ ์ธ๋ถโ ๋ณด์ ์๊ตฌ ์กฐ๊ฑด ๊ด๋ จ ๋ณด์๊ทธ๋ฃน ์ค์ ๋ฐ ํ์ธ โ 3.3.3) ํญ๋ชฉ๊ณผ ๋์ผํ ์ค์
๋ณด์ ์๊ตฌ ์กฐ๊ฑด : DB์๋ฒ๋ ๋ณด์ ํจ์น ๋ฑ ํ์๋ก ์ธํด ์ธ๋ถ์์ ์ ๋ฐ์ดํธ ๋ฐ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํด์ผํจ - TCP 80(HTTP) 443(HTTPS)
DB ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น ๋ณ๊ฒฝ โ TCP 80(HTTP) 443(HTTPS) ์ ์ธํ ๋๋จธ์ง ํธ๋ํฝ์ ์ฐจ๋จ
๊ธฐ์กด์ โ๋ชจ๋ ํธ๋ํฝ ํ์ฉโ ๊ท์น์ ์ญ์ ํ๋ค
HTTP ์ HTTPS ๋ฅผ ํ์ฉํ๋ ๊ท์น์ ์ถ๊ฐํ๋ค
โDB์๋ฒ โ ์ธ๋ถโ ๋ก HTTP or HTTPS ํต์ ํ์ฉ์ ํ์ธํ๋ค
3.3.6) ์ต์ข ์ค์ ๋ ๋ณด์๊ทธ๋ฃน ํ์ธ
์น์๋ฒ ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น
์น์๋ฒ ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น
DB์๋ฒ ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น
DB์๋ฒ ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ๊ท์น
3.4 ์์ฑํ ์์ ์ญ์
์์ธ
Region์์ CloudFormation ์คํ์ ์ญ์ ํ๋ค