Search

AWS Front-End λ°°ν¬ν•˜κΈ°

AWS Front-End λ°°ν¬ν•˜κΈ°

β€’
AWS Front-End 배포λ₯Ό μœ„ν•΄ ν•„μš”ν•œ μ„œλΉ„μŠ€
β—¦
Route 53
β—¦
ACM
β—¦
Cloud Front
β—¦
S3
β€’
μž‘μ—… μˆœμ„œ
β€’
S3에 정적 μ›Ήμ‚¬μ΄νŠΈ 파일 μ—…λ‘œλ“œ: λΉŒλ“œλœ ν”„λ‘ νŠΈμ—”λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ νŒŒμΌμ„ S3 버킷에 μ—…λ‘œλ“œν•˜κ³  정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…μ„ ν™œμ„±ν™”ν•©λ‹ˆλ‹€.
β€’
ACMμ—μ„œ SSL μΈμ¦μ„œ λ°œκΈ‰: 도메인 μ†Œμœ κΆŒμ„ κ²€μ¦ν•˜μ—¬ SSL μΈμ¦μ„œλ₯Ό λ°œκΈ‰λ°›μŠ΅λ‹ˆλ‹€.
β€’
CloudFront 배포 μ„€μ •: S3 버킷을 μ›λ³ΈμœΌλ‘œ μ„€μ •ν•˜κ³ , ACMμ—μ„œ λ°œκΈ‰λ°›μ€ SSL μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜μ—¬ CloudFront 배포λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
β€’
Route 53 DNS μ„€μ •: 도메인 이름을 Route 53μ—μ„œ κ΄€λ¦¬ν•˜κ³ , 도메인 이름이 CloudFront 배포λ₯Ό 가리킀도둝 DNS λ ˆμ½”λ“œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

AWS Front-End 배포λ₯Ό μœ„ν•΄ ν•„μš”ν•œ μ„œλΉ„μŠ€

Route 53

Amazon Route 53은 도메인 이름 μ‹œμŠ€ν…œ (DNS) μ›Ή μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
β€’
ν˜ΈμŠ€νŒ… μ‘΄ 생성: AWS μ½˜μ†”μ—μ„œ Route 53을 μ„ νƒν•˜κ³  μƒˆλ‘œμš΄ ν˜ΈμŠ€νŒ… 쑴을 μƒμ„±ν•©λ‹ˆλ‹€. 도메인 이름을 μž…λ ₯ν•©λ‹ˆλ‹€.
β€’
λ ˆμ½”λ“œ μ„€μ •: Route 53μ—μ„œ 도메인 이름에 λŒ€ν•΄ A λ ˆμ½”λ“œ 및 CNAME λ ˆμ½”λ“œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. A λ ˆμ½”λ“œλŠ” CloudFront 배포의 도메인 이름을 가리킀도둝 μ„€μ •ν•©λ‹ˆλ‹€.

ACM (AWS Certificate Manager)

