반응형
아마존 웹 서비스를 다루는 기술 (길벗) 책을 보고 일부를 요약 하였습니다~!
aws에서 현재 서비스 되는 부분과 상이한 부분도 있고 틀린 부분도 있을 수 있습니다.
향후 수정을 진행 하겠습니다~
AWS 서비스 요약
1.AWS 기본 용어 및 개념
- 주요 용어: 리전(Region), 가용영역(AZ, Availability zone), 에지 로케이션(Edge Location)
1.1. 리전, 지역
- AWS 서비스가 위치한 물리적 장소
- 네트워크 속도와 재해에 대비하기 위해 여러곳 존재
리전 | 리전약칭 |
---|---|
미국 버지니아 북부 | us-east-1 |
미국 캘리포니아 북부 | us-west-1 |
미국 오리건 | us-west-2 |
아일랜드 | eu-west-1 |
도쿄 | ap-northeast-1 |
베이징 | cn-north-1 |
싱가포르 | ap-southeast-1 |
시드니 | ap-southeast-2 |
상파울루 | sa-east-1 |
미국 정부(미국 정부전용) | us-gov-west-1 |
1.2. 가용영역(AZ, Availability zone)
- 데이터센터를 의미
- 한 리전 안에서도 여러 가용 영역에 만들어서 사용할 것을 권장
- 한 가용영역이 작동불능이 되더라도 다른 가용영역에서 서비스 재개 되도록
1.3. 에지 로케이션(Edge Location)
- CDN서비스인 CloudFront 를 위한 캐시서버 의미
- CDN(Content Delivery Network) 콘텐츠(HTML, 이미지등 파일) 전 세계에 위치한 캐시서버에 복제해주는 서비스
2.EC2
- EC2(Elastic Compute Cloud)
- AWS 기본 인프라 중 하나
2.1. 기본용어
- 시작(Start) : EC2 인스턴스 시작. 시작시 부터 과금
- 정지(Stop) : EC2 인스턴스 정지. 운영체제 종료 상태. 과금 X
- 삭제(Terminate) : EC2 인스턴스 삭제.
- 재부팅(Reboot) : EC2 인스턴스 재부팅. 운영체제 재시작
- Root 장치 : 운영체제 설치되는 스토리지.
- Kernel ID : 인스턴스가 사용하는 Linux 커널
2.2. EC2 인스턴스 유형
유형 | 설명 |
---|---|
범용 | M1, M3로 시작. vCPU, 메모리, 네트워크, 저장공간 등이 평균적인 사양 |
컴퓨팅 최적화 | C로 시작. 메모리 대비 vCPU비율이 높음 |
GPU 인스턴스 | G로 시작. NVIDIA GPU 장착. |
메모리 최적화 | M2, CR1 시작. 메모리 용량이 큼 |
스토리지 최적화 | H, I로 시작. 스토리용얄이 크거나 초고속 I/O를 제공 |
마이크로 인스턴스 | 가격이 가장 쌈. 낮은 vCPU 성능과 적은 메모리 제공. 프리티어에서 이 인스턴스를 무료로 사용 |
vCPU: 가상화 소프트웨어를 통해 제공되는 CPU
2.3. EC2 인스턴스 구매 옵션
- 구매 및 과금 방식에 따라 크게 3가지로 구분
1)온 디맨드 인스턴스(On Demand Instance)
- 필요시 바로 생성하는 방식
- 과금은 1시간 단위(1분 사용 -> 1시간 사용 간주)
- 공유 인스턴스: 하나의 물리적 서버에 여러개 EC2 인스턴스 실행. 한 인스턴스가 서버 자원을 많이 사용시 다른 인스턴스의 성능에 영향 있을 수 있음.
- 전용 인스턴스 : 하나의 물리 서버에 하나의 EC2 인스턴스 실행. 서버내 다른 인스턴스가 없기에 성능 영향 없음.
2)스팟 인스턴스 (Spot Instance)
- 경매방식의 인스턴스.
- 인스턴스 스팩 입력 후 원하는 가격을 입력하여 입찰하는 방식. 높게 입찰한 사람에게 할당.
- 해당 인스턴스를 다른 사람이 더 높은 가격 입찰 시 내가 가지고 있는 인스턴스 종료.
- (클러스터링 분석작업, 이미지 변환, 웹크롤링 등 불시에 종료되도 문제없는 업무에 사용)
3)예약 인스턴스 (Reserved Instance)
- 일정 금액을 선불 결제 후 인스턴스 를 1~3년 예약. 시간당 요금 대폭 할인.
- 공유 또는 전용 인스턴스로 나뉨
2.4. EBS
- Elastinc Block Store
- EC2에 장착할 수 있는 가상 스토리지
- 기본 용량보다 더 사용해야할 때, 운영체제를 중단 시키지 않고 용량울 저유롭게 늘리고 싶을 때, 데이터 보관이 필요할 때 등에 사용
- 볼륨(Volume) : 가장 기본 형태. OS에서 바로 사용가능한 형태
- 이미지(Image) : AMI. OS가 설치된 형태로 AMI로 EC2 인스턴스 생성
- 스냅샷(Snapshot) : EBS 볼륨의 특정시점을 그대로 복사해 저장한 파일. EBS 볼륨과 AMI 생성가능
- IOPS(Input/Output Operation Per Second): 저장장치의 성능 측정단위. 16KB 단위로 처리됨.
3. Security Group
- EC2 인스턴스에 적용할 수 있는 방화벽 설정.
3.1. Security Group(방화벽)설정 기본 요소
- Inbound: 외부에서 EC2로 들어오는 트래픽. 예) HTTP, HTTPS, SSH 등
- Outbound: EC2에서 외부로 나가는 트래픽. EC2 안에서 인터넷을 사용할 경우에 해당. 예) 파일 다운로드, 외부 SSH접속
- Type: 프로토콜 형태. TCP, UDP, ICMP
- Port, Port Range: 포트 번호
- Source/Destination : 연결 / 접속 가능한 IP 대역. Inbound일 경우 Source, Outbound일 경우 Destination
- Rule: Inbound, Outbound, Type, Port, Source/Destination를 조합한 것을 Rule이라 함.
4. Elastic IP
- 고정된 공인 IP를 제공
- EC2 생성시 공인 IP 부여되나, 인스턴스가 샐행되고 있는 동안만 유효.
- 인스턴스 재실행 시 공인 IP 바뀔 수 있다.
- DNS 서버를 통해 IP 주소 연결시 문제 발생 가능
5. AMI
- Amazon Machine Image
- AMI를 이용 EC2 인스턴스를 생성시, 각종 서버 애플리케이션, 데이터 베이스, 방화벽 등 솔루션 등도 함께 설치될 수 있다.
- 사용 경우
- 설치 설정이 완료된 EC2 인스턴스를 빠르게 생성해야할 때.
- Auto Scaling 등으로 자동화 할때,
- EC2를 다른 리전으로 이전해야 할 때,
- 상용 솔루션을 사용하고자 할때.
6. CloudWatch
- AWS 리소스 상태를 모니터링 하는 서비스
- 사용 경우
- EC2 인스턴스가 이상 있을 경우 알림 받고자 할때,
- 사용량 급증 시 Auto Scaling,
- 부하 분산(Elastic Load Balancing) 구축 시
7. S3
- 인터넷 스토리지 서비스
- 용량에 관계없이 파일 저장 가능
- 파일 업로드/다운로드 모두 HTTP 프로토콜로 처리
8. CloudFront
- 전 세계에 파일을 빠른 속도로 배포하는 CDN 서비스
CloudFront를 이용하여 EC2, ELB(Elastic Load Balancing), S3 내용을 에지 로케이션에 캐시하여 빠른 선능을 낼 수 있다.
- 전 세계 대상 서비스 준비시 모든 리전에 EC2 인스턴스나 S3 버킷을 생성하는것은 비효율 + 비용
사용자가 CloudFront 에지 로케이션에 접속 시,
- 원하는 파일이 있으면 바로 받음
- 원하는 파일이 없으면, 에지 로케이션이 원본 파일이 있는 오리진(리전)에 접근하여 파일을 가져온 후 사용자에게 전달.
- 에지 로케이션이 파일을 가져와 캐시한 경우 다른 사용자들도 이캐시 파일을 받게 됨.
- 캐시파일 유지는 24시간. 캐시파일 즉각 갱신 필요시 캐시 파일 삭제 가능(무효화 요청)
9. RDS
- Relational Database Service
- RDS를 통해 DB인스턴스 생성 가능.
- 사용량 증가시 스토리지 용량과 IOPS를 증가시켜 성능 확장 가능
- 장애 발생시 Failover 기능으로 정상적인 서비스 제공 가능
- 지원 데이터 베이스
- MySQL, PostgreSQL, Oracle, Microsoft SQL Server
10. DynamoDB
- NoSQL 데이터베이스를 제공하는 서비스로 아마존에서 개발
- 자세한 내용은 추후 업데이트
11. ElasticCache
- 분산 인 메모리 캐시를 손쉽게 생성하고 확장할 수 있는 서비스
- 읽기 중심의 서비스(소셜 네트워크, 게임, 추천엔진 등) 제공환경, 고속으로 데이터 분석을 해야하는 환경에 적합.
12. ELB
- Elastic Load Balancing
- 부하분산과 고가용성을 제공하는 서비스
- 한곳에 집중되는 HTTP, TCP, SSL 트래픽을 여러 EC2인스턴스에 분산
- EC2 인스턴스가 중단되더라도 트래픽을 정상 EC2 인스턴로만 보냄.
- 아래 그림 처럼 가용영역 전체가 중단되도 서비스 정상 제공 가능
유형
Application Load Balancer
- HTTP 및 HTTPS 트래픽의 로드 밸런싱에 적합
- OSI 7Layer의 Application Layer에서 작동한다. (HTTP, HTTPS 프로토콜)
Network Load Balancer
- Network Load Balancer는 극한의 성능이 요구되는 TCP(Transmission Control Protocol) 트래픽의 로드 밸런싱에 적합
- OSI 4Layer의 Application Layer에서 작동한다
Classic Load Balancer
기존 애플리케이션이 EC2-Classic 네트워크 내에 구축되어 있는 경우
ELB는 리전별로 생성해야 여러 가용영역에서 실행되는 EC2 부하를 분산시킬 수 있음.
https://aws.amazon.com/ko/elasticloadbalancing/features/#DetailsforElasticLoadBalancing_Products
13. Auto Scaling
- 트래픽이 늘어나면 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 기능. AWS 리소스가 아니라 사용요금이 없다.
14. IAM
- Identity and Access ManageMent
- 사용자와 그룹을 생성해 AWS 의 각 리소스에 대해 접근제어와 권한관리를 제공함.
- 어떤 IAM 사용자는 특정 EC2만 관리할 수 있고, 어떤 IAM 사용자는 특정 S3 만 사용할 수 있도록 구성 가능.
반응형
'기타 개발 공부 > aws' 카테고리의 다른 글
AWS EC2 생성부터 FileZilla 접속까지! (0) | 2019.02.16 |
---|