카테고리 없음

아마존 웹 서비스 (AWS Discovery Book) #6

WoongIT 2022. 8. 29. 14:49
반응형
SMALL

1. DNS(Domain Name System)


DNS(Domain Name System)

  • DNS사람이 읽을 수 있는 도메인 이름(예: www.naver.com)을 컴퓨터나 스마트폰 등 다양한 디바이스에서 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환하는 역할
  • 스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 IP Address라는 숫자를 사용하여 서로를 찾고 통신
  • 우리에게 DNS없었다면 웹 사이트에 접속하기 위해 웹 서버의 IP Address를 알아야만 웹 페이지에 접속할 수 있을 것이다.
  • 이렇듯 DNS는 도메인 이름을 IP 주소변환하여 웹 사이트로 트래픽을 라우팅

  • DNS 서비스가 있기 때문에 우리는 긴 숫자 대신 example.com과 같은 도메인 이름을 입력해도 원하는 웹 사이트로 갈 수 있다.
  • Amazon은 Route 53와 같은 DNS서비스를 이용하여 www.example.com과 같이 사람이 읽을 수 있는 이름을 192.0.2.1 과 같은 숫자 IP 주소로 변환하여 컴퓨터가 서로 통신

 

2. DNS의 구성 및 체계


 

DNS의 구성 및 체계

  • DNS 구성 및 체계에 대한 이해를 위해서는 인터넷 도메인 체계에 대한 이해가 필요하다.
  • 인터넷 도메인 체계에서 최상위는 루트(Root)로, 인터넷 도메인의 시작점이 된다.
  • 그리고 이 루트 도메인(Root Domain) 바로 아래 단계에 있는 것을 1단계 도메인이라고 하며, 이를 최상위 도메인 또는 TLD(Top Level Domain) 라고 한다.
  • 최상위 도메인국가명을 나타내는 국가 최상위 도메인일반적으로 사용되는 일반 최상위 도메인으로 구분된다.
  • 도메인을 구입할 경우 1단계 도메인하나를 선택하고, 원하는 도메인명을 지정하여 등록

 

3. DNS의 동작 원리


DNS의 동작 원리

  • 다음의 다이어그램은 재귀적 DNS 서비스신뢰할 수 있는 DNS 서비스서로 연계하여 최종 사용자를 웹 사이트 또는 애플리케이션으로 전달하는 방법에 대한 개요

  1. 사용자웹 브라우저 주소 표시줄에 www.example.com을 입력하고 Enter 를 누른다.
  2. www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급 업체DSL 광대역 공급 업체 또는 기업 네트워크 같은 인터넷 서비스 제공 업체(ISP)가 관리하는 DNS 해석기전달
  3. ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달한다.
  4. ISP의 DNS 해석기는www.example.com에 대한 요청을 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달 한다. .com 도메인의 이름 서버는 www.example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답한다.
  5. ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달한다.
  6. Amazon Route 53 이름 서버는 example.com호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환한다.
  7. ISP의 DNS 해석기마침내 사용자에게 필요한 IP 주소확보하게 된다해석기이 값을 웹 브라우저로 반환한다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 시간 동안 example.com의 IP 주소를 캐싱(저장)한다. 자세한 내용을 TTL(Time to Live)을 참조
  8. 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송한다. 여기가 콘텐츠(Contents)가 있는 곳으로, 웹 사이트 엔드 포인트(End-Point)로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스 에서 실행되는 웹 서버다.
  9. 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시한다.

 

4. Amazon Route


Amazon Route 53

  • Amazon Route 53란, 가용성과 확장성이 우수한 클라우드 기반의 Domain Name System(DNS) 웹 서비스이다.
  • 이 서비스는 www.example.com 과 같은 이름을 192.0.2.1 과 같이 컴퓨터 간 연결을 위해 사용되는 숫자로 된 IP 주소변환하며, 개발자와 기업은 최종 사용자를 인터넷 애플리케이션에 매우 안정적이며 효율적 비용으로 연결할 수 있다.
  • 또한 사용의 요청을 Amazon EC2 인스턴스Elastic Load BalancingS3 Bucket 등 AWS에서 실행되는 다양한 인프라에 효과적으로 연결할 수 있다.
  • 사용자를 AWS 외부의 인프라로 전달하는 서비스도 Route 53를 사용할 수 있다.