AWS Certificate ManagerλŠ” SSL/TLS μΈμ¦μ„œλ₯Ό κ΄€λ¦¬ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
β€’
μΈμ¦μ„œ μš”μ²­: AWS ACMμ—μ„œ μƒˆλ‘œμš΄ μΈμ¦μ„œλ₯Ό μš”μ²­ν•©λ‹ˆλ‹€. μΈμ¦μ„œλ₯Ό μš”μ²­ν•  도메인을 μž…λ ₯ν•©λ‹ˆλ‹€.
β€’
도메인 μ†Œμœ κΆŒ 검증: μΈμ¦μ„œλ₯Ό μš”μ²­ν•œ λ„λ©”μΈμ˜ μ†Œμœ κΆŒμ„ κ²€μ¦ν•©λ‹ˆλ‹€. μ΄λŠ” 이메일 κ²€μ¦μ΄λ‚˜ DNS 검증을 톡해 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β€’
μΈμ¦μ„œ λ°œκΈ‰: μ†Œμœ κΆŒ 검증이 μ™„λ£Œλ˜λ©΄ ACMμ—μ„œ SSL μΈμ¦μ„œλ₯Ό λ°œκΈ‰ν•©λ‹ˆλ‹€.
SSL/TLS λž€?
SSL은 Secure Sockets Layer의 μ•½μžμ΄κ³ , TLSλŠ” Transport Layer Security의 μ•½μžμž…λ‹ˆλ‹€.
SSL/TLS μΈμ¦μ„œλŠ” μ›Ή μ‚¬μ΄νŠΈμ™€ μ‚¬μš©μžμ˜ λΈŒλΌμš°μ € 간에 μ•ˆμ „ν•œ 톡신을 보μž₯ν•˜λŠ” 디지털 μΈμ¦μ„œμž…λ‹ˆλ‹€. TLSλŠ” SSL의 후속 ν”„λ‘œν† μ½œλ‘œ, SSL에 λΉ„ν•΄ λ³΄μ•ˆμ΄ κ°•ν™”λœ λ²„μ „μž…λ‹ˆλ‹€. SSL/TLS μΈμ¦μ„œλŠ” λ‹€μŒκ³Ό 같은 역할을 ν•©λ‹ˆλ‹€.

λ³΄μ•ˆ μΈμ¦μ„œ(SSL/TLS) 의 μ—­ν• 

β€’
데이터 μ•”ν˜Έν™”: μ›Ή μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ(예: μ›Ή λΈŒλΌμš°μ €) κ°„μ˜ 데이터가 μ•”ν˜Έν™”λ˜μ–΄ μ „μ†‘λ©λ‹ˆλ‹€. 이λ₯Ό 톡해 전솑 쀑 데이터가 λ„μ²­λ˜κ±°λ‚˜ λ³€μ‘°λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€.
β€’
μ„œλ²„ 인증: μΈμ¦μ„œλŠ” μ›Ή μ„œλ²„μ˜ 신원을 ν™•μΈν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‚¬μš©μžλŠ” μžμ‹ μ΄ μ ‘μ†ν•œ μ›Ήμ‚¬μ΄νŠΈκ°€ μ§„μ§œμΈμ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μΈμ¦μ„œλŠ” μ‹ λ’°ν•  수 μžˆλŠ” 인증 κΈ°κ΄€(CA, Certificate Authority)μ—μ„œ λ°œκΈ‰λ©λ‹ˆλ‹€.
β€’
데이터 무결성: μ „μ†‘λœ 데이터가 쀑간에 λ³€κ²½λ˜μ§€ μ•Šμ•˜μŒμ„ 보μž₯ν•©λ‹ˆλ‹€. 데이터가 μ†μƒλ˜κ±°λ‚˜ λ³€μ‘°λ˜μ—ˆμ„ 경우 λΈŒλΌμš°μ €κ°€ 이λ₯Ό 감지할 수 μžˆμŠ΅λ‹ˆλ‹€.

Cloud Front

Amazon CloudFrontλŠ” μ½˜ν…μΈ  전솑 λ„€νŠΈμ›Œν¬ (CDN) μ„œλΉ„μŠ€λ‘œ, μ „ 세계에 λΆ„μ‚°λœ 엣지 λ‘œμΌ€μ΄μ…˜μ„ 톡해 μ½˜ν…μΈ λ₯Ό λΉ λ₯΄κ²Œ μ „λ‹¬ν•©λ‹ˆλ‹€.
β€’
CloudFront 배포 생성: AWS μ½˜μ†”μ—μ„œ CloudFront μ„œλΉ„μŠ€λ₯Ό μ„ νƒν•˜κ³  μƒˆλ‘œμš΄ 배포λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
β€’
원본 μ„€μ •: 원본 도메인을 S3 λ²„ν‚·μ˜ 정적 μ›Ήμ‚¬μ΄νŠΈ μ—”λ“œν¬μΈνŠΈλ‘œ μ„€μ •ν•©λ‹ˆλ‹€.
β€’
도메인 이름 μ„€μ •: CloudFront λ°°ν¬μ—μ„œ μ»€μŠ€ν…€ 도메인을 μ‚¬μš©ν•˜λ €λ©΄ ACMμ—μ„œ λ°œκΈ‰ν•œ μΈμ¦μ„œλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
β€’
μΊμ‹œ μ„€μ •: ν•„μš”μ— 따라 μΊμ‹œ 정책을 μ„€μ •ν•˜μ—¬ μ½˜ν…μΈ κ°€ 효율적으둜 μ œκ³΅λ˜λ„λ‘ ν•©λ‹ˆλ‹€.

