AWS의 구조
Region
지역적으로 분포한 Region 별로 관리
- 각 Region에는 여러 개의 가용 영역을 포함
가용영역(Availablility Zone; AZ)
리전의 하부 단위이며, 하나의 리전은 반드시 2개 이상의 가용영역으로 구성
- 하나 이상의 데이터 센터로 구성
- 리전 간의 연결은 매우 빠른 전용 네트워크로 연결
- 반드시 물리적으로 일정 거리(KM 단위) 이상 위치에 분포
- 모든 AZ는 서로 100KM 이내의 거리에 위치
- 여러 재해에 대한 대비 및 보안
- 각 계정별로 AZ의 코드와 실제 데이터 센터의 위치는 다르게 구성
- 계정 Test1의 AZ-A는 계정 Test2의 AZ-A와 다른 위치(랜덤)
- 보안 및 한 AZ로의 몰림을 방지
엣지 로케이션
AWS의 CloudFront(CDN) 등의 여러 서비스들을 가장 빠른 속도로 제공(캐싱)하기 위한 거점
- 한 쪽의 데이터를 받기 위해 전역적으로 접근하게 될 시 속도 저하
- 데이터를 전역적으로 분배 한 후 주변 리전에서는 해당 데이터를 이용
Global vs Region
- Global 서비스: 데이터 및 서비스를 전 세계의 모든 인프라가 공유
- CloudFront
- IAM
- Route53
- WAF
- Region 서비스: 특정 리전을 기반으로 데이터 및 서비스를 제공
- 대부분의 서비스
- S3
ARN(Amazon Resource Name)
AWS의 모든 리소스의 고유 아이디
- 형식: arn:[partition]:[service]:[region]:[account_id]:[resource_type]/[resource_name/(qualifier)]
- arn:aws:s3:::test_bucket/text.txt
- 맨 끝에 와일드카드(*)를 사용하여 다수의 리소스를 지정 가능
AWS 유저
- 루트 유저
- 생성한 계정의 모든 권한을 자동으로 가지고 있음
- 생성 시 만든 이메일 주소로 로그인
- 탈취 당했을 때 복구가 매우 힘듦으로, 사용을 자제하고 MFA 설정이 필요
- 루트 유저는 관리용으로만 이용
- 계정 설정 변경
- 빌링
- AWS API 호출 불가(AccessKey/Secret AccessKey 부여 불가)
- IAM 유저
- IAM(Identity and Access Management)을 통해 생성한 유저
- 만들 때 주어진 아이디로 로그인
- 기본 권한이 없어 따로 권한을 부여
- 관리자 IAM 유저
- 개발자 IAM 유저
- 디자이너 IAM 유저
- 회계팀 IAM 유저
- 사람이 아닌 어플리케이션 등 가상의 주체에 대해 대표 가능
- AWS API 호출 가능
- AccessKey: 아이디 개념
- Secret Access Key: 패스워드 개념
- AWS의 관리를 제외한 모든 작업은 관리용 IAM User를 만들어 사용
- 권한 부여 시 루트 유저와 같이 모든 권한을 가질 수 있지만, 빌링 관련 권한은 루트 유저가 허용