구분 내용
서비스명 Amazon Route 53
설명 가용성과 확장성이 우수한 클라우드 Domain Name System(DNS) 웹 서비스
주요 특징 - 가용성과 확장성이 뛰어난 클라우드 기반 DNS 웹 서비스
- 동적으로 사용자에게 노출된 DNS 레코드 타입과 값 조정
- 각종 다양한 로드 밸런싱 기능 지원
- Amazon Route 53는 IPv6와 완벽하게 호환
- 사용자의 요청을 EC2, ELB, S3 Bucket 등 인프라로 직접 연결 가능
- 외부의 인프라로 라우팅하는 데 Route 53 사용 가능
- Route 53 트래픽 흐름을 사용하면 지연 시간 기반 라우팅 가능
- Route 53에서는 도메인 이름 등록도 지원
프리티어
(Free Tier)

프리티어 없이 종량제 과금으로 사용하는 만큼 지불

 

 

5. Route 53의 주요 특징 및 기능


5-1. 연결 체크 및 Failover(Health Checks and Failover)

  • Route 53의 Health check 기능을 사용하면 상태 확인 에이전트가 Route53연결된 응용프로그램의 각 끝점을 모니터링하여 서비스의 사용 가능 여부를 확인하고 "정상" 또는 "비정상" 상태를 반환한다.
  • 이를 사용해서 외부 사용자가 직접 접속한 것과 유사한 상황을 시뮬레이션 할 수 있다.
  • 리소스의 연결 상태가 좋지 않을 때, 알림 메일을 수신하도록 각 상태 검사에 대해 CloudWatch 알림을 구성할 수 있다.
  • 또한 **장애 조치(DNS Failover)**가 구성되어 있고 에이전트가 정상이 아닌 것으로 판단되면 Amazon Route 53외부 사용자를 정상적으로 연결 가능한 사전 정의된 대체 서버지정된 엔드포인트(End-Point)로 연결을 전환시킬 수 있다.

5-2. 고가용성 DNS(High Availability DNS) 서비스 및 DNS Failover

  • Route53는 상태 검사(Health Check)와 연결된 장애 조치(Failover) 레코드를 구성할 수 있다.
  • 상태 검사(Health Check)에서 연결 상태로 정상 상태가 반환되면 응용프로그램은 계속 정상적으로 작동한다.

  • 하지만 상태 검사에서 연결 상태가 비정상 상태가 반환되면 Amazon Route 53에서 정상 상태가 아닌 끝점 값을 반환하지 않고 오류 복구 레코드의 값대해 응답하기 시작한다.
  • DNS Failover Record를 활용하면 외부 사용자를 응용프로그램의 오류나 시스템 장애 상황에서 미리 정의된 응용프로그램이나 정상적으로 도달 가능한 외부 리소스로 연결을 전환한다.
  • 이렇게 응용프로그램이나 시스템의 장애 상황에서 정상적인 엔드포인트장애 조치를 수행하면 웹 사이트 또는 애플리케이션의 다운 타임을 최소화할 수 있다.

5-3. 지연 시간 기반 라우팅(LBR, Latency Based Routing)

  • Route53동일한 기능을 수행하는 여러 데이터 센터에 EC2 리소스가 있다.
  • 가장 지연 시간이 적은 리소스로 Route53에서 DNS 쿼리응답 처리하여 지연 시간 기반 라우팅(Latency Based Routing) 서비스를 제공한다.
  • 지연 시간 기반 라우팅최종 사용자에게 최저 지연 시간을 제공하는 엔드포인트로 라우팅(Routing)을 제공하며, 일정 기간 동안 수행된 지연 시간 측정을 기반으로 하며 주기적으로 지연 시간을 측정하며 변경 사항을 반영한다.

 

