AWS Network
AWS Network
Amazon VPC ( Virtual Private Cloud )
- AWS 상에 프라이빗 네트워크 공간을 구축할 수 있는 서비스
- VPC를 이용하면 논리적인 네트워크 분리가 가능하고 라우팅 테이블과 각종 게이트웨이의 설정이 가능
- AWS의 계정 전용 가상 네트워크 서비스
- VPC 내에서 각종 리소스 ( EC2, RDS, ELB 등 )을 시작할 수 있으며 다른 가상 네트워크와 논리적으로 분리되어 있음
- S3, Cloudfront 등은 다른 VPC 서비스로 VPC 내에서 생성되지 않음
- 각 Region 별로 VPC 가 다수 존재할 수 있음
- VPC 하나의 사설 IP 대역을 보유하고, 서브넷을 생성하며 사설IP 대역 일부를 나누어 줄 수 있음
- 허용된 IP 블록 크기는 /16( IP 65536개 )- / 28 (IP 16개 )
- 권고하는 VPC CIDR 블록 ( 사설 IP 대역과 동일 )
- 10.0.0.0- 10.255.255.255( 10.0.0.0/8 )
- 172.16.0.0- 172.31.255.255( 172.16.0.0/12 )
- 192.168.0.0- 192.168.255.255( 192.168.0.0/16 )
Region
- 리전이란 AWS가 서비스를 제공하는 거점 ( 국가와 지역 )을 나타냅니다. 이는 모두 같은 방법 ( AWS 매니지먼트 콘솔, SDK, CLI )로 사용이 가능하며, 이를 통해 해외의 특정 서비스에 인프라 구축이 필요할 경우 큰 장점이 될 수 있음.
- AWS에서 사용하는 일종의 IDC의 집합으로 거의 모든 클라우드 서비스가 탑재되는 것으로 다수의 Availability Zone( 가용영역 )으로 구성됨
- 한 곳의 AZ의 기능이 마비되어도 다른 AZ가 기능을 수행
- 전 세계 주요 대도시에는 분포되어있음
- AWS 사용자는 각 Region 마다 별도의 클라우드 망을 구축할 수 있음
Availability zone
- 가용 영역은 데이터 센터와 같은 의미라고 할 수 있습니다. 중국을 제외한 각각의 리전에는 2개 이상의 AZ가 존재하며, AWS 사용자가 원하는 AZ를 선택해서 시스템을 구축하는 것이 가능합니다. 즉, On Premise 구성으로 구현하기 힘든 여러 개의 데이터 센터를 사용한 시스템 구성 ( 한 국가 내부의 DR ) 구성 등을 쉽게 구현할 수 있습니다.
VPC Peering
- VPC 간의 트래픽을 전송하기 위한 기능
- Source VPC와 같은 / 다른 리전의 VPC를 Destination으로 선택하여 Peering 요청을 보낸 후, 수락시 Peering 가능
- 요청과 수락이 필요한 이유는 다른 계정의 VPC도 연결 가능하기 때문
- Peering 생성 후 라우팅 테이블에 해당 peering을 집어넣으면 통신 시작
- VPC peering은 Transit Routing 불가 ( 재가의 VPC가 하나의 VPC를 통해 통신하는 것 )
VPC Endpoint
- VPC 내 요소들과 비 VPC 서비스( S3, CloudWatch, Athena 등 )을 외부인터넷을 거치지 않고 아마존 내부 백본 네트워크를 통해 연결하는 방법
- 그러므로 후술한 Direct Connect와 같은 전용선 서비스나 VPN, 인터넷 게이트웨이와 같은 외부 연결이 되어 있지 않는 서브넷에서 아마존의 여러 서비스를 연결가능
- 간단히 말하면 아마존 서비스 전용선
- VPC 엔드포인트에는 Interface Endpoint, Gateway Endpoint 두 종류가 존재
- Gateway Endpoint는 S3와 Dynamo DB만 가능
Subnet
- VPC 내 생성된 분리된 네트워크로 하나의 서브넷은 하나의 AZ ( Avaiability Zone ) 에 연결
- VPC가 가지고 있는 사설 IP 범위 내에서 ‘서브넷’을 쪼개어 사용가능
- 실직적으로 리소스들을 이 서브넷에서 생성이 되며 사설 IP를 기본적으로 할당받고 필요에 따라 공인 IP를 할당받음
- 하나의 서브넷은 하나의 라우팅 테이블과 하나의 NACL( Network ACL ) 을 가짐
- 서브넷에서 생성되는 리소스에 공인 IP 자동할당 여부를 설정할 수 있음
- 이 기능을 통해 Public Subnet과 Private Subnet을 만들어 커스터마이징 가능
- 서브넷 트래픽이 후술할 인터넷 게이트웨이로 라우팅이 되는 경우 해당 서브넷을 Public Subnet, 그렇지 않은 서브넷의 경우 Private Subnet이라 함
- 각 서브넷의 CIDR 블록에서 4개의 IP 주소와 마지막 IP 주소는 예약 주소로 사용자가 사용할 수 없음, 예를 들어 서브넷 주소가 172.16.1.0/24일 경우
- 172.16.1.0: 네트워크 주소 ( Network ID )
- 172.16.1.1: VPC Router용 예약 주소 ( Gateway )
- 172.16.1.2: DNS 서버의 IP주소
- 172.16.1.3: 향 후 사용할 예약 주소
- 172.16.1.255: 네트워크 브로드캐스트 주소
VPN ( Virtual Private Network )
- AWS의 IPSEC VPN 서비스
- 이 VPN을 통해 AWS와 On-premise의 VPN을 연결하는 것이 가능
- 고객 측 공인 IP를 뜻하는 ‘Customer Gateway’와 AWS 측 게이트웨이인 ‘Virtual Private Gateway’ 생성 후 터널을 생성하면 사용 가능
- 반드시 VPC에서 VPN 터널 쪽으로 라우팅을 생성해야 함
Direct Connect
- AWS의 데이터센터 및 오피스 네트워크와의 전용선 서비스
- 표준 이더네세 광섬유 케이블을 이용하여 케이블 한쪽을 사용자 내부 네트워크의 라우터에 연결하고 한 쪽을 Direct Connect 라우터에 연결하여 내부 네트워크 AWS VPC를 연결
- 보통 On-premise의 네트워크와 VPC를 연결할 때 사용
- VPN보다 더 안전하고 빠른 속도를 보장 받고 싶을 때 사용 ( 백업 등 )
VPC 사용한 Public Subnet& Private Subnet 생성 실습
Amazon CloudFront
- .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스
- 전 세계에 배치된 Edge location을 이용하여 효율적인 컨텐츠 배포 구조를 제공하는 것
- Cloud Front는 HTTP/ HTTPS를 이용하여 S3 및 ELB, EC2, 외부 서버 등을 캐시하고 보다 빠른 속도로 콘텐츠를 전달하는 캐시 서버
- Distribution은 Edge Location의 집합을 의미
- Edge Location은 주변 Origin Server의 콘텐츠를 Edge Location에 캐싱하고 각 Edge Location 간 공유를 통해 콘텐츠를 전달
- S3, ELB, EC2 등의 AWS 서비스뿐만 아니라 외부의 서버도 캐싱 가능 ( Custom Orgin )
- TTL을 조절하여 캐시 주기를 통제할 수 있음
AWS Direct Connect
- 온 프레미스에서 AWS로 전용 네트워크 연결을 쉡게 설정할 수 있는 클라우드 서비스 솔루션
- AWS와 사용자 데이터 센터, 사무실 등의 환경 사이에 프라이빗 연결이 가능
Direct Connect의 이점
-
대역폭 비용 감소
- 대역폭 사용량이 많은 워크로드를 AWS에서 실행하려는 경우, AWS에서는 데이터를 직접 송수신하므로, 인터넷 서비스의 대한 의존도를 줄일 수 있음
- 전용 연결을 통해 전송되는 데이터 요금은 인터넷 데이터 전송 요금이 ㅇ닌 보다 저렴한 AWS Direct Connect 데이터 전송 요금으로 부과되어짐
-
일관된 네트워크 성능
- 데이터와 데이터의 라우팅 방식이 선택되면 인터넷 기반 연결에서 효율적인 네트워크 환경의 제공이 가능
-
모든 AWS 서비스와 호환 가능
- AWS Direct Connect는 네트워크 서비스의 일종으로, 인터넷을 통해 액세스 할 수 있는 모든 AWS 서비스와 연동
-
AMAZON VPC로 프라이빗 연결
- AWS Direct Connect를 사용하여 온프레미스 네트워크에서 직접 Amazon VPC로 프라이빗 가상 인터페이스를 설정함으로써 네트워크와 VPC 간에 네트워크 연결을 제공할 수 있음
- 여러 가상 인터페이스를 사용하면 네트워크 격리를 유지하면서 여러 VPC 프라이빗 연결을 설정할 수 있음
-
탄력성
- AWS Direct Connect를 사용하면 요구 사항에 맞게 연결을 용량을 손쉽게 조정이 가능
-
간편성
- AWS Direct Connect는 직접 설치하는 것이 아닌, 설정하는 것으로 간편함
AWS Route 53
- AWS의 DNS 서비스 ( 도메인 등록, DNS 라우팅, Health check )
- 도메인 등록시 약 12.000원 정도 지불해야 하며, 최대 3일 정도 걸림
- 해당 도메인을 AWS 내 서비스 ( EC2, ELB, S3 등 ) 와 연결 할 수 있으며 AWS 외 요소들과도 연결 가능
- 도메인 생성 후 레코드 세트를 생성하여 하위 도메인을 등록할 수 있음
- 레코드 세트 등록시에는 IP 주소, 도메인, ‘Alias’ 등을 지정하여 쿼리를 라우팅할 수 있음
- 도메인 레지스트라 서비스를 통해 도메인 구매부터 정보 설정까지 Route 53으로 한번에 관리가 가능합니다.
- 장애 허용 아케텍처를 통해 시스템에 이상이 발생한 경우, 일시적으로 다른 서버로 전환하는 것이 가능합니다.
DNS ( Domain Name System )
- DNS란 도메인네임서버를 일컫으며, 인터넷은 서버들을 유일하게 구분할 수 있는 IP주소 체계를 보다 인간이 읽게 쉽게 하기 위해 계발되었다.
- 흔히 우리가 알고 있는 naver.com, google.com, daum.net 모두 DNS이다.
- AWS에서는 Route 53을 활용해 도메인 서비스를 지원한다.
Route 53의 라우팅 정책
- Simple : 동일 레코드 내에 다수의 IP를 지정하여 라우팅 가능, 값을 다수 지정한 경우 무작위로 반환함
- Weighted : Region 별 부하 분산 가능, 각 가중치를 가진 동일한 이름의 A 레코드를 만들어 IP를 다르게 줌
- Latency-based : 지연 시간이 가장 적은, 즉 응답시간이 가장 빠른 리전으로 쿼리를 요청
- Failover : A/S 설정에서 사용됨, Main과 DR로 나누어 Main 장애시 DR로 쿼리
- Geolocation : 각 지역을 기반으로 가장 가까운 리전으로 쿼리 수행, 레코드 생성시 지역을 지정할 수 있음
- Geo-proximity : Traffic flow를 이용한 사용자 정의 DNS 쿼리 생성 가능
- Multi-value answer : 다수의 IP를 지정한다는 것은 simpl와 비슷하지만 health check가 가능 ( 실패시 자동 Failover )
AWS Route 사용방법
AWS 서비스에 route를 검색 후 Route 53을 선택한다.
Route 53의 원하는 서비스를 선택한다.
각 서비스의 간략한 설명
도메인 등록
- 단순 도메인을 구입하여 등록한다.
트래픽 흐름 처리
- 트래픽 처리 등의 룰을 추가한다.
DNS 관리
- 호스트 도메인을 등록한다
모니터링 서비스는 DNS 흐름 프로세스를 모니터링 하는 서비스
AWS 콘솔 SSL/ TLS 설치
AWS 서비스에서 certificate 검색
인증서를 만들 것인지 혹은 사설 인증기관을 사용할 것인지를 선택
프로비저닝이 선택할 경우
- 기존의 다른 업체에서 이미 발급받은 경우 Certificate Manager을 통해 등록이 가능하며, 무료로 발급도 가능
적용시킬 도메인 이름 선택
- DNS 검증 : Certificate Manager에서 제시하는 특정 레코드를 추가해서 본임임을 인증
- 이메일 검증 : 해당 도메인의 관리자 계정으로 이메일을 보내서 본임임을 인증, 이 방법을 이용하기 위해서는 해당 도메인의 메일 서버에 연동되어 있어야 가능
검증방법 선택
- 요청이 완료되면 해당 도메인에 다음과 같은 이름과 값으로 CNAME 기록을 추가 해야 하며, AWS가 아닌 업체를 통해서 했다면 해당 업체의 사이트에서 레코드를 추가하면 되며, Route 53을 통해 자동으로 레코드 생성이 가능
- 발급한 인증서를 로드 밸런서의의 기존에 생성했던 리스너를 추가시킨 후, 인증서를 추가하면 추가가 완료된 것을 확인할 수 있으며, http://가 아닌 https:// 접속이 가능한 것을 확인할 수 있다.
마지막 수정일자