기초 물방울/AWS

AWS 기초 공부 기록#6 (Route~컨테이너)

Weeding 2022. 3. 28. 10:29
반응형
SMALL

 

Amazon Route 53

  • AWS에서 제공하는 DNS(Domain Name Server)
  • = 엔드포인트 한 개에 트래픽이 집중되지 않게 하거나
  • = 서비스에 장애가 발생했을 때 신속하게 다른 네트워크로 전환해주는 기능이 있어 라우팅을 유연하게 관리
  • GUI를 제공
  • 네임서버 자체 안정성이 높아짐 = Anycast network + 4개의 네임서버 + ddos로부터 안전 = 가용성 100% 제공
  • 글로벌 서비스가 가능해짐 = Gslb를 이용한 속도 개선이 가능

 

 

DNS에 관한 용어

(DNS 설정과 요금 계산에 필요★)

 

1. 트래픽 흐름

  • 서버의 부하와 가장 효율이 좋은 서버의 IP 주소를 반환하도록 조정하는 것
  • 지연이 적은 서버에 전송하는 지연 시간 기반 라우팅
  • 지리적으로 가까운 서버에 전송하는 Geo DNS
  • 서버의 가동 여부를 체크하여 가동되고 있지 않은 서버에 할당하지 않는 DNS페일오버(장애극복기능) 조합 구성

 

2. 라운드로빈

  • 호스트명 하나에 IP 주소를 여러 개 할당하고, IP 반환을 요청하면 제일 앞쪽 IP부터 연결하려는 특성을 이용하여 접속할 때마다 IP 주소를 반환하는 순서를 바꾸는 방식으로 IP 주소를 자의적으로 조정함.
  • 접속 대상의 IP 주소가 복수이기 때문에 서버 여러 대에 분산하는 것이 가능함!

 

3. Resolver

  • 도메인 이름과 IP 주소를 상호 변환하는 것을 말함
  • Amazon Route 53의 핵심 기능은 DNS 서버 기능

 

4. 레코드

  • 하나의 단위로 취급되는 자료의 집합
  • 도메인 및 서브도메인에 설정하는 항목
  • 설정 하나당 도메인과 IP 주소를 변환하기 위한 내용이 한 개씩 기록

 

5. 쿼리

  • DNS에 대한 요청 / 질문은 답을 달라는 일종의 요청
  • Q. 누구한테  A. 데이터베이스 / Q. 뭘 달라고?  A. 데이터
  • 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청(주로 문자열을 기반으로 한 요청)에 의한 처리
  • 대개 데이터베이스로부터 특정한 주제어나 어귀를 찾기 위해 사용
  • 쿼리문을 작성한다?
  • = 데이터베이스에서 원하는 정보를 가져오는 코드를 작성

 

 

요금 

(호스트 영역별 기본 요금 + 쿼리 건수에 대한 요금 + 상태 확인 요금)

 

1. 호스트 영역별 기본 요금

  • 도메인이나 서브도메인 1개당 계산
  • 0.05 US달러/월(도메인 25개 이하의 경우)

 

2. 쿼리 건수에 대한 요금

  • 해당 도메인에 대한 쿼리 건수로 계산
  • 계싼의 최저 단위는 100만건
  • eX) 월별 표준 쿼리가 10만 개인 호스팅 영역에는 0.40 US달러

 

3. 상태 확인 요금

  • 서버의 리소스에 대한 상태나 성능을 감시하는 기능
  • 상태 체크는 50개까지 무료이며 50개를 넘으면 요금이 부가됨.

 


 

AWS Lambda

  • 서버리스 서비스이며 이벤트를 자동으로 실행
  • 작은 프로그램을 실행하는 구조, 미리 등록해 두면 언제든 실행 가능
  • 전용 서버를 구축하거나 따로 관리하지 않아도 필요한 이벤트가 자동으로 실행
  • 서버에 상주하는 프로그램과는 다르게 프로그램 실행 시에만 요금 부과
  • =새로운 프로그래밍 언어는 X / 잘 알려진 프로그래밍 언어로 작성한 코드를 바탕으로
  • ="Lambda 콘솔"을 사용하여 GUI로 만들 수 있음.

 

 

 