5-4. 가중치 기반 라우팅(Weighted Round Robin Routing)

  • 여러 리소스 레코드단일 DNS 이름으로 연결 후, 같은 기능을 수행하는 여러 리소스에 대해 사용자가 지정한 가중치 비율로 트래픽을 라우팅 할 수 있다.
  • 한 서버에 40%, 다른 서버에 60%의 쿼리를 보내서 특정 리소스 레코드 집합이 선택될 확률을 사전에 지정한 가중치의 비율로 지정하여, 해당 리소스에 접속할 확률을 조정할 수 있다.
  • 이러한 **가중치 기반 라우팅(Weighted Round Robin Routing)**은 로드 밸런싱 및 새 버전의 소프트웨어 테스트를 포함하여 다양한 목적

 

5-5. 지역 기반 라우팅(Geolocation Routing)

  • 요청이 시작된 지리적 위치를 기반특정 엔드포인트대한 라우팅을 수행하는 기능이다.
  • 국가별 또는 사용자지역적 위치에 따라 현지화된 콘텐츠를 사용자별로 제공하거나, 라이선스가 있는 시장에만 콘텐츠 배포를 한정하거나 배포 대상으로 선택할 수 있다.
  • 미국에서는 대륙, 국가 또는 주를 기준으로 지리적 위치를 정할 수 있다.
  • 또한 지역 기반 라우팅(Geolocation Routing) DNS는 LBR(Latency Based Routing) 또는 DNS Failover와 결합하여 Performance 향상을 위한 다양한 환경을 구성할 수 있다.

 

엔드포인트(EndPoint)

  • 사전적인 의미 : the security model around end user devices such as PCs, laptops and mobile phones
  • 쉽게말해서 End 끝 Point 점으로 IT적인 관점으로 봤을 때, 어떠한 소프트웨어나 제품에 최종목적지인 사용자를 가리키며 그 예로는 PC나 노트북, 핸드폰등 유저가 사용하는 devices등을 말함.
  • 결국 API가 두 시스템(어플리케이션)이 상호작용(소통) 할 수 있게 하는 프로토콜의 총 집합이라면,
  • ENDPOINT는 API가 서버에서 리소스에 접근할 수 있도록 가능하게 하는 URL이라 할 수 있겠다.

 

6. 실습 : Amazon Route 53에서 DNS 구입하기


Amazon Route 53에서 DNS 구입하기

  • Amazon Route 53의 사용 방법을 알기 위해 Route 53를 사용하여 신규 도메인을 등록하고, 4장에서 생성된 PHP용 웹 사이트를 신규 등록한 DNS를 통해 연결하는 실습을 포함한다.
  • 본 실습에 사용되는 Route53는 Free Tier가 없으며, 신규 DNS를 등록하는 과정에서 DNS 사용료(1년 기준 $12)가 발생된다.
  • 따라서 본 실습은 비용이 발생될 수 있으며, 기존에 보유하고 있는 DNS가 있는 경우에는 7 파트를 보면 된다.

1. AWS 에 [서비스] → [네트워크 및 콘텐츠 전송] → [Route 53] 로 이동한다.

2. 왼쪽 메뉴에서 [등록된 도메인] 메뉴를 클릭

3. [등록된 도메인] 페이지에서 신규 도메인 등록을 위해 [도메인 등록] 버튼을 클릭한다.

4. [도메인 이름 선택] 페이지에서 등록할 도메인을 입력하고, 등록할 도메인 끝자리 구분자를 선택 후, [확인] 버튼을 클릭 후 하단의 [계속] 버튼을 클릭한다.

5. 원하는 도메인의 등록 가능 여부를 확인 후, 해당 도메인을 등록하기를 원한다면 [장바구니에 추가] 버튼을 눌러 [장바구니]에 추가 후, 하단의 [계속] 버튼을 누른다.

6. 도메인 구입을 위해 필요한 기본 정보를 영문으로 입력 후 [계속] 버튼을 클릭한다.

7. 다음 페이지에서 약관에 대해 동의 후, [구매 완료] 버튼을 클릭하면 본인이 입력한 이메일로 확인을 위한 메일이 자동으로 발송된다.

8. 도메인이 정상 등록되었으며, 신규로 등록 시 모든 절차가 완료되기까지 일정 기간이 필요하다. 결과를 확인하기 위해 Dashboard 로 이동하면 등록된 DNS 등록 작업 진행 절차를 확인할 수 있다.

 

 

