TIL

Amazon Route 53 + HTTPS

1. Route 53 🎯 1-1. Amazon Route 53μ΄λž€? ✍️ Amazon Route 53은 DNS(Domain Name System) μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. AWSμ—μ„œ 도메인을 λ°œκΈ‰ν•˜κ³  κ΄€λ¦¬ν•΄μ£ΌλŠ” μ„œλΉ„μŠ€μ£ . μ—¬κΈ°μ„œλŠ” λ°œκΈ‰μ„ ꡬ맀둜 이해해도 λ¬΄λ°©ν•©λ‹ˆλ‹€. 1-2

2025λ…„ 9μ›” 4일5min read

1. Route 53 🎯

1-1. Amazon Route 53μ΄λž€? ✍️

Amazon Route 53은 DNS(Domain Name System) μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. AWSμ—μ„œ 도메인을 λ°œκΈ‰ν•˜κ³  κ΄€λ¦¬ν•΄μ£ΌλŠ” μ„œλΉ„μŠ€μ£ . μ—¬κΈ°μ„œλŠ” λ°œκΈ‰μ„ ꡬ맀둜 이해해도 λ¬΄λ°©ν•©λ‹ˆλ‹€.

1-2. 주의 사항 ✍️

IP μ£Όμ†Œμ—λŠ” HTTPSλ₯Ό μ μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ ν”„λ‘ νŠΈ μ›Ή νŽ˜μ΄μ§€λ“  λ°±μ—”λ“œ μ„œλ²„λ“  κ²°κ΅­ 도메인 μ£Όμ†Œλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Amazon Route 53μ—μ„œλŠ” λ„λ©”μΈμ˜ λ°œκΈ‰κ³Ό 관리가 λͺ¨λ‘ κ°€λŠ₯ν•˜μ§€λ§Œ, κ°€λΉ„μ•„(gabia)λ‚˜ ν›„μ΄μ¦ˆ(whois)μ—μ„œλ„ 도메인을 κ΅¬λ§€ν•˜κ³  관리할 수 μžˆμŠ΅λ‹ˆλ‹€. μ €μ˜ 경우 λ„λ©”μΈμ˜ κ΅¬λ§€λŠ” κ°€λΉ„μ•„μ—μ„œ μ§„ν–‰ν–ˆκ³ , κ΄€λ¦¬λŠ” Amazon Route 53에 μœ„μž„ν–ˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ 이번 κΈ€μ—μ„œλŠ” Route 53μ—μ„œ 도메인을 λ°œκΈ‰(ꡬ맀) ν•˜λŠ” 과정은 닀루지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. 쒋은 μžλ£Œκ°€ λ§ŽμœΌλ‹ˆ 직접 μ°Ύμ•„λ³΄μ‹œκΈΈ ꢌμž₯ν•©λ‹ˆλ‹€.

2. Route 53의 도메인을 EC2에 μ—°κ²°ν•˜κΈ° 🎯

2-1. Route 53의 도메인을 EC2에 μ—°κ²° ✍️

2-1-1. Route 53의 ν˜ΈμŠ€νŒ… μ˜μ—­ 메뉴, λ ˆμ½”λ“œ 생성 λ²„νŠΌ 클릭 βœ…

2-1-2. λ ˆμ½”λ“œ μƒμ„±ν•˜κΈ° βœ…

http://api.pullim.io.kr/둜 μ ‘μ†ν–ˆμ„ λ•Œ, 3.37.155.253의 IP μ£Όμ†Œλ‘œ μ—°κ²°λ˜κ²Œ ν•˜κΈ° μœ„ν•œ μ„€μ •μž…λ‹ˆλ‹€. 도메인 κ΅¬λ§€λŠ” pullim.io.kr만 ν–ˆλŠ”λ°, μ„œλΈŒ 도메인 apiλ₯Ό μΆ”κ°€ν•˜μ—¬ μ„œλ²„μ˜ 경둜둜 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

2-2. λ ˆμ½”λ“œ μœ ν˜• νŒŒμ•…ν•˜κΈ° ✍️

