[Cloud] ACM(AWS Certificate Manager)์ ์ดํด
๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ AWS์ ACM(AWS Certificate Manager)์ ์ ๋ฆฌํ๋ค. SSL/TLS ์ธ์ฆ์๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐ๊ธยท๊ด๋ฆฌยท์๋ ๊ฐฑ์ ํ๋ ์๋น์ค๋ก, HTTP์ HTTPS์ ์ฐจ์ด๋ถํฐ SSL ํต์ ๊ณผ์ , ๊ทธ๋ฆฌ๊ณ ALB์ ์ธ์ฆ์๋ฅผ ๋ถ์ฌ HTTPS๋ฅผ ์ ์ฉํ๋ Lab๊น์ง ๋ค๋ฃฌ๋ค.
ACM์ด๋? SSL/TLS ์ธ์ฆ์๋ฅผ ์์ฝ๊ฒ ํ๋ก๋น์ ๋ยท๊ด๋ฆฌยท๋ฐฐํฌํ๋ ์๋น์ค. ๋ฌด๋ฃ๋ก ๊ณต์ธ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ฉฐ, ELBยทCloudFrontยทAPI Gateway ๋ฑ AWS ์๋น์ค์ ํตํฉํด HTTPS๋ฅผ ๊ตฌํํ๊ณ ์๋ ๊ฐฑ์ ๊น์ง ์ฒ๋ฆฌํ๋ค.
1. HTTP vs HTTPS
SSL(Secure Socket Layer)์ ์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ํธํ ํต์ ํ๋กํ ์ฝ์ด๋ค. HTTP์ SSL์ ๋ํ ๊ฒ์ด HTTPS๋ค.
| ๊ธฐ๋ฅ | HTTP | HTTPS(HTTP+SSL) |
|---|---|---|
| ์ํธํ | ํ๋ฌธ(Plain text) | ์ธ์ฆ์ ๊ธฐ๋ฐ ์ํธํ |
| Port | TCP 80 | TCP 443 |
| ์ ๋์ฌ | http:// | https:// |
| ๋ณด์ | ๋ฏผ๊ฐ ์ ๋ณด ๋ ธ์ถยท๋ณ์กฐ ์ํ | ์ฌ์ดํธ ์ ๋ขฐ ๊ฒ์ฆ + ๋ฐ์ดํฐ ๋ณดํธ |
2. SSL ํต์ ๊ณผ์
ํต์ฌ์ ๊ณต๊ฐํค๋ก ์ธ์ ํค๋ฅผ ์์ ํ๊ฒ ๊ตํํ ๋ค, ์ค์ ํต์ ์ ๋น ๋ฅธ ๋์นญํค๋ก ํ๋ ๊ฒ์ด๋ค.
sequenceDiagram
participant C as ํด๋ผ์ด์ธํธ
participant S as ์๋ฒ
C->>S: โ ์ ์ ์์ฒญ
S->>C: โก ์๋ฒ ์ธ์ฆ์(๊ณต๊ฐํค) ์ ์ก
C->>C: โข ์ธ์ฆ์ ๊ฒ์ฆ โ ๊ณต๊ฐํค ์ถ์ถ
C->>S: โฃ ์ธ์
ํค๋ฅผ ์๋ฒ ๊ณต๊ฐํค๋ก ์ํธํํด ์ ์ก
S->>S: โค ๊ฐ์ธํค๋ก ์ธ์
ํค ๋ณตํธํ
C-->>S: โฅโฆ ์ธ์
ํค(๋์นญํค)๋ก ์ํธํ ํต์
์ถ์ฒ: crocus.co.kr/1387
๐ก ์ ๊ณต๊ฐํค โ ๋์นญํค๋ก ๋ฐ๊พธ๋? ๊ณต๊ฐํค(๋น๋์นญ) ์ํธํ๋ ์์ ํ์ง๋ง ๋๋ฆฌ๋ค. ๊ทธ๋์ ์ฒ์ ์ธ์ ํค๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ง ๊ณต๊ฐํค๋ฅผ ์ฐ๊ณ , ์ค์ ๋ฐ์ดํฐ ํต์ ์ ๋น ๋ฅธ ๋์นญํค(์ธ์ ํค)๋ก ์ฒ๋ฆฌํ๋ค. ์์ ํจ๊ณผ ์๋๋ฅผ ๋ชจ๋ ์ก๋ ๋ฐฉ์์ด๋ค.
3. ACM์ ์ฐ๋ ์ด์ & ์ค์ ์์
| ์ด์ | ์ค๋ช |
|---|---|
| ๊ฐ์ํ๋ ๊ด๋ฆฌ | ์ธ์ฆ์ ์์ฑยท์ ์ฅยท๊ด๋ฆฌ์ ๋ณต์ก์ฑ ์ฒ๋ฆฌ |
| ์ํํ ํตํฉ | ELBยทCloudFrontยทAPI Gateway์ ํตํฉ |
| ์๋ ๊ฐฑ์ | ์๋ ์ถ์ ยท๊ฐฑ์ ๋ถํ์ |
| ๋น์ฉ ํจ์จ | ์ ๊ฒฉ AWS ์๋น์ค์ฉ์ ์ถ๊ฐ ๋น์ฉ ์์ |
์ค์ ์์: โ ์ธ์ฆ์ ์์ฒญ โ โก์ ํจ์ฑ ๊ฒ์ฌ(DNS ๊ถ์ฅ) โ โขAWS ์๋น์ค์ ๊ตฌ์ฑ(ALB ๋ฑ) โ โฃ๋ชจ๋ํฐ๋ง โ โค์๋ ๊ฐฑ์ .
๐ก ๊ฒ์ฆ์ DNS ๊ฒ์ฆ์ ๊ถ์ฅํ๋ค. Route53 ๋๋ฉ์ธ์ CNAME ๋ ์ฝ๋๋ฅผ ๋ํด ๊ฒ์ฆํ๋ฏ๋ก ๊ฐ๋จํ๊ณ , ๋ ์ฝ๋๋ฅผ ๋๋ฉด ๊ฐฑ์ ์ ์๋ ์ฌ๊ฒ์ฆ๋๋ค.
4. Lab โ ACM ๋ฐ๊ธ & ALB์ HTTPS ์ ์ฉ
โ ์ธ์ฆ์ ์์ฑ (์์ผ๋์นด๋)
- ๋๋ฉ์ธ:
weplat.store+ ๋ค๋ฅธ ์ด๋ฆ*.weplat.store - ๊ฒ์ฆ: DNS ๊ฒ์ฆ(๊ถ์ฅ), ํค ์๊ณ ๋ฆฌ์ฆ RSA 2048
- ์ธ์ฆ์ ์ ํ โ Route53์์ ๋ ์ฝ๋ ์์ฑ์ผ๋ก CNAME ์๋ ๋ฑ๋ก โ ์ํ๊ฐ ๋ฐ๊ธ๋จ์ด ๋ ๋๊น์ง ๋๊ธฐ
โก ALB์ ์ธ์ฆ์ ์ฐ๊ฒฐ (HTTPS ๋ฆฌ์ค๋)
web-alb์ HTTPS(443) ๋ฆฌ์ค๋๋ฅผ ์ถ๊ฐํ๊ณ ์ธ์ฆ์๋ฅผ ๋ถ์ธ๋ค.
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| ํ๋กํ ์ฝ/ํฌํธ | HTTPS / 443 |
| ๋ผ์ฐํ ์ก์ | ๋์ ๊ทธ๋ฃน์ผ๋ก ์ ๋ฌ(weplat-ap2-web-alb-tg) |
| ๋ณด์ ์ ์ฑ | ELBSecurityPolicy-TLS13-1-2-2021-06(๊ถ์ฅ) |
| ์ธ์ฆ์ ์์ค | ACM์์ โ weplat.store |
โข HTTP โ HTTPS ๋ฆฌ๋๋ ์
HTTP:80 ๋ฆฌ์ค๋๋ฅผ ํธ์งํด HTTPS(443)๋ก ๋ฆฌ๋๋ ์
๋๊ฒ ํ๋ค. ์ด๋ฌ๋ฉด http://๋ก ๋ค์ด์๋ ์๋์ผ๋ก https://๋ก ์ ํ๋๋ค.
โ ๏ธ ์ค์ต ํ ๋ฆฌ์์ค ์ ๋ฆฌ โ Route53 ๋ ์ฝ๋ โ ALB โ ACM โ EC2 โ VPC ์์ผ๋ก ์ญ์ ํ๋ค. ALBยทNAT ๋ฑ์ ๊ณผ๊ธ ๋์์ด๋ฏ๋ก ๋ฐ๋์ ์ ๋ฆฌํ์.
๐ ์ ๋ฆฌ
1
2
3
4
5
ACM
โโ ๊ฐ๋
๋ฌด๋ฃ SSL/TLS ์ธ์ฆ์ ๋ฐ๊ธยท๊ด๋ฆฌยท์๋ ๊ฐฑ์
โโ SSL ๊ณต๊ฐํค๋ก ์ธ์
ํค ๊ตํ โ ๋์นญํค๋ก ํต์
โโ ๊ฒ์ฆ DNS ๊ฒ์ฆ(CNAME) ๊ถ์ฅ โ ์๋ ์ฌ๊ฒ์ฆ
โโ ์ ์ฉ ALB HTTPS(443) ๋ฆฌ์ค๋ + HTTPโHTTPS ๋ฆฌ๋๋ ์
| ๊ฐ๋ | ํ ์ค ์ ์ |
|---|---|
| ACM | ๋ฌด๋ฃ ๊ด๋ฆฌํ SSL ์ธ์ฆ์ |
| DNS ๊ฒ์ฆ | CNAME์ผ๋ก ์์ ๊ถ ์ฆ๋ช |
| HTTPS ๋ฆฌ๋๋ ์ | HTTP ์ ์์ HTTPS๋ก ๊ฐ์ |
ACM์ ํต์ฌ์ ๋ฌด๋ฃ ์ธ์ฆ์๋ฅผ ALB์ ๋ถ์ฌ HTTPS๋ฅผ ๊ตฌํํ๊ณ , HTTPโHTTPS ๋ฆฌ๋๋ ์ ์ผ๋ก ๋ชจ๋ ์ ์์ ์ํธํํ๋ ๊ฒ์ด๋ค. DNS ๊ฒ์ฆ์ผ๋ก ๋ฐ์๋๋ฉด ๊ฐฑ์ ๋ ์๋์ด๋ผ ์ด์ ๋ถ๋ด์ด ์๋ค.









Comments powered by Disqus.