Post

[AWS] ACM(AWS Certificate Manager)

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” AWS์˜ ACM(AWS Certificate Manager)์œผ๋กœ SSL/TLS ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ , HTTPS ํ†ต์‹ ์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์„ ์ •๋ฆฌํ•œ๋‹ค. ์ง์ ‘ ๊ตฌ๋งคยท๊ฐฑ์‹ ํ•˜๋˜ ์ธ์ฆ์„œ๋ฅผ AWS๊ฐ€ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์ž๋™ ๊ฐฑ์‹ ํ•ด์ค€๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค.

ACM์ด๋ž€? TLS ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์›น์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ์ธ์ฆ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค. ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋Š” ELB, CloudFront, API Gateway ๋“ฑ์— ๋ฐฐํฌ๋˜๋ฉฐ, ๋งŒ๋ฃŒ๋˜๋Š” ์ธ์ฆ์„œ์˜ ๊ฐฑ์‹ ์„ ์ž๋™ํ™”ํ•ด ๋ณด์•ˆ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.


1. ACM ์ธ์ฆ์„œ๋ฅผ ์–ด๋””์— ๋ถ™์ด๋‚˜

ACM ์ธ์ฆ์„œ๋Š” EC2์— ์ง์ ‘ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›๋Š” ํ”„๋ก ํŠธ ์„œ๋น„์Šค(ELB, CloudFront ๋“ฑ)์— ์—ฐ๊ฒฐํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ~ํ”„๋ก ํŠธ ๊ตฌ๊ฐ„์„ HTTPS๋กœ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ตฌ์กฐ๋‹ค.

flowchart LR
    User(("๐ŸŒ ์‚ฌ์šฉ์ž"))
    ACM["๐Ÿ“œ ACM ์ธ์ฆ์„œ"]
    ELB["โš–๏ธ ELB / CloudFront"]
    EC2["๐Ÿ’ป EC2"]
    ACM -.๋ฐฐํฌ.-> ELB
    User -- HTTPS --> ELB
    ELB -- HTTP --> EC2
ํ†ตํ•ฉ ์„œ๋น„์Šค์šฉ๋„
ELB๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์—์„œ HTTPS ์ข…๋ฃŒ
CloudFrontCDN ์—ฃ์ง€์—์„œ HTTPS ์ œ๊ณต
API GatewayAPI ์—”๋“œํฌ์ธํŠธ HTTPS

๐Ÿ’ก ACM ์ธ์ฆ์„œ๋Š” ํผ๋ธ”๋ฆญ ์ธ์ฆ์„œ๊ฐ€ ๋ฌด๋ฃŒ์ด๊ณ , ์ž๋™ ๊ฐฑ์‹ ๋˜๋ฏ€๋กœ ๋งŒ๋ฃŒ ๊ฑฑ์ •์ด ์—†๋‹ค. ๋‹ค๋งŒ ์œ„์™€ ๊ฐ™์€ AWS ํ†ตํ•ฉ ์„œ๋น„์Šค์—๋งŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ณ , EC2์— ์ง์ ‘ ํŒŒ์ผ๋กœ ๋‚ด๋ ค๋ฐ›์•„ ์„ค์น˜ํ•  ์ˆ˜๋Š” ์—†๋‹ค.


2. ์ธ์ฆ์„œ ์š”์ฒญ (ํผ๋ธ”๋ฆญ ์ธ์ฆ์„œ)

ACM ํƒญ์—์„œ ์ธ์ฆ์„œ ์š”์ฒญ โ†’ ํผ๋ธ”๋ฆญ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

Untitled

๋„๋ฉ”์ธ ์ด๋ฆ„์—๋Š” ์†Œ์œ ํ•œ ๋„๋ฉ”์ธ(์˜ˆ: ๊ฐ€๋น„์•„์—์„œ ๊ตฌ๋งคํ•œ campinggo.store)๊ณผ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ์ง€์ •ํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๊ณผ ํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ธฐ๋ณธ๊ฐ’์„ ๋”ฐ๋ฅธ๋‹ค.