DNS에 κ³΅ν†΅μ μœΌλ‘œ μžˆλŠ” μ„€μ • 쀑 ν•˜λ‚˜κ°€ λ ˆμ½”λ“œ μœ ν˜•μž…λ‹ˆλ‹€. λ§Žμ€ λ ˆμ½”λ“œ μœ ν˜•μ΄ μžˆμ§€λ§Œ A λ ˆμ½”λ“œμ™€ CNAME λ ˆμ½”λ“œμ— λŒ€ν•΄μ„œλ§Œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

2-2-1. A λ ˆμ½”λ“œ βœ…

A λ ˆμ½”λ“œλŠ”, 도메인을 νŠΉμ • IPv4 μ£Όμ†Œμ— μ—°κ²°ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©ν•˜λŠ” λ ˆμ½”λ“œ μœ ν˜•μž…λ‹ˆλ‹€.

μœ„μ—μ„œ μ €λŠ” 3.37.155.253λΌλŠ” IP μ£Όμ†Œμ— api.pullim.io.krμ΄λΌλŠ” 도메인을 μ—°κ²°ν•˜κΈ° μœ„ν•΄ A λ ˆμ½”λ“œλ₯Ό μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.

2-2-2. CNAME λ ˆμ½”λ“œ βœ…

CNAME λ ˆμ½”λ“œλŠ”, 도메인을 νŠΉμ • 도메인 μ£Όμ†Œμ— μ—°κ²°ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©ν•˜λŠ” λ ˆμ½”λ“œ μœ ν˜•μž…λ‹ˆλ‹€.

3. ELB 🎯

IP μ£Όμ†Œμ—λŠ” HTTPSλ₯Ό μ μš©ν•  수 μ—†μ–΄μ„œ 도메인을 κ΅¬λ§€ν–ˆκ³ , ν•΄λ‹Ή 도메인에 μš°λ¦¬κ°€ μž„λŒ€ν•œ EC2 μΈμŠ€ν„΄μŠ€μ˜ IPλ₯Ό μ—°κ²°ν–ˆμŠ΅λ‹ˆλ‹€. 이제 HTTPSλ₯Ό μ μš©ν•  차둀이죠.

HTTPS 전에, ELB에 λŒ€ν•΄ μ†Œκ°œν•˜κ³ μž ν•©λ‹ˆλ‹€. ELBλŠ” Elastic Load Balancerμž…λ‹ˆλ‹€.

ELBλŠ” μ„œλ²„λ₯Ό 2λŒ€ 이상 μš΄μš©ν•  λ•Œ, νŠΈλž˜ν”½μ„ 적절히 λΆ„ν•΄ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‘œλ“œ λ°ΈλŸ°μ„œμΈλ°μš”, μ €λŠ” ELB의 μ£Όμš” κΈ°λŠ₯이라고 ν•  수 μžˆλŠ” λ‘œλ“œ λ°ΈλŸ°μ‹± κΈ°λŠ₯이 μ•„λ‹ˆλΌ, λΆ€κ°€ κΈ°λŠ₯인 SSL/TLS(HTTPS)λ₯Ό μ μš©ν•˜κ³ μž ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ„œ SSLκ³Ό TLSλŠ”, μ›Ήμ‚¬μ΄νŠΈμ™€ μ‚¬μš©μž λΈŒλΌμš°μ € κ°„μ˜ 톡신을 μ•”ν˜Έν™”ν•˜μ—¬ λ°μ΄ν„°μ˜ κΈ°λ°€μ„±κ³Ό 무결성을 λ³΄ν˜Έν•˜λŠ” λ³΄μ•ˆ ν”„λ‘œν† μ½œμ΄λΌκ³  ν•  수 μžˆλŠ”λ°μš”. μ‰½κ²Œ ν‘œν˜„ν•˜λ©΄ HTTPλ₯Ό HTTPS둜 λ°”κΏ”μ£ΌλŠ” μΈμ¦μ„œλΌκ³  λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