S3 (Simple Storage Service)

Amazon S3 (Simple Storage Service)λŠ” 정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…μ„ μ œκ³΅ν•˜λŠ” μ €μž₯ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
β€’
S3 버킷 생성: AWS μ½˜μ†”μ—μ„œ S3 μ„œλΉ„μŠ€λ₯Ό μ„ νƒν•˜κ³  μƒˆλ‘œμš΄ 버킷을 μƒμ„±ν•©λ‹ˆλ‹€. 버킷 이름은 도메인 이름과 λ™μΌν•˜κ²Œ μ„€μ •ν•˜λŠ” 것이 μΌλ°˜μ μž…λ‹ˆλ‹€.
β€’
정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ… ν™œμ„±ν™”: μƒμ„±ν•œ S3 λ²„ν‚·μ˜ μ†μ„±μ—μ„œ "정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…"을 ν™œμ„±ν™”ν•©λ‹ˆλ‹€.
β€’
파일 μ—…λ‘œλ“œ: λΉŒλ“œλœ ν”„λ‘ νŠΈμ—”λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 파일 (HTML, CSS, JS λ“±)을 S3 버킷에 μ—…λ‘œλ“œν•©λ‹ˆλ‹€.
β€’
퍼블릭 μ•‘μ„ΈμŠ€ μ„€μ •: 버킷 정책을 톡해 퍼블릭 읽기 κΆŒν•œμ„ λΆ€μ—¬ν•©λ‹ˆλ‹€. μ΄λŠ” μ›Ήμ‚¬μ΄νŠΈκ°€ λˆ„κ΅¬μ—κ²Œλ‚˜ μ ‘κ·Ό κ°€λŠ₯ν•˜λ„λ‘ ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.
λ²„ν‚·μ΄λž€?
Amazon S3 의 기본적인 μ €μž₯ λ‹¨μœ„μž…λ‹ˆλ‹€.

λ²„ν‚·μ˜ μ£Όμš” νŠΉμ§•

1.
κ³ μœ ν•œ 이름: 버킷은 μ „ μ„Έκ³„μ μœΌλ‘œ κ³ μœ ν•œ 이름을 κ°€μ Έμ•Ό ν•©λ‹ˆλ‹€. μ΄λŠ” λ²„ν‚·μ˜ 이름을 톡해 μΈν„°λ„·μƒμ˜ κ³ μœ ν•œ λ¦¬μ†ŒμŠ€λ‘œ 식별할 수 있게 ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.
2.
μŠ€ν† λ¦¬μ§€ μœ„μΉ˜: 버킷을 생성할 λ•Œ 데이터가 μ €μž₯될 AWS 리전(지역)을 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. μ„ νƒν•œ 리전에 따라 데이터 μ €μž₯κ³Ό μ ‘κ·Ό 속도가 영ν–₯을 받을 수 μžˆμŠ΅λ‹ˆλ‹€.
3.
λ¬΄μ œν•œ μš©λŸ‰: 각 버킷은 λ¬΄μ œν•œμ˜ 데이터 μš©λŸ‰μ„ μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€λ§Œ, 각 객체의 ν¬κΈ°λŠ” μ΅œλŒ€ 5TB둜 μ œν•œλ©λ‹ˆλ‹€.
4.
데이터 관리: 버킷 내에 객체λ₯Ό μ—…λ‘œλ“œ, λ‹€μš΄λ‘œλ“œ, μ‚­μ œν•  수 있으며, 각 κ°μ²΄λŠ” ν‚€(key)λΌλŠ” κ³ μœ ν•œ μ‹λ³„μžλ₯Ό κ°€μ§‘λ‹ˆλ‹€.

