Share
Sign In

Multi AZ & Multi Region & Multi Account

1. Multi AZ

Multi-AZ는 한 서비스를 여러 AZ에 걸쳐 사용할 수 있는 기능이다. 몇몇 서비스는 수동으로 활성화해야 하며, 몇몇은 기본으로 지원한다.

EBS를 Multi-AZ처럼 만들기

EBS는 한 AZ에 종속되어 있는 서비스이지만 어거지로 multi-AZ처럼 사용할 수 있다. 조금 변태같아…
1.
인스턴스를 하나만 만들도록 하고 EC2와 EBS를 구성한다.
2.
만약 해당 인스턴스가 종료되면 Terminate Lifecycle hook를 동작시켜 스냅샷을 만든다.
3.
그러면 ASG에 의해 새 AZ에 새 인스턴스가 만들어질거다.
4.
이때, Launch Lifecycle hook을 동작시켜 스냅샷을 EBS로 가져온다.

2. Multi Region

DynamoDB Global Tables (enabled by Streams)
Config Aggregators : 모든 리전 & 계정을 통합할 때
RDS Cross Region Read Replicas
Aurora Global Database (Master는 하나다)
EBS 스냅샷, AMI, RDS 스냅샷
VPC Peering
Route53
S3 Cross Region Replication
CloudFront for Global CDN
Lambda@Edge : CDN에 배포되는 Lambda 함수

Route53 - Health Check

Route 53은 Health Checker를 통해 해당 리소스가 살아 있는지 판단한다.
Route53의 서비스의 특성상 리전에 종속되지 않기 때문에, 각 인스턴스들을 감시하고 있는 Health Checker는 Multi Region의 특징을 지닌다. 또한 CW Alarm과 통합하여 자유롭게 리소스를 조작할 수 있다.

CFN StackSets

StackSets는 여러 계정, 여러 리전에 걸쳐서 한 번의 명령으로 모든 스택을 생성/수정/제거할 수 있다.
failure tolerance를 설정 가능
동시에 진행되는 최대 스택 수 설정 가능

CodePipeline

1.
CodeBuild의 결과물은 각 리전의 CodePipline Artifact Store로 뿌린다.
2.
각 리전별로 CodeDeploy를 실행해 Artifact를 가져다가 배포한다.

3. Multi Account

계정간에 작업을 하려면 IAM trust가 필요하다. 그리고 IAM Role을 계정에 할당하는데, STS를 통해 임시 토큰을 발급받기 때문에 IAM credential이 필요하지 않다.