HTTPSλ₯Ό μ‚¬μš©ν•˜λ©΄ 데이터λ₯Ό μ„œλ²„μ™€ 주고받을 λ•Œ μ•”ν˜Έν™”λ₯Ό 거친 λ’€ 톡신을 μ§„ν–‰ν•˜κΈ°μ— λ³΄μ•ˆμ— μœ λ¦¬ν•©λ‹ˆλ‹€. HTTPSκ°€ μ μš©λ˜μ§€ μ•Šμ€ μ‚¬μ΄νŠΈμ—λŠ” μœ„μ™€ 같은 κ²½κ³ κ°€ λ‚˜νƒ€λ‚˜λŠ”λ°μš”, μ‚¬μš©μž μž…μž₯μ—μ„œλŠ” λ―ΏμŒμ§μŠ€λŸ½μ§€ λͺ»ν•œ μ„œλΉ„μŠ€λΌκ³  νŒλ‹¨ν•  것이고, μ΄νƒˆλ₯ μ΄ 크게 증가할 μˆ˜λ°–μ— 없을 κ²ƒμž…λ‹ˆλ‹€.

HTTPS 인증을 받은 μ›Ή μ‚¬μ΄νŠΈκ°€ λ°±μ—”λ“œ μ„œλ²„μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•΄μ„œλŠ”, λ°±μ—”λ“œ μ„œλ²„μ˜ μ£Όμ†Œλ„ HTTPS 인증을 λ°›μ•„μ•Ό ν•©λ‹ˆλ‹€. ELB의 λΆ€κ°€ κΈ°λŠ₯인 SSL/TLS(HTTPS)λ₯Ό μ μš©ν•˜λ©΄ μ•„ν‚€ν…μ²˜λŠ” μœ„μ™€ 같이 변경될 κ²ƒμž…λ‹ˆλ‹€.

3-1. ELB κΈ°λ³Έ ꡬ성 μ„€μ • ✍️

3-1-1. 리전 선택 βœ…

AWS EC2 λ‘œλ“œλ°ΈλŸ°μ„œ μ„œλΉ„μŠ€λ‘œ λ“€μ–΄κ°€μ„œ 리전을 μ„œμšΈλ‘œ μ„€μ •ν•©λ‹ˆλ‹€.

3-1-2. λ‘œλ“œ λ°ΈλŸ°μ„œ μœ ν˜• 선택 βœ…

HTTP 및 HTTPS νŠΈλž˜ν”½μ„ μ‚¬μš©ν•  것이기에 κ°€μž₯ μ’ŒμΈ‘μ— μžˆλŠ” Application Load Balancerλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

3-1-3. κΈ°λ³Έ ꡬ성 βœ…

λ‚΄λΆ€ μ˜΅μ…˜μ€ Private IPλ₯Ό ν™œμš©ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ˜΅μ…˜μž…λ‹ˆλ‹€. ν˜„μž¬λŠ” Private IPλ₯Ό ν™œμš©ν•˜κ³  μžˆμ§€ μ•ŠκΈ°μ— 인터넷 경계λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

μΆ”κ°€μ μœΌλ‘œ, μš°λ¦¬κ°€ λ§Œλ“  EC2 μΈμŠ€ν„΄μŠ€λŠ” μ „λΆ€ IPv4둜 이루어져 μžˆμ—ˆκΈ°μ— IPv4λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

3-1-4. λ„€νŠΈμ›Œν¬ λ§€ν•‘ βœ…

λ‘œλ“œ λ°ΈλŸ°μ„œκ°€ μ–΄λ–€ κ°€μš© μ˜μ—­μœΌλ‘œλ§Œ νŠΈλž˜ν”½μ„ 보낼 것인지 μ œν•œν•˜λŠ” κΈ°λŠ₯이 μžˆλŠ”λ°μš”, μš°μ„ μ€ κ°€μš© μ˜μ—­μ— μ œν•œμ„ 두지 μ•Šκ³  λͺ¨λ“  μ˜μ—­μ— νŠΈλž˜ν”½μ„ 보내도둝 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

3-2. ELB λ³΄μ•ˆ κ·Έλ£Ή μ„€μ • ✍️

