AWS 지역, 가용 영역 및 엣지
지역 및 가용 영역
- AWS는 다양한 클라우드 서비스들을 세계 각지에서 제공하고 있으며 지리적인 위치를 바탕으로 Region(지역) 을 구성한다.
- Region(지역) 은 Availavility Zone(가용 영역)이라고 불리는 물리적으로 격리된 데이터 센터들의 집합 이며 이 가용역영에서 인스턴스와 데이터를 배치/저장/구성 할 수 있도록 지원한다.
지역
- 10개 이상 지리적인 곳에서 서비스가 되고 있으며, 미국 서부, 미국 동부, 유럽, 남미, 중앙아시아, 극동아시아 및 호주 등에 위치
가용영역(Availability Zone)
- 가용영역은 하나의 지역 안에 속하여 기본적인 서비스를 구성 가능 하도록 IT자원 등을 제공한다.
- 사용자가 직접 가용영역을 선택 및 여러 가용영역에 복수 개의 인스턴스를 배치하여 서비스의 가용성을 높인다.
- 높은 가용성을 위해 하나의 지역에는 다수개의 AZ가 존재하며 해당 AZ간은 전용 사설 네트워크를 통해 낮은 네트워크 응답시간을 보장한다.
엣지(Edge)
- 컨텐츠 전송 네트워크 이며 웹사이트, API, 동영상 콘텐츠 또는 기타 웹 자산의 전송을 가속화하는 서비스이다.
- HTTP , HTTPS 프로토콜을 사용하여 콘텐츠를 다운로드 하거나 RTMP 프로토콜로 컨텐츠를 스트리밍하여 배포할 수 있게 지원한다.
- 엣지 로케이션은 Amazon CloudFront가 더 빠른 콘텐츠 전송을 위해 고객과 가까운 위치에 콘텐츠 사본을 캐시하는 데 사용하는 사이트입니다.
- 회사의 데이터가 브라질에 저장되어 있고 중국에 거주하는 고객들이 있다고 가정했을 때, 고객에게 컨텐츠를 제공하기 위해 모든 콘텐츠를 중국 리전 하나로 이동할 필요가 없다.
- 고객이 브라질에서 데이터를 가져올 필요가 없도록 중국 내 고객과 가까운 엣지 로케이션에 사본을 로컬로 캐시
- 중국 내 고객이 파일을 요청하면 Amazon CloudFront는 엣지 로케이션의 캐시에서 해당 파일을 검색하여 고객에게 전송한다.
- 이 파일은 브라질에 저장된 원본이 아니라 중국 근처의 엣지 로케이션에서 가져온것 이므로 고객에게 더 빠르게 전달되어진다.
AWS 컴퓨트 서비스
AWS 컴퓨트 서비스의 개념
- 어플리케이션의 요구사항에 맞게 다양한 컴퓨팅 서비스를 제공
- 예를 들어, 가상 컴퓨팅 자원(EC2)을 할당하여 탄력적인 웹스케일의 컴퓨팅이나 병렬작업 처리를 가능하게 한다.
- 컴퓨팅 자원들은 가용영역 안에서 서비스 되며 시스템의 가장 기본적인 구성자원이 된다.
Elastic Compute Cloud(EC2) - Infrastructure 서비스 모델
- EC2는 AWS에서 가장 기본이 되는 Low level 빌딩 블럭에 속하는 컴퓨팅 서비스 이며, EC2를 통해 원하는 만큼 가상 서버를 구축하고, 보안 및 네트워크 구성 과 스토리지 관리가 가능하다.
EC2의 구성 요소
- 인스턴스 : 가상 컴퓨팅 환경
- AMI : Amazone머신 이미지, 인스턴스에 필요한 OS와 소프트웨어가 구성된 템플릿 (골드 이미지)
- 인스턴스 타입 : 가상 서버의 CPU, Memory 사이즈 용량
- EIP(Elastic IP) : 가상의 컴퓨팅 서버에 할당되는 고정 공인 IP
- VPC : 가상의 컴퓨팅 서버가 속하는 독립된 네트워크 블럭
Lambda - abstracted 서비스 모델
- Lambda는 이벤트에 응답하여 코드를 실행하고 자동으로 기본 컴퓨팅 리소스를 관리하는 서버 없는 컴퓨팅 서비스이다.
- AWS에서 백엔드 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행한다.
- '서버리스’라는 용어는 코드가 서버에서 실행되지만 이러한 서버를 프로비저닝하거나 관리할 필요가 없다는 뜻입니다. 서버리스 컴퓨팅을 사용하면 서버를 유지 관리하는 대신 새로운 제품과 기능을 혁신하는 데 더 집중할 수 있습니다.
- 서버리스 컴퓨팅의 또 다른 이점은 서버리스 애플리케이션을 자동으로 확장할 수 있는 유연성입니다. 서버리스 컴퓨팅은 처리량 및 메모리와 같은 소비 단위를 수정하여 애플리케이션의 용량을 조정할 수 있습니다.
- AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서비스입니다.
컴퓨트 서비스 장애에 대한 디자인
- 확장성 : AZ단위로 확장 가능하며 AutoScailng을 통해 요구되는 트래픽들을 수용한다.
- 모니터링 및 운영 관리 : API와 대시보드를 통해 손쉽게 관리
- 이중화 : 여러 AZ에 DB를 구성하여 단일 요소의 장애 제거
- FailOver : EIP와 Disk를 별도로 관리 가능하여 정상적인 상태의 서버로 대체
AWS 데이터베이스 서비스
AWS 데이터베이스 서비스 개요
- AWS 데이터베이스 서비스는 요구되는 데이터베이스의 용량과 성능에 맞게 조정 가능하며 시간소모적인 관리 작업들 (패치, 백업, 확장)등으로부터 자유롭게 해준다.
- 관계형 데이터베이스는 RDS, 비관계형 데이터베이스는 DynamoDB 등으로 서비스 하고 있다.
관계형 데이터베이스 (RDS 사용)
- 키 값에 의해 서로 관련된 테이블로 구성하는 가장 일반적인 유형의 데이터베이스로 각 테이블/관계는 하나의 엔티티타입을 대표한다.
- 관계형 데이터베이스가 효율적이고 정확하게 운용되기 위해서는 ACID 트랜잭션 특징을 가지고 있다.
- Atomicity 원자성
- Consistency 일관성
- Isolation 고립성
- Durability 지속성
NoSQL
- 스키마가 없으며 각 테이블에는 각각의 데이터 항목을 고유하게 식별하는 기본 키가 있어야 하지만 키가 아닌 다른 속성인 값에 대해서는 제한이 없다.
- DynamoDB는 JSON문서를 비롯한 정형 또는 반정형 데이터를 관리할 수 있으며 noSQL은 BASE의 특징을 갖는다.
- Basically Availabel
- Soft-state
- Eventually consistency
데이터베이스 장애에 대한 디자인
- 확장성 : AZ단위로 확장 가능하며 다른 AZ로의 두번째 구성 가능
- 백업 및 운영 관리 : API와 대시보드를 통해 손쉽게 관리
- 이중화 : 여러 AZ에 DB를 구성하여 단일요소의 장애 제거
- Failover: 데이터가 소결합으로 저장되어 있어 대체작동 가능
'Devops > AWS' 카테고리의 다른 글
탄력성 있는 구현 / ELB / 배포 / 모니터링 (0) | 2021.06.16 |
---|---|
컴포넌트에 대한 소결합 / 스토리지 / 앱서비스 (0) | 2021.06.16 |
클라우드 모범사례 (0) | 2021.06.16 |
AWS 서비스 / 레이어 / 책임분담 모델 (0) | 2021.06.16 |
클라우드 컨셉 (0) | 2021.06.16 |