| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 오픈챌린지
- 백엔드개발자
- 내일배움카드
- 환급챌린지
- 부트캠프
- 백준
- JPA
- 디자인강의
- 국비지원
- 백엔드 부트캠프
- 디자인챌린지
- API
- OPENPATH
- mysql
- Java
- 티스토리챌린지
- 오블완
- 오픈패스
- 시스템설계
- 디자인교육
- 국비지원교육
- baekjoon
- UXUIPrimary
- KDT
- UXUI기초정복
- Be
- UXUI챌린지
- Spring
- 패스트캠퍼스
- 국비지원취업
- Today
- Total
군만두의 IT 개발 일지
[스터디15] 03. RDS & S3 & Route53 & CloudFront & Amplify 본문
목차
5장. 관계형 데이터베이스 서비스 파악하기
아마존 RDS는 AWS에서 관계형 데이터베이스를 제공하는 관리형 서비스로, 데이터베이스의 백업, 소프트웨어 패치, 장애 감지 및 복구 등을 자동으로 관리해준다.
5-1 아마존 RDS의 옵션과 고가용성
아마존 RDS를 구성할 때 스토리지와 가용성 측면에서 다양한 옵션을 선택할 수 있다.
- 스토리지 유형: 비용과 성능 밸런스가 잡힌 범용 SSD(gp2, gp3), 높은 I/O 성능을 제공하는 프로비저닝된 IOPS, 구세대 유형인 마그네틱을 지원한다.
- 고가용성 지원: 다중 AZ(Multi-AZ) 기능을 통해 원본 데이터베이스에 장애가 발생하면 대기 중인 리소스 중 하나가 마스터로 승격되어 35초 미만으로 읽기/쓰기 작업을 복구한다.
5-2 아마존 RDS 접속 패턴
보안을 위해 외부와 차단된 프라이빗 서브넷에 배치된 RDS에 접근하는 대표적인 패턴은 다음과 같다.
| 접속 패턴 | 설명 |
| EC2 인스턴스 경유 | 프라이빗 서브넷에 위치한 EC2 인스턴스에 오라클 클라이언트 등을 설치해 RDS로 접속하는 가장 기본적인 방식이다. |
| 포트 포워딩 | AWS CLI를 이용해 EC2 인스턴스 대상으로 세션 관리자 포트 포워딩 세션을 생성하여, 로컬 PC에서 안전하게 접속한다. |
| Site to Site VPN | EC2 인스턴스를 거치지 않고, 다이렉트 커넥트나 VPN을 설정하여 프라이빗 네트워크를 통해 더욱 간편하게 접속한다. |
6장. 객체 스토리지 서비스 파악하기
아마존 S3는 일정한 형태가 없는 비정형 데이터를 저장하고 관리하는 객체 스토리지 서비스로, 텍스트, 이미지, 비디오 등 어떤 형식의 파일이든 무제한으로 저장할 수 있다.
6-1 S3 스토리지 클래스
데이터의 액세스 빈도와 중요도에 따라 최적화된 스토리지 클래스를 선택해 요금을 절약할 수 있다.
- S3 Standard: 동적 웹사이트, 빅데이터 분석 등 자주 액세스하는 범용 데이터에 적합하다.
- S3 Infrequent Access (IA): 백업이나 재해 대책 파일처럼 액세스 빈도는 낮지만 필요할 때 즉시 꺼내야 하는 데이터에 적합하다.
- S3 Glacier 계열: 규제 준수 요건을 위해 7~10년 이상 보관해야 하는 아카이브성 데이터나 백업 데이터를 매우 저렴하게 저장할 수 있다.
6-2 S3의 객체 관리 기능
- 버저닝(Versioning): 단일 객체의 여러 버전을 유지하여, 실수로 덮어쓰거나 삭제한 데이터를 복구할 수 있는 기능이다.
- 생명주기(Lifecycle) 규칙: 지정한 기간(예: 90일)이 지난 객체를 자동으로 삭제하거나 비용이 저렴한 스토리지 클래스로 이전하도록 설정해 장기간 보존 비용을 절약할 수 있다.
7장. 프론트엔드를 위한 서비스 이해하기
아마존 라우트53(Route 53)은 AWS가 제공하는 대표적인 도메인 관리 및 DNS 서비스로, 도메인을 구매하거나 사용자의 트래픽을 효율적으로 라우팅하는 데 사용된다.
7-1 호스팅 영역 분리
| 영역 | 특징 |
| 퍼블릭 호스팅 영역 | 인터넷에 공개되는 공개 도메인을 사용하여 누구나 해당 웹사이트에 접근할 수 있도록 한다. |
| 프라이빗 호스팅 영역 | VPC 내부에서만 유효한 비공개 도메인을 사용하여, 외부 인터넷에서는 접근할 수 없도록 사내 네트워크를 격리한다. |
7-2 다양한 라우팅 정책
라우트53은 서비스의 가용성과 성능을 최적화하기 위해 다음과 같은 라우팅 정책을 지원한다.
- 단순 라우팅: 하나의 리소스로만 반환하도록 구성하여 모든 사용자가 같은 응답을 받도록 한다.
- 장애 조치 라우팅: 메인 서버에 문제가 발생하여 가동이 중지되면, 자동으로 트래픽을 미리 준비된 하위 서버로 전환해 끊김 없는 서비스를 제공한다.
- 가중치 기반 및 지연 시간 라우팅: 특정 비율로 트래픽을 분산하거나, 여러 리전 중 응답 속도가 가장 짧은 서버에 대응시킨다.
8장. 콘텐츠 전송을 위한 프론트 서비스 파악하기
아마존 클라우드프론트(CloudFront)는 사용자에게 동영상이나 이미지 같은 정적 콘텐츠를 전 세계 엣지 로케이션을 통해 빠르고 안전하게 배포하는 CDN 서비스이다.
8-1 주요 설정 및 보안
- OAI 및 OAC 구성: 사용자가 S3 버킷에 직접 접근하는 것을 차단하고, 오직 클라우드프론트 엣지 로케이션을 통해서만 콘텐츠에 접근하도록 강제하여 보안을 강화한다.
- 경로 패턴 기반 라우팅: '/production/*'이나 '/development/*' 같은 경로 패턴을 지정하여, 특정 S3 버킷이나 로드 밸런서로 트래픽을 정교하게 분기할 수 있다.
- 캐시 정책(TTL): TTL 값을 길게 설정하면 클라우드프론트의 로컬 캐시에서 콘텐츠를 찾을 확률(캐시 히트 비율)이 높아져 웹사이트 성능이 비약적으로 향상된다.
- 가격 분류: 모든 지역의 엣지 로케이션을 사용하지 않고, 북미 및 유럽 등 특정 지역만 선택해 트래픽 비용을 유연하게 최적화할 수 있다.
9장. 웹 애플리케이션 배포용 프론트 서비스 파악하기
아마존 앰플리파이(Amplify)는 개발자가 복잡한 클라우드포메이션 템플릿 작성 없이 웹 애플리케이션을 신속하게 개발하고 호스팅할 수 있도록 돕는 서비스이다.
9-1 앰플리파이 스튜디오와 호스팅
| 구분 | 기능 및 연동 |
| 앰플리파이 스튜디오 | 피그마(Figma)와 연동해 UI 디자인을 리액트(React) 코드로 자동 변환하며, 내부적으로 아마존 AppSync와 다이나모DB(DynamoDB)를 거쳐 데이터 모델링을 시각적으로 구성할 수 있다. |
| 앰플리파이 호스팅 | 깃허브(GitHub) 리포지토리와 연동하여 CI/CD 환경을 구축한다. 깃허브에 코드를 커밋할 때마다 자동으로 빌드 파이프라인을 실행하고 웹사이트를 실시간으로 업데이트하여 배포한다. |
10장. 사용자 인증을 위한 프론트 서비스 파악하기
아마존 코그니토(Cognito)는 개발자가 직접 인증 서버를 구축할 필요 없이, 앱과 웹에 회원가입 및 로그인 보안 기능을 즉시 통합할 수 있게 해주는 관리형 서비스이다.
10-1 사용자 풀과 자격증명 풀
코그니토는 인증(Authentication)과 인가(Authorization)를 두 가지 독립적인 풀로 나누어 관리한다.
- 사용자 풀 (User Pool): 이메일, 전화번호를 통한 회원가입은 물론, 구글이나 페이스북 같은 소셜 자격증명을 통한 인증 파트를 담당하며, 가입된 사용자의 프로필 데이터를 저장한다.
- 자격증명 풀 (Identity Pool): 사용자 풀을 거쳐 인증된 사용자나 비인증(게스트) 사용자에게 IAM 기반의 임시 보안 자격증명(권한)을 발급해, S3나 다이나모DB 같은 백엔드 AWS 리소스에 직접 접근할 수 있도록 돕는다.
자바스크립트 환경에서는 'AWS SDK for JavaScript'를 활용해 코그니토 인증 함수(회원가입, 로그인 세션 획득 등)를 프론트엔드 코드 내부에서 직접 호출하고 제어할 수 있다.
이 글은 『AWS 잘하는 개발자 되기』책을 학습한 내용을 정리한 것입니다.
'학습일지' 카테고리의 다른 글
| [도서리뷰] 면접에서 살아남기 - Do it! AI 시대에 살아남은 프론트엔드 면접의 기술 (1) | 2026.07.04 |
|---|---|
| [구글 클라우드 스터디잼] Prompt Design in Vertex AI (0) | 2026.05.16 |
| [구글 클라우드 스터디잼] API Developer Learning Path (1) | 2026.05.08 |
| [스터디13] 10. gRPC 시작하기 (0) | 2026.03.13 |
| [스터디13] 09. 웹서비스 배포하기 (0) | 2026.03.08 |