ELB λ³΄μ•ˆ 그룹을 μƒμ„±ν•©λ‹ˆλ‹€. 이전 κΈ€μ—μ„œ λ³΄μ•ˆ 그룹을 EC2 μΈμŠ€ν„΄μŠ€λΌλŠ” 집을 λ‘˜λŸ¬μ‹Ό μšΈνƒ€λ¦¬μ™€ λŒ€λ¬Έμ΄λΌκ³  λΉ„μœ ν–ˆμ—ˆμ£ . ELB도 EC2 μΈμŠ€ν„΄μŠ€ μ•žλ‹¨μ—μ„œ μš”μ²­μ„ λ¨Όμ € λ°›λŠ” '컴퓨터'에 λΆˆκ³Όν•©λ‹ˆλ‹€. λ”°λΌμ„œ ELB에 λŒ€ν•œ λ³΄μ•ˆ κ·Έλ£Ή 섀정도 ν•„μš”ν•©λ‹ˆλ‹€.

ELBλŠ” HTTP ν˜Ήμ€ HTTPS μœ ν˜•μ˜ μΈλ°”μš΄λ“œ νŠΈλž˜ν”½μ„ 받을 것이라고 μ„€μ •ν•˜λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€.

λ‹€μ‹œ μ„€μ •μœΌλ‘œ λŒμ•„μ™€μ„œ 방금 μƒμ„±ν•œ λ³΄μ•ˆ 그룹을 λ“±λ‘ν•©λ‹ˆλ‹€.

3-3. ELB λ¦¬μŠ€λ„ˆ 및 λΌμš°νŒ… μ„€μ • ✍️

ELB둜 λ“€μ–΄μ˜¨ μš”μ²­μ„ μ–΄λ–€ EC2 μΈμŠ€ν„΄μŠ€λ‘œ 전달할 것인지λ₯Ό μ„€μ •ν•˜λŠ” μ˜μ—­μž…λ‹ˆλ‹€. 그리고 μš”μ²­μ„ 받을 EC2 μΈμŠ€ν„΄μŠ€λ₯Ό 'λŒ€μƒ κ·Έλ£Ή'이라고 ν•©λ‹ˆλ‹€.

μœ„μ™€ 같이 μ„€μ •ν•©λ‹ˆλ‹€.

ELBμ—λŠ” Health CheckλΌλŠ” λΆ€κ°€ κΈ°λŠ₯이 μžˆμŠ΅λ‹ˆλ‹€. ELBλŠ” λ“€μ–΄μ˜¨ μš”μ²­μ„ λŒ€μƒ 그룹에 μžˆλŠ” μ—¬λŸ¬ EC2 μΈμŠ€ν„΄μŠ€λ‘œ μ „λ‹¬ν•˜λŠ” 역할을 μˆ˜ν–‰ν•˜λŠ”λ°μš”, μ΄λ•Œ νŠΉμ • EC2 μΈμŠ€ν„΄μŠ€ 내에 μžˆλŠ” μ„œλ²„κ°€ μ˜ˆμƒμΉ˜ λͺ»ν•œ μ—λŸ¬λ‘œ 인해 κ³ μž₯ 났닀고 κ°€μ •ν•΄ 보죠.

ELBκ°€ κ³ μž₯ λ‚œ μ„œλ²„λ‘œ νŠΈλž˜ν”½μ„ μ „λ‹¬ν•˜λŠ” 것은 μƒλ‹Ήνžˆ λΉ„νš¨μœ¨μ μΈ ν–‰λ™μž…λ‹ˆλ‹€. 이런 상황을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ ELBλŠ” 주기적으둜(κΈ°λ³Έ 30초) λŒ€μƒ 그룹에 μ†ν•΄μžˆλŠ” 각각의 EC2 μΈμŠ€ν„΄μŠ€μ— μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€. μ΄λ•Œ 200λ²ˆλŒ€ 응닡이 λ°˜ν™˜λ˜μ§€ μ•ŠμœΌλ©΄ μ„œλ²„κ°€ κ³ μž₯ 났닀고 νŒλ‹¨ν•˜κ³ , κ³ μž₯ λ‚œ μ„œλ²„λ‘œλŠ” νŠΈλž˜ν”½μ„ 보내지 μ•Šκ²Œ λ©λ‹ˆλ‹€.

'μ•„λž˜μ— 보λ₯˜ 쀑인 κ²ƒμœΌλ‘œ 포함'을 ν΄λ¦­ν•œ λ’€ λŒ€μƒ 그룹을 μƒμ„±ν•©λ‹ˆλ‹€.