Untitled


3. DNS ๊ฒ€์ฆ (Route53 ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ)

์š”์ฒญ ํ›„ ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ๊ฒ€์ฆํ•ด์•ผ ํ•œ๋‹ค. Route53์„ ์“ฐ๋ฉด ACM ํ™”๋ฉด์˜ ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์œผ๋กœ ๊ฒ€์ฆ์šฉ CNAME ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ž๋™ ๋“ฑ๋ก๋œ๋‹ค.

Untitled

๋ ˆ์ฝ”๋“œ๊ฐ€ ์ „ํŒŒ๋˜์–ด ๊ฒ€์ฆ์ด ๋๋‚˜๋ฉด ์ธ์ฆ์„œ ์ƒํƒœ๊ฐ€ โ€˜๋ฐœ๊ธ‰๋จโ€™์œผ๋กœ ๋ฐ”๋€Œ๊ณ , ์ด์ œ ELBยทCloudFront ๋“ฑ์— ๋ถ™์—ฌ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

Untitled

โš ๏ธ DNS ๊ฒ€์ฆ์€ ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ CNAME ๋ ˆ์ฝ”๋“œ๋กœ ์ฆ๋ช…ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ, ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‘๋ฉด ๊ฐฑ์‹  ์‹œ์—๋„ ์ž๋™ ์žฌ๊ฒ€์ฆ๋œ๋‹ค. ๋ฐ˜๋ฉด ์ด๋ฉ”์ผ ๊ฒ€์ฆ์€ ๊ฐฑ์‹ ๋งˆ๋‹ค ์ˆ˜๋™ ํ™•์ธ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ, DNS ๊ฒ€์ฆ์„ ๊ถŒ์žฅํ•œ๋‹ค.


๐Ÿ“ ์ •๋ฆฌ

1
2
3
4
5
ACM
โ”œโ”€ ๊ฐœ๋…   ๋ฌด๋ฃŒ SSL/TLS ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ + ์ž๋™ ๊ฐฑ์‹ 
โ”œโ”€ ๋ฐฐํฌ   ELB / CloudFront / API Gateway ์— ์—ฐ๊ฒฐ
โ”œโ”€ ๊ฒ€์ฆ   DNS(CNAME) ๊ฒ€์ฆ โ†’ ์ž๋™ ์žฌ๊ฒ€์ฆ ์œ ๋ฆฌ
โ””โ”€ ์ƒํƒœ   '๋ฐœ๊ธ‰๋จ' ์ด ๋˜๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๊ฐœ๋…ํ•œ ์ค„ ์ •์˜
ACMAWS ๊ด€๋ฆฌํ˜• ๋ฌด๋ฃŒ ์ธ์ฆ์„œ
DNS ๊ฒ€์ฆCNAME์œผ๋กœ ์†Œ์œ ๊ถŒ ์ฆ๋ช…(์ž๋™ ๊ฐฑ์‹ )
๋ฐœ๊ธ‰๋จ์ธ์ฆ์„œ๋ฅผ ์„œ๋น„์Šค์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ

ACM์˜ ํ•ต์‹ฌ์€ ์ธ์ฆ์„œ๋ฅผ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰๋ฐ›์•„ ELBยทCloudFront์— ๋ถ™์ด๊ณ , ๊ฐฑ์‹ ์€ AWS์— ๋งก๊ธฐ๋Š” ๊ฒƒ์ด๋‹ค. DNS ๊ฒ€์ฆ์œผ๋กœ ๋ฐ›์•„๋‘๋ฉด ๋งŒ๋ฃŒยท๊ฐฑ์‹ ์— ์‹ ๊ฒฝ ์“ธ ํ•„์š” ์—†์ด HTTPS๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.