7. 실습 : 다른 곳에서 구매한 도메인을 Amazon Route 53에 등록하기


다른 곳에서 구매한 도메인을 Amazon Route 53에 등록하기

  • Amazon Route 53가 아닌 다른 판매 사이트에서 도메인을 구매한 경우 Route 53에 어떻게 등록할 수 있는지 실습이다.
  • Route 53은 프리티어(Free Tier)를 제공하지 않으며, 사용한 만큼 과금 된다.

 

도메인 판매 업체 (hosting.kr)에서 도메인 구매하기

  • “Route53″이 아닌 다른 판매 사이트(후이지, hosting.kr 등)에서 도메인을 구매합니다.
  • 참고로 저는 hosting.kr에서 구매하였습니다.# hosting.kr 도매인 판매 사이트https://www.hosting.kr

 

1. AWS 에서 [서비스] → [네트워크 및 콘텐츠 전송] → [Route 53]으로 이동한다.

2. 도메인을 등록 관리하기 위해 왼쪽 메뉴에서 "호스팅 영역" 메뉴를 클릭한다.

3. 구입한 도메인을 등록하기 위해 상단의 [호스팅 영역 생성] 버튼을 클릭한다.

4. 다음과 같이 등록할 "도메인 이름"을 입력하고 [유형]은 "퍼블릭 호스팅 영역"을 선택 후 [생성] 버튼 클릭

5. 본인이 등록한 Hosted Zone 에 대한 Type이 "NS"인 행을 선택하여, 4개의 Name Server 정보를 확인한다.

6. 도메인 구매 업체에 로그인하여 [DNS 설정] 페이지에서 "네임서버 변경"을 찾는다.

7. [Route 53] 페이지에서 확인한 Name Server 정보를 도메인 관리 업체의 [네임서버 정보] 페이지에 등록한다.

 

8. 5~10분 후 등록한 Domain의 Name Server가 정상적으로 변경 되었는지 확인하기 위해 [시작] → [실행] → [cmd] 입력 후 [실행] 버튼을 눌러 [명령 프롬프트]를 실행한다.

nslookup

set type=ns

woong.xyz

네임 서버 조회를 위해 "nslookup"을 입력 후 다음과 같이 입력하면 변경된 name server 정보를 확인할 수 있다.

 

 

8. 실습 : Route 53를 통해 웹 서버에 도메인 연결하기


Route 53를 통해 웹 서버에 도메인 연결하기

  • EC2와 도메인 연결에 대한 실습을 위해 5장 RDS에서 사용된 EC2에 Route 53 를 연결하여 EC2에 도메인을 연결하는 실습이다.

1. AWS에서 [서비스] → [EC2] → [인스턴스] 로 이동한다

EC2에 도메인 연결하기 위해 왼쪽 메뉴에서 [네트워크 및 보안] → [탄력적 IP]에서 [탄력적 IP 주소 할당] 버튼을 클릭한다.

2. [탄력적 IP 주소 할당] 페이지에서 [할당] 버튼을 클릭

3. 할당된 [탄력적 IP]를 선택 후 [작업] 메뉴를 클릭하여 [탄력적 IP 주소 연결] 메뉴를 클릭

4. [탄력적 IP 주소 연결] 페이지에서 탄력적 IP 주소를 연결할 인스턴스를 선택하고 연결할 "프라이빗 IP"를 선택한 후 [연결] 버튼을 클릭

5. [인스턴스] 페이지에서 EC2와 연결된 "탄력적 IP"를 확인 후 [서비스] → [네트워킹 및 콘텐츠 전송] → [Route 53]로 다시 이동

6. [Route 53] → [호스팅 영역]으로 이동해서 등록된 "도메인 이름" 클릭

7. 상단의 [레코드 세트 생성] 버튼을 클릭하고 [레코드 세트 생성] 항목의 [이름]에 “www”를 입력합니다. [값]에 확인한 EC2의 “탄력적 IP”를 입력 후 [생성] 버튼을 클릭합니다.

8. 신규 등록한 도메인으로 테스트용 웹 페이지에 접속되는지 확인합니다.

 

 

 

 

 

 

 

 

 

 

 

 

.

반응형
LIST