λ‹€μ‹œ λ¦¬μŠ€λ„ˆ 및 λΌμš°νŒ… μ„Ήμ…˜μœΌλ‘œ λŒμ•„μ˜¨ λ’€ refresh λ²„νŠΌμ„ λˆ„λ₯΄κ³ , μš°λ¦¬κ°€ μƒμ„±ν•œ λŒ€μƒ 그룹을 μ§€μ •ν•©λ‹ˆλ‹€.

μ΄μ–΄μ§€λŠ” 뢀가적인 섀정듀은 default κ°’μœΌλ‘œ ν•˜κ³  λ‘œλ“œ λ°ΈλŸ°μ„œ 생성을 ν΄λ¦­ν•©λ‹ˆλ‹€.

Health Checkλ₯Ό μœ„ν•΄μ„œλŠ” μ„œλ²„ μ½”λ“œμ— Health Check APIλ₯Ό μΆ”κ°€ν•΄μ•Ό ν•˜λŠ”λ°μš”, 이 뢀뢄은 ν–₯후에 닀루도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

3-4. ELB에 도메인 μ—°κ²° ✍️

이제 μ‚¬μš©μžλ“€μ΄ μ„œλ²„μ— μš”μ²­μ„ 보내면 EC2 μΈμŠ€ν„΄μŠ€κ°€ ν•΄λ‹Ή μš”μ²­μ„ 직접 λ°›λŠ” 것이 μ•„λ‹ˆλΌ, ELBκ°€ λ¨Όμ € μš”μ²­μ„ λ°›κ³  κΈ°μ‘΄ EC2 μΈμŠ€ν„΄μŠ€μ— ν•΄λ‹Ή μš”μ²­μ„ μ „λ‹¬ν•˜κ²Œ λ˜λŠ” μƒν™©μœΌλ‘œ λ³€κ²½λμŠ΅λ‹ˆλ‹€. 상황에 λ§žλŠ” 후속 μž‘μ—…μ„ μ§„ν–‰ν•˜κ³ μž ν•©λ‹ˆλ‹€.

3-4-1. Route 53μ—μ„œ EC2에 μ—°κ²°λ˜μ–΄ 있던 λ ˆμ½”λ“œ μ‚­μ œ βœ…

Route 53으둜 μ΄λ™ν•˜μ—¬, EC2 μΈμŠ€ν„΄μŠ€μ— μ§μ ‘μ μœΌλ‘œ μ—°κ²°ν–ˆλ˜ λ ˆμ½”λ“œλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.

3-4-2. Route 53μ—μ„œ ELB에 도메인 μ—°κ²° βœ…

그리고 ELB에 λ§žλŠ” λ ˆμ½”λ“œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

3-5. μΈμ¦μ„œ λ°œκΈ‰ ✍️

3-5-1. AWS Certificate Manage βœ…

이제 μΈμ¦μ„œλ₯Ό λ°œκΈ‰λ°›κΈ° μœ„ν•΄ AWS Certificate Manage μ„œλΉ„μŠ€λ‘œ μ΄λ™ν•œ λ’€, μΈμ¦μ„œ μš”μ²­μ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

3-5-2. μΈμ¦μ„œ μš”μ²­ βœ…

도메인을 μ •ν™•νžˆ μž…λ ₯ν•˜κ³ , λ‹€λ₯Έ 섀정듀은 λ³€κ²½ν•˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ μš”μ²­μ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

3-5-3. μΈμ¦μ„œ 검증 βœ…

λ‚΄κ°€ 정말 ν•΄λ‹Ή λ„λ©”μΈμ˜ 주인인지 κ²€μ¦ν•˜λŠ” μ ˆμ°¨μž…λ‹ˆλ‹€.

Route 53μ—μ„œ CNAME에 λŒ€ν•œ 섀정을 ν•΄λ†“μœΌλ©΄, AWSμ—μ„œ CNAME 값에 μš”μ²­μ„ 보내보고 검증을 μ™„λ£Œν•΄ μ£Όκ² λ‹€λŠ” 뜻이죠.

'Route 53μ—μ„œ λ ˆμ½”λ“œ 생성'을 ν΄λ¦­ν•©λ‹ˆλ‹€. 이후 λ ˆμ½”λ“œ 생성을 ν΄λ¦­ν•©λ‹ˆλ‹€.

3λΆ„ 정도 μ§€λ‚˜λ©΄ μƒνƒœκ°€ '성곡'으둜 λ³€κ²½λ©λ‹ˆλ‹€. κΈΈκ²ŒλŠ” 10λΆ„ 정도 μ†Œμš”λ  λ•Œλ„ μžˆμœΌλ‹ˆ, λ°”λ€Œμ§€ μ•ŠλŠ”λ‹€κ³  λ„ˆλ¬΄ κ±±μ •ν•˜μ§€ μ•ŠμœΌμ…”λ„ λ©λ‹ˆλ‹€.

3-6. ELB에 HTTPS μ„€μ • ✍️

ELBμ—μ„œ λ¦¬μŠ€λ„ˆ μΆ”κ°€ λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

ν”„λ‘œν† μ½œμ„ HTTPS둜 μ„ νƒν•˜κ³ , μš°λ¦¬κ°€ μ§€μ •ν•œ λŒ€μƒ 그룹을 μ„ νƒν•œ λ’€, 방금 μƒμ„±ν•œ μΈμ¦μ„œλ₯Ό μ μš©ν•˜μ—¬ λ¦¬μŠ€λ„ˆλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

그런데 이 μƒνƒœμ—μ„œλŠ” 도메인 μ•žμ— httpλ₯Ό μ μš©ν•΄λ„ 톡신이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

HTTP:80을 ν΄λ¦­ν•œ λ’€ λ¦¬μŠ€λ„ˆ κ΄€λ¦¬μ—μ„œ ν•΄λ‹Ή λ¦¬μŠ€λ„ˆλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€. 그리고 λ‹€μ‹œ μƒˆλ‘œμš΄ λ¦¬μŠ€λ„ˆλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

μ‚¬μš©μžλ‘œλΆ€ν„° HTTP ν”„λ‘œν† μ½œμ„ 톡해 μš”μ²­μ΄ λ“€μ–΄μ˜€λ©΄ HTTPS URL둜 λ¦¬λ””λ ‰μ…˜ ν•˜κ² λ‹€λŠ” μ„€μ •μž…λ‹ˆλ‹€. λ¦¬μŠ€λ„ˆλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

이후에 url에 http둜 톡신을 μ‹œλ„ν•˜λ©΄, μžλ™μœΌλ‘œ https둜 λ³€κ²½λ˜λŠ” 것을 확인할 수 있게 λ©λ‹ˆλ‹€.

4. 정리 🎯

1. EC2λ₯Ό 톡해 μ„œλ²„μš© 컴퓨터λ₯Ό μž„λŒ€ 2. EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ νŒ¨ν‚€μ§€λ“€μ„ μ„€μΉ˜ ν›„ μ„œλ²„ ν”„λ‘œμ νŠΈλ₯Ό githubμ—μ„œ clone 3. κ°€λΉ„μ•„μ—μ„œ 도메인을 ꡬ맀 4. Route 53μ—μ„œ 도메인을 κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ λ ˆμ½”λ“œ 생성 ν›„ λ„€μž„ μ„œλ²„ 4개의 μ£Όμ†Œλ₯Ό 가비아에 등둝 5. api.pullim.io.kr을 μ—°κ²°ν•˜κΈ° μœ„ν•΄ 'A λ ˆμ½”λ“œ' 생성 6. ELB μ„€μ • ν›„ 생성 7. ELB둜 μš”μ²­μ„ λ°›κΈ° μœ„ν•΄ 5λ²ˆμ—μ„œ μƒμ„±ν–ˆλ˜ 'A λ ˆμ½”λ“œ' 제거 8. Route 53μ—μ„œ ELB에 도메인 μ—°κ²° 9. HTTPS μ μš©μ„ μœ„ν•΄ ACMμ—μ„œ μΈμ¦μ„œ λ°œκΈ‰ 10. ELBμ—μ„œ λ¦¬μŠ€λ„ˆ μΆ”κ°€λ₯Ό 톡해 μΈμ¦μ„œ 적용