λ²„ν‚·μ˜ μ£Όμš” κΈ°λŠ₯

1.
정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…: S3 버킷을 μ‚¬μš©ν•˜μ—¬ 정적 μ›Ήμ‚¬μ΄νŠΈ(HTML, CSS, JavaScript λ“±)λ₯Ό ν˜ΈμŠ€νŒ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ›Ή μ„œλ²„ 없이도 정적 μ½˜ν…μΈ λ₯Ό 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.
2.
κΆŒν•œ 관리: 버킷 및 객체에 λŒ€ν•΄ 세뢀적인 μ ‘κ·Ό κΆŒν•œμ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. AWS Identity and Access Management (IAM) μ •μ±…, 버킷 μ •μ±…, 객체 ACL(Access Control List) 등을 μ‚¬μš©ν•˜μ—¬ κΆŒν•œμ„ μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
3.
버전 관리: 버킷에 μ €μž₯된 객체의 버전을 관리할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 객체의 λ³€κ²½ 이λ ₯을 μΆ”μ ν•˜κ³ , ν•„μš”μ— 따라 이전 λ²„μ „μœΌλ‘œ 볡원할 수 μžˆμŠ΅λ‹ˆλ‹€.
4.
수λͺ… μ£ΌκΈ° 관리: 객체의 수λͺ… μ£ΌκΈ° 정책을 μ„€μ •ν•˜μ—¬ μžλ™μœΌλ‘œ 객체λ₯Ό μ•„μΉ΄μ΄λΈŒν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μŠ€ν† λ¦¬μ§€ λΉ„μš©μ„ μ ˆκ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
5.
이벀트 μ•Œλ¦Ό: λ²„ν‚·μ—μ„œ νŠΉμ • 이벀트(객체 생성, μ‚­μ œ λ“±)κ°€ λ°œμƒν•  λ•Œ SNS, SQS, Lambda 등을 톡해 μ•Œλ¦Όμ„ 받을 수 μžˆμŠ΅λ‹ˆλ‹€.
6.
μ•‘μ„ΈμŠ€ 둜그: 버킷에 λŒ€ν•œ μ•‘μ„ΈμŠ€ 둜그λ₯Ό μ„€μ •ν•˜μ—¬ λˆ„κ°€ μ–Έμ œ μ–΄λ–€ 객체에 μ ‘κ·Όν–ˆλŠ”μ§€ 기둝할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λ³΄μ•ˆκ³Ό 감사 μš”κ΅¬ 사항을 μΆ©μ‘±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μž‘μ—… μˆœμ„œ

μ›Ήμ‚¬μ΄νŠΈ 배포λ₯Ό μœ„ν•΄ λ¨Όμ € AWS Route 53μ—μ„œ 도메인을 λ“±λ‘ν•œ ν›„, AWS Certificate Manager (ACM)μ—μ„œ SSL μΈμ¦μ„œλ₯Ό μ„€μ •ν•˜μ—¬ HTTPSλ₯Ό 톡해 μ•ˆμ „ν•œ 톡신을 보μž₯ν•©λ‹ˆλ‹€. 이후, AWS S3 버킷을 μƒμ„±ν•˜κ³  정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…μ„ μ„€μ •ν•˜μ—¬ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ νŒŒμΌμ„ μ—…λ‘œλ“œν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ, AWS CloudFrontλ₯Ό μ‚¬μš©ν•΄ CDN 배포λ₯Ό μ„€μ •ν•˜μ—¬ μ „ 세계 μ‚¬μš©μžλ“€μ—κ²Œ λΉ λ₯΄κ³  μ•ˆμ •μ μœΌλ‘œ μ½˜ν…μΈ λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
1.
도메인 등둝 AWS Route53
2.
https (SSL) μΈμ¦μ„œ μ„€μ • AWS Certificate Manager (ACM)
3.
정적 μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ… AWS S3
4.
CDN 배포 AWS Cloud Front