Lambda를 호출하는 방법 3가지

 

1. Lambda가 이벤트를 읽는 서비스

  • Kinesis
  • DybamoDB
  • SQS

 

2. Lambda 함수를 동기적으로 호출하는 서비스

  • ELB
  • ALB
  • Cognito
  • Lex
  • Alexa
  • API Gateway
  • CloudFront
  • Kinesis Data Firehos

 

3. Lambda 함수를 비동기적으로 호출하는 서비스

  • S3
  • SNS
  • SES
  • CloudFormation
  • CloudWatch Logs
  • CloudWatch Events
  • CodeCommit
  • Config

 


 

AWS 컨테이너 서비스★

  • 컨테이너 프로그램 실행 환경을 분리하는 방식
  • 도커는 유명한 컨테이너 형식 중 하나
  • AWS는 도커 형식의 컨테이너를 지원
  • 일반적으로 컨테이너 서비스에는 컨테이너를 배치, 관리하기 위한 "레지스트리 서비스"와
  • 컨테이너로 분리된 애플리케이션의 실행과 컨테이너의 조정을 수행하는 "오케스트레이션 서비스"가 필요함.
  • AWS Fargate는 필요에 따라 EC2 인스턴스를 가동하고 EC2 안에 컨테이너를 할당하고 실행하는 방식
  • EC2 시작 유형의 경우는 'EC2 요금'만 발생하며 요금이 추가되지는 X

 

 

※ AWS 레지스트리 서비스

  • Amazon Elastic Container Registry(ECR)

※ AWS 오케스트레이션 서비스

  • Amazon Elastic Container Service(ECS)
  • Amazon Elasitc Kubernetes Service(EKS)

 

 

 

※ 도커(Docker)

  • 컨테이너 기반의 오픈소스 가상화 플랫폼

 

※ 컨테이너(Container)

격리된 공간에서 프로세스가 동작하는 기술

가상화 기술의 하나이지만, 기존 방식과는 차이가 있음.

 

기존의 가상화 방식은 주로 "OS를 가상화" 함

우리에게 익숙한 VMware나 VirtualBox같은 가상머신은 호스트 OS위에

게스트 OS 전체를 가상화하여 사용하는 방식.

 

이 방식은 여러가지 OS를 가상화( 예를들면 윈도우에서 리눅스를 돌림 )

할 수 있고 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없음.

 

이러한 상황을 개선하기 위해 CPU 가상화 기술(HVM)을 이용한 

KVM(Kernel-based Virtual Machine)과 반가상화(Paravirtualization)방식의 Xen이 등장.

 

이러한 방식은 게스트 OS가 필요하긴 하지만 전체 OS를 가상화 하는 방식이

아니였기에 호스트형 가상화 방식에 비해 성능이 ↑

 

이러한 기술들은 OpenStack이나 AWS같은 클라우드 서비스에서

가상 컴퓨팅 기술의 기반이 되었음.

 

 

  • 예를 들어 컨테이너라 하면 배에 실는 네모난 화물 수송용 박스를 생각함.
  • 이러한 각각의 컨테이너 안에는 옷, 전자제품, 술, 신발, 과일 등 다양한 화물을 넣을 수 있고
  • 규격화되어 컨테이너선이나 트레일러등 다양한 운송수단으로 쉽게 옮길 수 있음.
  •  
  • ↓↓↓
  •  
  • 서버의 컨테이너도 이와 비슷한 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 
  • 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줌
  • 백엔드 프로그램, 데이터베이스 서버, 메시지 큐 등 어떤 프로그램도 컨테이너로
  • 추상화할 수 있고 조립 PC, AWS, Azure, GCP 등 어디에서든 실행이 가능해짐.
  • 번외로 컨테이너를 가장 잘 사용하는 곳은 Google, 매주 20억 개의 컨테이너를 구동

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST