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