
ec2๋ ์์ฑํ ํ vpc ๋ณ๊ฒฝ์ด ๋ถ๊ฐํ๋ฏ๋ก vpc ๋จผ์ ๋ง๋ค๊ธฐ
์์ ์ฑ์ ์ํด 2๊ฐ ์ด์์ AZ์ ๋๋ ์ ์์ฑํ๋ ๊ฒ์ด ์ข์
์ต์ ๊ตฌ์ฑ์ ํ AZ์ public, private ํ๋์ฉ
๋ง๋ค๊ณ target vpc์ ์ฐ๊ฒฐ
ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑํ๋ฉด ๋์ง๋ง ์ฐ์ public, private์ผ๋ก ๋๋ ์ ๊ตฌ์ฑํจ
public subnet ์ฐ๊ฒฐ
public route table์ igw์์ ๋ผ์ฐํ
๋๋๋ก ์ค์
public subnet์ public route table ์ฐ๊ฒฐ
inbound/outbound๋ฅผ white list ๋ฐฉ์์ผ๋ก ์ค์
๋คํธ์ํฌ ์ค์ ์์ vpc, subnet, security group ๋ฑ ์ง์
public์ผ๋ก ์ฌ์ฉํ EC2์์๋ ํผ๋ธ๋ฆญ IP ์๋ ํ ๋น ํ์ฑํ
โ NAT Gateway๋ฅผ ํตํ ๋ฐฉ๋ฒ(์ธํฐ๋ท ์ฐ๊ฒฐ O)(๊ถ์ฅ)
๋น์ฉ์ด ๋๋ฏ๋ก ์ค์นํ๊ณ ๋ฐ๋ก ์ญ์ ํด๋ ๋จ
โก ์ค์นํ์ผ ๋ณต์ฌ(์ธํฐ๋ท ์ฐ๊ฒฐ X)
1. bastion host๋ก ์ฌ์ฉ ๊ฐ๋ฅํ public ec2์์ ์์กด์ฑ์๋ ํจํค์ง๊น์ง ์ ๋ถ ๋ค์ด๋ก๋
1) sudo dnf download --resolve --alldeps <package name>
2) sudo dnf install <package name> --downloadonly --downloaddir=<download path> --setopt=keepcache=1
2. ํจํค์ง๋ฅผ private ec2์ผ๋ก ๋ณต์ฌ
scp -i <key file name> <rpm files> ec2-user@<private ec2 ip addr>:<dest path>
3. ์ค์นํ๊ธฐ
1) ์บ์๋ ๋ฉํ๋ฐ์ดํฐ๋ง ์ฌ์ฉ
sudo dnf localinstall *.rpm -C
2) ๋คํธ์ํฌ ์ ๊ทผ ์์ ์ฐจ๋จ
sudo dnf localinstall *.rpm --disablerepo="*"
3) ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์ ์์ด ๋ก์ปฌ RPM๋ง ์ค์น
sudo dnf localinstall *.rpm --nogpgcheck --assumeyes
4) ์์กด์ฑ ๋ฌด์ํ๊ณ ์ค์น
sudo rpm -ivh *.rpm --nodeps --force
ํ๋์ ๋ก๋๋ฐธ๋ฐ์์์ ํธ๋ํฝ์ด ๋ถ๋ฐฐ๋ ๋์ EC2๋ค์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ฃผ๊ธฐ
application load balancer -> HTTP(S) ํธ๋ํฝ ์ฒ๋ฆฌ
๋ ์ฝ๋ ์์ฑํด์ ๋ณ์นญ ์ฒดํฌํ๊ณ ํธ๋ํฝ ๋ผ์ฐํ ๋์์ ์ธํฐ๋ท ๊ฒฝ๊ณ์ฉ LB ์ฐ๊ฒฐ
private subnet์ ์์ฑํ๊ธฐ
์ ์ํ ๋๋ ssh ํฐ๋๋ง์ผ๋ก public ec2๋ฅผ ํตํด ์ ์
bastion host์์ port forwarding์ ํตํด private subnet์ ์๋ DB์ ์ ์
ssh -i <key file path> -L 3306:<db endpoint>:3306 ec2-user@<bastion host ip>
| ๊ตฌ๋ถ | ์ ๋์ฌ |
|---|---|
| ๊ฐ๋ฐ | dev- |
| ํ ์คํธ | uat- |
| ์ด์ | prod- |
[์ธ์คํด์ค ์ด๋ฆ] + -key
key file ๋ณด๊ด ํด๋๋ช
.ssh(์จ๊นํด๋)
๋ฆฌ๋
์ค์๋ ๊ธฐ๋ณธ ์์ฑ๋์ด ์์
์๋์ฐ๋ ๋ง๋ค์ด์ค์ผ ํจ
์๋ฒ ์ ์
ssh -i <key file path> ec2-user@<public IPv4 addr>
์ ๋ ๊ฒฝ๋ก๋ ์๋ฐ์ดํ(") ์์ ๋ฃ๊ณ ์๋๊ฒฝ๋ก๋ ๋ฐ์ดํ ์์ด ์
๋ ฅ
์๋ฒ๋ก ํ์ผ ๋ณต์ฌ
scp -i โช<key file path> <file to be copied> ec2-user@<public IPv4 addr>:/<dest path>
์๋ฒ๋ก ํค ํ์ผ ๋ณต์ฌํ ํ ๊ถํ ๋ณ๊ฒฝ
chmod 400 <key file name>
๋ณด์๊ทธ๋ฃน ์ค์ ์ ์ ์ฉ๋๋์ง ํ์ธํ๊ณ ์ถ์ผ๋ฉด
netstat -an | grep :22
์๋ธ๋ท๊ณผ ์๋ธ๋ท ์ฐ๊ฒฐ
๊ฐ ์๋ธ๋ท์ ์ฐ๊ฒฐ๋ ๋ผ์ฐํ
ํ
์ด๋ธ ํธ์งํด์ผ ํจ
์ฐ๊ฒฐ๋ ์๋ธ๋ท์ด ์ํ VPC IPv4 CIDR ๋ธ๋ก ์ถ๊ฐ
๋์ ํผ์ด๋ง ์ฐ๊ฒฐ(์ฝค๋ณด๋ฐ์ค์์ ๋ง๋ค์ด๋์ ํผ์ด๋ง ์ ํ)
๋คํธ์ํฌ ์ค์ ํ๋ธ ์๋น์ค
VPC Peering ๋ฐฉ์์์๋ n๊ฐ์ VPC๋ฅผ ์ฐ๊ฒฐํ๋ ค๋ฉด n(n-1)/2๊ฐ์ ํผ์ด๋ง ์ฐ๊ฒฐ์ ๋ง๋ค์ด์ผ ํจ.
Transit Gateway๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ VPC๊ฐ ์ด์ฉํ ์ ์๋ Transit Gateway๋ฅผ ๋ช ๊ฐ๋ฅผ ํ๋ธ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
๋คํธ์ํฌ ์ฐ๊ฒฐ๋ง ๋ณต์ก๋ ์ํ
๋ชจ๋ํฐ๋ง ๋ฐ ๋ฌธ์ ํด๊ฒฐ > Reachability Analyzer ์์
๋ฆฌ์์ค ํฌ์ธํธ ๊ฐ์ ์ฐ๊ฒฐ ์ํ๋ฅผ ํ์ธํ ์ ์์
๊ฒฝ๋ก ์์ค(์ถ๋ฐ์ง) - ๊ฒฝ๋ก ๋์(๋์ฐฉ์ง)์ ์ํ๋ ์ธ์คํด์ค, GW, ์ธํฐํ์ด์ค ๋ฑ์ ์
๋ ฅํ์ฌ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋ฉด ํด๋น ๊ฒฝ๋ก๋ฅผ ๋ถ์ํ์ฌ ์ด๋์ ์ฐ๊ฒฐ์ด ๋งํ๋์ง ํ์ธํ ์ ์์
์์กด์ฑ๋๋ฌธ์ ๋จผ์ ์ง์ธ ์ ์๋ ๋ฆฌ์์ค๊ฐ ์์ด์ ์์๋ฅผ ์ง์ผ์ฃผ๋ ๊ฒ ์ข์
RDS(+์๋ธ๋ท ๊ทธ๋ฃน), S3, ECS(+ECR), EC2, Cognito, CloudFront
VPC ์๋ํฌ์ธํธ โ
๋ก๋ ๋ฐธ๋ฐ์, ๋์ ๊ทธ๋ฃน โ
Auto Scaling ๊ทธ๋ฃน โ
Security Group โ
ํ๋ ฅ์ IP โ
route table โ
Internet GW โ
transit GW โ
Subnet โ
VPC