μΆ”κ°€μ μœΌλ‘œ, ELBλŠ” μ‚¬μš©ν•˜λŠ” 것 자체둜 λΉ„μš©μ΄ λΆ€κ³Όλœλ‹€κ³  ν•΄μ„œ Nginx와 Certbot을 μ μš©ν•  μƒκ°μž…λ‹ˆλ‹€.

λ‹€μŒ κΈ€μ—μ„œλŠ” Amazon RDS둜 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 방법을 μ •λ¦¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

이전 κΈ€ 1: https://velog.io/@minkwan/Amazon-EC2-%ED%86%BA%EC%95%84%EB%B3%B4%EA%B8%B0

이전 κΈ€ 2: https://velog.io/@minkwan/NestJS%EB%A1%9C-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0

More to read

Amazon VPC

Amazon VPC Architecture μ΄ν•΄ν•˜κΈ°

μƒˆλ‘œμš΄ ν”„λ‘œμ νŠΈλ₯Ό κΈ°νšν•˜λ©°, κ°œλ°œμ—μ„œ 무엇을 κ°€μž₯ λ¨Όμ € κ³ λ―Όν•΄μ•Ό ν•˜λŠ”μ§€ λ‹€μ‹œ λŒμ•„λ³΄κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.ν•œλ•ŒλŠ” ν”„λ‘ νŠΈμ—”λ“œκ°€ λͺ¨λ“  μ„€κ³„μ˜ 좜발점이라고 λ―Ώμ—ˆμŠ΅λ‹ˆλ‹€. μœ μ €κ°€ 무엇을 보고, μ–΄λ–€ νλ¦„μ—μ„œ 머무λ₯΄κ³  μ΄νƒˆν•˜λŠ”μ§€μ— λŒ€ν•œ 이해 없이 μ„œλΉ„μŠ€λ₯Ό λ§Œλ“ λ‹€λŠ” 건 λΆˆκ°€λŠ₯ν•˜λ‹€κ³  μƒκ°ν–ˆκΈ°

'μ›μ‚¬μ΄νŠΈ'

ν”„λ‘ νŠΈμ—”λ“œ κ΄€μ μœΌλ‘œ μ•Œκ³ λ¦¬μ¦˜ μ΄ν•΄ν•˜κΈ°

μ˜€λžœλ§Œμ— 방법둠에 κ΄€ν•œ 글을 μ“°κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 졜근 상황은 μ΄λ ‡μŠ΅λ‹ˆλ‹€. SSAFYμ—μ„œλŠ” ν•˜λ£¨μ— μ—„μ²­λ‚œ μ–‘μ˜ μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œλ“€μ„ 과제둜 μˆ˜ν–‰ν•˜κ²Œ λ©λ‹ˆλ‹€. κ·Έ κ³Όμ •μ—μ„œ, 'κ΅¬ν˜„λ ₯'이 맀우 λ–¨μ–΄μ§„λ‹€λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€. μ™„μ „νžˆ μ–΄λ €μš΄ 문제라면 '아쉬움'μ΄λΌλŠ” 감정쑰차 λŠλΌμ§€

Subnet

VPC μ„€κ³„μ˜ μ‹œμž‘: IP와 Subnet

λ°˜λ³΅λ˜λŠ” 루틴 μ†μ—μ„œ 얻은 μ•ˆμ •κ°μ„ 발판 μ‚Όμ•„, μ΄μ œλŠ” 기술적 μŠ€νŽ™νŠΈλŸΌμ„ λ„“νžˆκΈ° μœ„ν•œ 개인 ν”„λ‘œμ νŠΈμ— μ°©μˆ˜ν•˜κ³ μž ν•©λ‹ˆλ‹€.이번 ν”„λ‘œμ νŠΈμ˜ λͺ©ν‘œλŠ” λ‹¨μˆœν•œ 포트폴리였 ꡬ좕을 λ„˜μ–΄, μ‹€μ œ μ„œλΉ„μŠ€ μˆ˜μ€€μ˜ λΈ”λ‘œκ·Έ μ‹œμŠ€ν…œ κ΅¬ν˜„κ³Ό λ‹€κ΅­μ–΄ 처리 적용 λ“± 싀무에 κ°€κΉŒμš΄ μ—­λŸ‰μ„ ν•œ 단계