[AWS] EC2์ Cloud9์์ฑ
๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ AWS์ VPC ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ์ง์ ์ค๊ณํ๊ณ , ์๋ก ๋ค๋ฅธ ๋ฆฌ์ ์ VPC๋ฅผ ๋ด๋ถ๋ง์ผ๋ก ์๋ VPC ํผ์ด๋ง(Peering)๊น์ง ์ค์ตํ๋ค. ๋จผ์ VPC๋ฅผ ์ด๋ฃจ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ ๋ฆฌํ ๋ค, ๋๋ง์ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค๊ณ ์์ธโ๋์ฟ ๋ฆฌ์ ์ ์ฐ๊ฒฐํ๋ค.
VPC๋? ์ฌ์ฉ์์ AWS ๊ณ์ ์ ์ฉ ๊ฐ์ ๋คํธ์ํฌ. ์์ฒด ๋ฐ์ดํฐ์ผํฐ์ ๋คํธ์ํฌ์ ๋งค์ฐ ์ ์ฌํ๊ฒ, AWS์ ํ์ฅ ๊ฐ๋ฅํ ์ธํ๋ผ ์์ ๊ฒฉ๋ฆฌ๋ ๋๋ง์ ๋คํธ์ํฌ ๊ณต๊ฐ์ ๊ตฌ์ฑํ ์ ์๋ค.
1. VPC ๊ตฌ์ฑ ์์
VPC๋ ์ฌ๋ฌ ์์๊ฐ ๊ณ์ธต์ ์ผ๋ก(๋ฆฌ์ โ AZ โ ์๋ธ๋ท โ ์ธ์คํด์ค) ๋ง๋ฌผ๋ ค ๋์ํ๋ค.
| ๊ตฌ์ฑ ์์ | ์ญํ | ๋จ์ |
|---|---|---|
| VPC | ๊ณ์ ์ ์ฉ ๊ฐ์ ๋คํธ์ํฌ | ๋ฆฌ์ |
| Subnet | VPC๋ฅผ ์ชผ๊ฐ IP ๋ฒ์(AZ์ ๋ฐฐ์น) | AZ |
| Routing Table | ํธ๋ํฝ์ ์ด๋๋ก ๋ณด๋ผ์ง ๊ฒฐ์ | ์๋ธ๋ท |
| Internet Gateway | VPC โ ์ธํฐ๋ท ํต์ ํ์ฑํ | VPC |
| Network ACL | ์๋ธ๋ท ๊ฒฝ๊ณ ๋ฐฉํ๋ฒฝ(ํ์ฉ/๊ฑฐ๋ถ) | ์๋ธ๋ท |
| Security Group | ์ธ์คํด์ค ๊ฒฝ๊ณ ๋ฐฉํ๋ฒฝ | ์ธ์คํด์ค |
๐ก NACL vs ๋ณด์ ๊ทธ๋ฃน โ ๊ธฐ๋ณธ๊ฐ์ด ์ ๋ฐ๋๋ค. NACL์ ์ธ๋ฐ์ด๋/์์๋ฐ์ด๋๋ฅผ ๊ธฐ๋ณธ ํ์ฉํ๊ณ , ๋ณด์ ๊ทธ๋ฃน์ ์ธ๋ฐ์ด๋๋ฅผ ๊ธฐ๋ณธ ๊ฑฐ๋ถยท์์๋ฐ์ด๋๋ฅผ ํ์ฉํ๋ค. ์๋ธ๋ท์ ๋๊ฒ, ์ธ์คํด์ค๋ ์ข๊ฒ ํต์ ํ๋ ๊ตฌ์กฐ๋ค.
2. ๋๋ง์ ๋คํธ์ํฌ ์ํคํ ์ฒ
my-vpc๋ฅผ 10.0.0.0/16(์ฝ 65,536๊ฐ IP)์ผ๋ก ์ก๊ณ , 4๊ฐ์ AZ์ /20 ์๋ธ๋ท์ ๋ฐฐ์นํ๋ค.
1
2
3
4
5
my-vpc 10.0.0.0/16 (10.0.0.0 ~ 10.0.255.255)
โโ my-pub-2a 10.0.0.0/20 (10.0.0.0 ~ 10.0.15.255)
โโ my-pub-2b 10.0.16.0/20 (10.0.16.0 ~ 10.0.31.255)
โโ my-pub-2c 10.0.32.0/20 (10.0.32.0 ~ 10.0.47.255)
โโ my-pub-2d 10.0.48.0/20 (10.0.48.0 ~ 10.0.63.255)
โ ๏ธ ๊ฐ ์๋ธ๋ท์
/20์ 4,096๊ฐ IP์ง๋ง, AWS๊ฐ ์ฒ์ 4๊ฐ(๋คํธ์ํฌยทVPC ๋ผ์ฐํฐยทDNSยทํฅํ ์์ฝ)์ ๋ง์ง๋ง 1๊ฐ(๋ธ๋ก๋์บ์คํธ)๋ฅผ ์์ฝํ๋ฏ๋ก ์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ IP๋ 4,091๊ฐ๋ค. ์๋ธ๋ท ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ ๋ ์ด 5๊ฐ๋ฅผ ๋นผ์ผ ํ๋ค.
3. VPC Peering์ด๋?
VPC ํผ์ด๋ง์ ์๋ก ๋ค๋ฅธ VPC๋ฅผ ์ธ๋ถ ์ธํฐ๋ท์ด ์๋ ๋ด๋ถ๋ง์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ฌ๊ธฐ์๋ ์์ธ ๋ฆฌ์ โ ๋์ฟ ๋ฆฌ์ ์ VPC๋ฅผ ์๋๋ค.
flowchart LR
subgraph Seoul["๐ฐ๐ท ์์ธ ๋ฆฌ์ "]
S_EC2["๐ป EC2<br/>(private IP)"]
end
subgraph Tokyo["๐ฏ๐ต ๋์ฟ ๋ฆฌ์ "]
T_EC2["๐ป EC2<br/>(private IP)"]
end
S_EC2 <-- "VPC Peering<br/>(๋ด๋ถ private ํต์ )" --> T_EC2
4. ํผ์ด๋ง ์ฐ๊ฒฐ ์์ฑ
๋์ฟ ๋ฆฌ์ ์์ ๊ธฐ๋ณธ VPC ID๋ฅผ ๋ณต์ฌํ๋ค.
์์ธ ๋ฆฌ์ ์ผ๋ก ๋์์ ํผ์ด๋ง ์ฐ๊ฒฐ ์์ฑ์ ๋๋ฅธ๋ค. ์์ฒญ์๋ ๋ด VPC, ์๋ฝ์๋ ๋ด ๊ณ์ โ ๋ค๋ฅธ ๋ฆฌ์ (๋์ฟ)์ ์ ํํ๊ณ ๋ณต์ฌํ ๋์ฟ VPC ID๋ฅผ ๋ถ์ฌ๋ฃ๋๋ค.
๋์ฟ ๋ฆฌ์ ์ ํผ์ด๋ง ์ฐ๊ฒฐ ํญ์ ์๋ฝ ๋๊ธฐ ์ค์ด ๋จ๋ฉด, ์์ โ ์์ฒญ ์๋ฝ์ ๋๋ฅธ๋ค.
5. ์๋ ๋ฆฌ์ ์ EC2 ์์ฑ (์ฝ์)
๋์ฟ ๋ฆฌ์ ์ ํ์ธ์ฉ EC2๋ฅผ ๋ง๋ ๋ค. ํคํ์ด ์์ด, HTTP ํธ๋ํฝ ํ์ฉ์ ์ฒดํฌํ๊ณ , ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ก ์ด๊ธฐ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฃ์ด SSH ์์ด ๋ฐ๋ก ํ์ธ๋ง ํ๋ค.
6. ๋ผ์ฐํ ์ถ๊ฐ & ํ๋ผ์ด๋น ํต์ ํ์ธ
ํผ์ด๋ง๋ง์ผ๋ก๋ ํต์ ์ด ์ ๋๊ณ , ์์ชฝ ๋ผ์ฐํ ํ ์ด๋ธ์ ์๋ ๋ฆฌ์ ์ IP ๋์ญ์ ์ถ๊ฐํด์ผ ํ๋ค. ๋์ฟ์๋ ์์ธ private IP, ์์ธ์๋ ๋์ฟ private IP๋ฅผ ๋ผ์ฐํ ํ๋ค.
์ด์ ์์ธ EC2์์ curl๋ก ๋์ฟ ๋ฆฌ์ ์ธ์คํด์ค์ ํ๋ผ์ด๋น IP๋ก ์ ์๋๋ค.
๐ก VPC ํผ์ด๋ง์ ์ฐ๊ฒฐ ์๋ฆฝ + ์๋ฐฉํฅ ๋ผ์ฐํ ์ด ์ธํธ๋ค. ํ์ชฝ ๋ผ์ฐํ ๋ง ๋ฃ์ผ๋ฉด ์์ฒญ์ ๊ฐ๋ ์๋ต์ด ๋ชป ๋์์จ๋ค. ๋ฐ๋์ ์์ชฝ ๋ผ์ฐํ ํ ์ด๋ธ ๋ชจ๋์ ์๋ ๋์ญ์ ์ถ๊ฐํด์ผ ํ๋ค.
๐ ์ ๋ฆฌ
1
2
3
4
5
VPC ๋คํธ์ํฌ
โโ ๊ตฌ์ฑ VPC / Subnet / Routing / IGW / NACL / SG
โโ ์ค๊ณ my-vpc 10.0.0.0/16 โ /20 ์๋ธ๋ท 4๊ฐ(AZ)
โโ IP /20 = 4096๊ฐ, ์์ฝ 5๊ฐ ๋นผ๋ฉด 4091๊ฐ ์ฌ์ฉ
โโ ํผ์ด๋ง ๋ฆฌ์ ๊ฐ ๋ด๋ถ ์ฐ๊ฒฐ + ์์ชฝ ๋ผ์ฐํ
์ถ๊ฐ
| ๊ฐ๋ | ํ ์ค ์ ์ |
|---|---|
| VPC | ๊ณ์ ์ ์ฉ ๊ฐ์ ๋คํธ์ํฌ |
| Subnet | AZ์ ๋ฐฐ์น๋ VPC์ IP ๋ฒ์ |
| VPC Peering | VPC ๊ฐ ๋ด๋ถ(private) ์ฐ๊ฒฐ |
VPC ์ค๊ณ์ ํต์ฌ์ CIDR๋ก IP ๋์ญ์ ๋๋๊ณ , ์๋ธ๋ท์ AZ์ ๋ฐฐ์นํ๋ ๊ฒ์ด๋ค. ํผ์ด๋ง์ ๋ฆฌ์ ์ ๋์ด ๋ด๋ถ๋ง์ ์์ง๋ง, ์์ชฝ ๋ผ์ฐํ ํ ์ด๋ธ ๋ฑ๋ก์ ๋น ๋จ๋ฆฌ๋ฉด ํต์ ๋์ง ์๋๋ค๋ ์ ์ ๊ผญ ๊ธฐ์ตํ์.







Comments powered by Disqus.