Upload
amazon-web-services-korea
View
1.329
Download
4
Embed Size (px)
Citation preview
AWS를 활용한 글로벌 아키텍처 운용 김상필 | 솔루션즈 아키텍트
목차
• 글로벌 어플리케이션 배포 전략
• 서비스 별 마이그레이션 방법
• 데이터베이스 마이그레이션 방안
• 어플리케이션 다운타임 최소화
고정비용을 가변비용으로 TCO 절감 실사용 기반
용량 산정
민첩성 증가 선투자 비용 없음
수 분 내 글로벌 진출
$
클라우드 컴퓨팅 장점
글로벌 어플리케이션 배포 전략
AWS 글로벌 인프라
지역
엣지 로케이션
12 지역 32 가용 영역 54 엣지 로케이션
아시아 태평양 (서울) 지역
글로벌 배포 전략 1 – 지역 별 서버 배치
Route53을 통한 트래픽 분배
Amazon Route53
최종 사용자
www.example.com
na.example.com
sa.example.com
eu.example.com
ap.example.com
지연 시간 기반 또는 지역 DNS
Route53의 라우팅 정책 § 단순(Simple) 라우팅 – 하나의 DNS 요청에 대해 하나의 자원. 예 : 1대의 웹서버
§ 가중치 기반 라운드 로빈(WRR) - 하나의 DNS 요청에 대해 지정한 가중치에 따른
빈도로 다수의 자원 응답. 예 : 다수의 웹서버에 m:n 비율
§ 지연 시간 기반(LBR) - 최종 사용자를 지연 시간이 가장 낮은 AWS 지역으로 라우
팅. 예 : 복수 지역의 웹서버 배포
§ 페일오버 (Failover) – Active-Passive 형태로 이중화 구현하여 라우팅. 예 : 재해 복
구 웹서버
§ 지역 DNS (Geo DNS) – 최종 사용자의 위치에 따라 특정 AWS 지역으로 라우팅.
예 : 복수 지역의 웹서버 배포
지연 시간 기반(LBR) § 최종 사용자를 지연 시간이 가장 낮은
AWS 지역으로 라우팅
Record name Type Policy Values
www.example.com CNAME Latency (us-west-1)
na.example.com
www.example.com CNAME Latency (sa-east-1)
sa.example.com
www.example.com CNAME Latency (eu-west-1)
eu.example.com
www.example.com CNAME Latency (ap-northeast-1)
ap.example.com
지역 DNS (Geo DNS) § 최종 사용자의 위치에 따라 특정 AWS 지역으로 라우팅
Record name Type Policy Values
www.example.com CNAME Geolocation (us-west-1)
na.example.com
www.example.com CNAME Geolocation (sa-east-1)
sa.example.com
www.example.com CNAME Geolocation (eu-west-1)
eu.example.com
www.example.com CNAME Geolocation (ap-northeast-1)
ap.example.com
글로벌 배포 전략 2 – 단일 지역+CDN 배포
sa.example.com
example.com
정적 또는 동적 콘텐츠
최종 사용자
최종 사용자
최종 사용자
최종 사용자
최종 사용자
최종 사용자
Amazon CloudFront 통한 전체 사이트 가속
Elastic Load Balancing
동적 콘텐츠
Amazon EC2
정적 콘텐츠
Amazon S3
* (default)
/error/* /assets/*
Amazon CloudFront example.com
사용자에서 CloudFront 지연 시간 기반 라우팅 지속적인 연결 정적 콘텐츠 캐싱
CloudFront에서 오리진 정적 동적 콘텐츠 분리
각 오리진에 대한 지속적인 연결 성능을 위한 네트워크 경로 모니터링
지역 선택 시 고려 사항 § 응답 속도 - 서비스 대상 최종 사용자에 낮은 응답속도를 제공할 수 있는
지역 선택
§ 가용 서비스 – 대부분 AWS 서비스는 지역 단위로 제공. 특정 서비스는 모
든 지역에서 가용하지 않음.
§ 컴플라이언스 – 고객 데이터가 한 곳에서 다른 곳으로 이동 시, 각 국가별
보안 및 컴플라이언스 규정 존재
§ 비용 – 지역마다 다름
서울 지역(Region) 출시
서비스 별 마이그레이션 방법
웹 어플리케이션 아키텍처 예
Auto Scaling group
Availability Zone
www.example.com
security group
security group EBS volumes
media.example.com
Elastic Load Balancing
Amazon S3 bucket
CloudFront distribution
EC2 instance
web app server
RDS instance
virtual private cloud
컴퓨팅 및 네트워크
스토리지 및 콘텐츠 전송 네트워크
데이터베이스
Elastic IP
AMI
RDS Snapshot
EBS Snapshot
지역 간 복제 기능 제공 서비스 및 방법
Amazon DynamoDB
대상 지역 원본 지역
AWS Data Pipeline
AMI
Amazon EBS
AMI
Copy
Copy
Copy
RDS Snapshot RDS Snapshot
Amazon EBS EBS Snapshot EBS Snapshot
Snapshot Restore
Amazon EC2 Amazon EC2
Restore Create
Snapshot Restore
Import
Amazon RDS
Amazon DynamoDB
Export
컴퓨팅 및 네트워크 이전 자원 지역 이전 방법 고려 사항
AMI 및 인스턴스 지역 간 복제 • AMI ID는 지역 별 고유
EBS 볼륨 및 스냅샷 지역 간 복제 • 스냅샷 복제 중 볼륨 변경 데이터는 복제되지 않음
키 쌍 사용자 관리 • 오토스케일링 배포 구성 및 CloudFormation 템플릿 내 키 쌍 이름 변경
로드 밸런서 신규 생성 • ELB는 지역 간 복제되지 않음 • SSL 인증서 및 헬스체크 구성 업데이트 필요
Elas.c IP 신규 생성 • EIP는 지역 단위 풀에서 할당으로 지역 간 동일 IP 사용 불가 • EIP를 가리키는 DNS의 TTL을 줄이도록 업데이트
VPC 신규 생성 • VPC는 지역 간 복제되지 않음 • 동일 사설 IP 대역 사용 가능
보안 그룹 신규 생성 (구성 복제) • 인스턴스 배포 전 구성
배포 구성 및 오토스케일링 그룹
신규 생성 (구성 복제) • 신규 AMI ID, 보안 그룹, 키 쌍 변경 필요
컴퓨팅 및 네트워크 이전 – 보안 그룹 § AWS CLI를 통한 보안그룹 구성 정보 수집
§ $ aws ec2 describe-security-groups --region <sourceregionname> >> sg.txt
컴퓨팅 및 네트워크 이전 – AMI 및 인스턴스 1. Source 지역에서 AMI 복사
2. Target 지역에서 복사되는 AMI 확인
3. 복사된 AMI를 통하여 새로운 인스턴스 배포
컴퓨팅 및 네트워크 이전 – 볼륨 및 스냅샷 1. Source 지역에서 EBS 스냅샷 생성 후 복사
2. Target 지역에서 복사되는 스냅샷 확인
3. 복사된 Snapshot을 통하여 새로운 볼륨 생성
변경 필요 : • AMI ID • SSH 키 쌍 • 보안 그룹
컴퓨팅 및 네트워크 이전 – ASG 및 배포그룹 § AWS CLI를 통한 오토 스케일링 관련 구성 정보 수집 § $ aws autoscaling describe-auto-scaling-groups >> asgroup.txt
§ $ aws autoscaling describe-launch-configurations >> launch.txt
스토리지 및 콘텐츠 전송 네트워크 이전 자원 지역 이전 방법 고려 사항
S3 버킷 사용자가 복제 • 콘솔의 copy/cut 및 paste 활용 • S3 CLI 활용 • s3distcp 툴 활용
CloudFront 배포 글로벌 단위 • 기존 배포의 오리진을 신규 지역의 오리진으로 변경
• 또는 신규 배포 생성하여 기존의 배포와 DNS 로드밸런싱
스토리지 및 콘텐츠 전송 네트워크 이전 – S3 § S3 버킷의 개체들을 다른 지역으로 옮기는 방법 § 예 :
§ Source 버킷 : distcptest, 지역: Tokyo, 크기: 9GB, 갯수: 90 § Target 버킷 : distcptestsydney, 지역 : Sydney
스토리지 및 콘텐츠 전송 네트워크 이전 – S3 § AWS CLI를 이용한 디렉토리 및 s3 prefixes 동기화. 지역간 복제를 위한 간단한 방법
§ $aws s3 sync s3://distcptest/moveiclip s3://distcptestsydney/movieclip
§ 총 소요 시간 : 14분
스토리지 및 콘텐츠 전송 네트워크 이전 – S3 § s3distcp 작업를 이용한 분산 복제. 성능 최적화를 위한 지역 간 복제 방법
스토리지 및 콘텐츠 전송 네트워크 이전 – S3 § 인스턴스 크기 및 수량을 선택하여 EMR 클러스터 생성
§ s3distcp 작업을 클러스터에 실행 (s3DistCp is an extension of DistCp that is optimized to work with AWS)
$ aws emr add-‐steps -‐-‐cluster-‐id j-‐XXXXXXXXXX -‐-‐steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-‐s3distcp-‐1.0.jar,\ Args=["-‐-‐src,s3://distcptest/moveiclip ","-‐-‐dest,s3://distcptestsydney/movieclip”]
§ 작업 수행 결과
총 소요 시간 : 3.5분 (CLI : 14분)
클러스터 크기에 따라 복제 시간 단
축
스토리지 및 콘텐츠 전송 네트워크 이전 – S3
스토리지 및 콘텐츠 전송 네트워크 이전 – S3 § 클러스터의 크기를 6코어 노드로 변경 및 테스트
§ 총 소요 시간 : 1.5분
데이터베이스 이전 자원 지역 이전 방법 고려 사항
RDS 인스턴스 및 스냅샷
지역 간 복제 • 스냅샷 생성 및 지역 간 복제
RDS 파라미터 그룹
신규 생성 (구성 복제)
• 지역 간 복제는 현재 지원되지 않고 있음
데이터베이스 이전 – RDS
Primary Secondary
Secondary
모든 DB엔진에 대하여 RDS 스냅샷 수동 / 자동 스냅샷 DB스냅샷을 다른 AWS Region으로 복제 다른 AWS 지역으로 마이그레이션 용도로 사용
데이터베이스 이전 – RDS § 파라미터 그룹 복제 필요
데이터베이스 이전 – RDS § AWS CLI를 사용하여 파라미터 그룹 복사 § $ aws rds copy-‐db-‐parameter-‐group -‐-‐region us-‐east-‐1 -‐-‐source-‐db-‐parameter-‐group-‐iden.fier arn:aws:rds:ap-‐northeast-‐1:389941452291:pg:src-‐parameter -‐-‐target-‐db-‐parameter-‐group-‐iden.fier dest-‐test-‐params -‐-‐target-‐db-‐parameter-‐group-‐descrip.on TEST A client error (DBParameterGroupNotFound) occurred when calling the CopyDBParameterGroup opera.on: DB ParameterGroup not found, not allowed to do cross region copy.
* 지역간 복제는 현재 지원되지 않음
$ python copy_db_parameter_group.py --src=src-test --src_region=ap-northeast-1 --dest=desttestparam --dest_region=ap-southeast-1 !!
데이터베이스 이전 – RDS § AWS CLI를 사용한 리전간 DB 파라미터 그룹 복사하기
§ AWS 한국 블로그 - https://aws.amazon.com/ko/blogs/korea/copy-db-parameters-between-regions-using-aws-cli/
§ Python, boto3 library, deepdiff library required
데이터베이스 마이그레이션 방안
데이터베이스 마이그레이션을 손쉽게 시작
마이그레이션 중 어플리케이션 서비스 유지
Amazon EC2 또는 RDS를 원본 또는 대상으로 복제
동일 또는 이기종 데이터베이스간 복제
평가판 - http://aws.amazon.com/ko/dms/
AWS Database Migration
Service
AWS Database Migration Service 개요
AWS DMS 구성 – step1. 시작하기
https://console.aws.amazon.com/dms 접속하기
AWS DMS 구성 – step2. 복제 인스턴스 생성
복제 인스턴스 타입 및 VPC 선택
AWS DMS 구성 – step3. DB 접속 구성
원본 DB 접속 구성 대상 DB 접속 구성
AWS DMS 구성 – step4. 복제 태스크 생성
복제 방식 선택 : 스냅샷 및 변경사항 복제
복제 대상 선택 : 전체 테이블 및 선택
AWS DMS 구성 – 복제 모니터링
태스크 단위 모니터링
고객 온-프레미스
어플리케이션 사용자
AWS
인터넷
VPN
데이터베이스 마이그레이션 다운타임 최소화
§ 복제 인스턴스 시작
§ 원본 및 대상 데이터베이스에 접속
§ 테이블, 스키마, 데이터베이스 선택
AWS Database Migration Service 가 테이블 생성, 데이터 로드 및 변경 사항 적용 적절한 시점에 대상 데이터베이스로 어플리케이션 전환
AWS Database Migration Servi
ce
마이그레이션 후 데이터 복제 및 통합에 사용
§ 온-프레미스 데이터베이스 내 데이터를 AWS로 복제
§ OLTP 데이터를 Amazon Redshift로 복제
§ 3rd 파티 소프트웨어의 테이블을 리포팅 또는 코어 OLTP 시스템에 통합
§ 하이브리드 구성을 통한 AWS 마이그레이션
서비스 다운타임 최소화 방안
Passive
마이그레이션 이전
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
Amazon Route 53
Passive
Amazon Route 53
마이그레이션 – 복제 구성
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
데이터 복제 구성
AMI 및 Snapshot 복제
Amazon Route 53
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
100% 0%
실시간 데이터 복제
마이그레이션 – Route53 WRR을 통한 부하분산
Passive
Amazon Route 53
마이그레이션 – Route53 WRR을 통한 부하분산
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
90% 10%
Passive
Amazon Route 53
마이그레이션 – Route53 WRR을 통한 부하분산
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
50% 50%
Passive
Amazon Route 53
마이그레이션 – Route53 WRR을 통한 부하분산
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
10% 90%
Passive
Amazon Route 53
마이그레이션 – DB 소스 전환
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
데이터베이스 소스 전환
10% 90%
Passive
Amazon Route 53
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
마이그레이션 – DB 소스 전환
데이터 복제 구성
10% 90%
Passive
Amazon Route 53
마이그레이션 – Route53 WRR을 통한 부하분산
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
0% 100%
Passive
Amazon Route 53
마이그레이션 – Route53 WRR을 통한 부하분산
대상 지역 원본 지역
RDS instance
web app server
RDS instance
EC2 instance
실시간 데이터 복제
Passive
Amazon Route 53
마이그레이션 – 이전 완료
대상 지역 원본 지역
web app server
RDS instance
EC2 instance
Thank you!
Remember to complete your evaluaAons!