AWS 기초이론 - IAM, EC2, EBS, ELB, Route 53
- 1. IAM
- 2. EC2(Elastic Compute Cloud)
- 3. EBS(Elastic Block Storage)
- 4. ELB(Elastic Load Balancers)
- 5. Route 53
1. IAM
- 유저를 관리하고 접근 레벨 및 권한에 대한 관리
- 새로 만든 계정은 Root유저이고 이 안에서 다른 유저를 생성이 가능
- 각 유저에 대해 접근키(Access key)와 비밀키(Secret Acess key)가 생성
- 비밀번호를 수시로 변경 가능
- Multi - Factor Authentication(다중 인증) 기능
- 쉽게 생각하면 DB에 root 계정에서 다른 계정을 만들고 해당 계정에 권한을 부여하는 것과 유사
- Root 유저로 할 수 있는 것들
- 그룹 생성
- 유저 생성
- 역할 : 하나 혹은 다수의 정책을 지정하는 것
- 정책 : JSON 형태의 문서로 세밀한 접근 권할을 일일이 설정 하는 것. 그룹, 역할에 추가 가능
2. EC2(Elastic Compute Cloud)
- 클라우드에서 확장 가능 컴퓨팅 용량을 제공하는 서비스
- EC2를 사용하기 위해 EBS라는 디스크 볼륨을 요구
- EBS란 EC2안에 부착되어 있는 일종의 하드디스크
사용시 내는 지불 방식
- On-demand : 시간 단위로 가격 고정
- 오랜시간동안 선불을 내지 않고 최소한의 비용을 지불하여 EC2인스턴스를 사용하고 싶을때 사용
- Reserved : 한정된 EC2 용량을 사용 가능, 1~3년동안 시간별로 할인 적용
- 개발의 시작과 끝을 알고 있는 경우 매우 유리, 선불로 인한 컴퓨팅 비용 대폭 감소
- Spot : 입찰 가격 적용
- 단순히 비용 절감 시 유용, 인스턴스의 시작/끝시점에 구애받지 않을 경우 권장
3. EBS(Elastic Block Storage)
- 저장 공간이 생성되어지며 EC2 인스턴스에 부착되는 것
- 디스트 볼륨 위에 File System이 생성 -> 사용자가 EC2에 접근 가능, 파일을 로컬로 이동 가능
- EBS는 특정 Availability Zone에 생성됨
- 하나의 Region 안에 여러 개의 Availability Zone(AZ)가 존재
- 중심부로부터 복사본들이 AZ로 꾸며지며 유사시 한쪽 서버가 망가지거나 다운되면 AZ라는 백업을 동해 서비스 제공을 가능케 하는 일종의 Disaster Recovery
- EC2와 같이 특정 서비스를 사용하게 될 경우 AZ를 설정해야 함
EBS 볼륨 타입
SSD군
- General Purpose SSD (GP2) : 최대 10K IOPS를 지원하며 !GB당 3IOPS 속도가 나옴
- 가장 보편적으로 사용
- Provisioned IOPS SSD (IO1) : 극도의 I/O률을 요구하는 (예시 : 매우 큰 DB관리) 환경에서 주로 사용되며 10K 이상의 IOPS를 지원
Magnetic/HDD군
- Throughput Optimized HDD (ST1) : 빅데이터 Datawarehouse, Log 프로세싱시 주로 사용
- 루트 볼륨으로는 사용 불가능(윈도우 같은 운영체제를 가질 수 없음)
- CDD HDD (SC1) : 파일 서버 같이 드문 볼륨 접근시 주로 사용
- 루트 볼륨으로 사용 불가능하나 비용이 매우 저렴
- Magnetic (Sandard) : 디스크 1GB당 가장 싼 비용
- 루트 볼륨으로 사용 가능
4. ELB(Elastic Load Balancers)
- 수많은 서버의 흐름을 균형있게 흘려보내는 중추적인 역할
- 하나의 서버로 traffic이 몰리는 병목현상(bottleneck) 방지
- Traffic의 흐름을 unhealthy instance -> healthy instance로 변화
Application Load Balancer
- OSI Layer7에서 작동
- HTTP, HTTPS와 같은 traffic의 load balancing에 가장 적합
- 고급 request 라우팅 설정을 통하여 특정 서버로 request 보내기 가능
Network Load Balancer
- OSI Layer4에서 작동
- 매우 빠른 속도
- Production 환경에서 종종 사용
- 극도의 performance가 요구되는 TCP traffic에서 적합
- 초당 수백만개의 request를 아주 미세한 delay로 처리 가능
Classic Load Balancer
- 현재 Legacy로 간주되어 거의 사용 X
- Layer7의 HTTP/HTTPS 라우팅 기능 지원
- Layer4의 TCP traffic 라우팅 기능 지원
X-Forwarded-For 헤더
- public ip address에서 DNS를 통해 ELB에 도달하면 ELB는 request를 받고 Private IP address 이직
- EC2 인스턴스로 request를 전송하면 EC2는 request에 대한 정보 확인
- EC2는 Private IP address밖에 볼 수 없어서 실제로 어디서 왔는지 확인 불가
- X-Forwarded-For 헤더를 통해 확인 가능
5. Route 53
- AWS에서 제공하는 DNS 서비스
- EC2 instance
- S3 Bucket
- Load Balancer
- 사용하는 서버 이름을 구해주는 서비스