AWS Certified Solutions Architect Associate [19] 네트워크 - AWS VPC

CHAN LIM·2022년 7월 29일
1

VPC Components


CIDR, Public / Private IP

CIDR

  • Classless Inter-Domain Routing
  • 클래스 없는 도메인 간 라우팅
  • 보안 그룹 규칙AWS의 네트워킹을 다룰 때 사용합니다.
  • 단순한 IP 범위를 정의하는 데 도움을 줍니다.
    • /32로 끝나는 IP 주소는 사실 IP 하나만 나타냅니다.
    • 0.0.0.0/0이라면 모든 IP를 나타내요.
  • CIDR 구성 요소는 두 가지입니다.
    • 기본 IP
      • 범위에 포함된 IP
      • 예시로 10.0.0.0 또는 192.168.0.0 등
    • 서브넷 마스크
      • IP에서 변경 가능한 비트의 개수를 정의
      • 여기에는 /0, /24 그리고 /32까지 있습니다.
      • 형식은 두 가지
        • /8은 서브넷 마스크 255.0.0.0과 동일
        • /16은 255.255.0.0과 같습니다.

Subnet Mask

  • 서브넷 마스크를 사용하면 기본적으로 기본 IP의 일부가 기본 IP에서 다음 값을 추가로 가져올 수 있습니다.

  • 192.168.0.0/24 = … ?
    • 192.168.0.0 – 192.168.0.255 (256 IPs)
  • 192.168.0.0/16 = … ?
    • 192.168.0.0 – 192.168.255.255 (65,536 IPs)
  • 134.56.78.123/32 = … ?
    • Just 134.56.78.123
  • 0.0.0.0/0
    • All IPs!

Public vs Private IP

  • Internet Assigned Numbers Authority
    IANA에서 구축한 특정 IPv4 주소 블록은 사설 LAN 네트워크 다시 말해 로컬 네트워크나 공용 인터넷 주소입니다.

  • 사설 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)
      • 계정을 생성할 때 AWS에서 제공하는 기본 VPC
    • 192.168.0.0 – 192.168.255.255 (192.168.0.0/16)
      • 홈 네트워크
  • 전 세계에 있는 IP 주소는 모두 인터넷상에 있는 공용 IP 주소일 겁니다.

기본값 VPC Walkthrough

  • 새로운 AWS 계정은 모두 기본 VPC가 있습니다.
  • 새로운 EC2 인스턴스는 서브셋을 지정하지 않으면 기본 VPC에 실행됩니다.
  • 계정을 시작하면 VPC는 하나만 생깁니다.
  • 기본 VPC는 처음부터 인터넷에 연결돼 있어서 인스턴스가 인터넷에 액세스합니다.
  • 내부의 EC2 인스턴스는 공용 IPv4 주소를 얻습니다.
  • EC2 인스턴스를 위한 공용 및 사설 IPv4 DNS 이름도 얻습니다.

VPC

VPC - AWS

  • Virtual Private Cloud
  • 단일 AWS 리전에 여러 VPC를 둘 수 있습니다.
    • 리전당 최대 5개까지 가능합니다.
  • VPC마다 할당된 CIDR는 다섯 개입니다.
    • 각 CIDR의 최소 크기는 /28로 IP 주소는 최소 16개가 있습니다.
    • 최대 크기는 /16으로 IP 주소는 최대 65,536개입니다.
  • VPC가 사설 리소스이기 때문에 사설 IPv4 범위만 허용됩니다.
    • 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)

  • 일반적인 규칙으로는 원하는 대로 할당할 수 있지만 VPC CIDR다른 VPC네트워크 혹은 기업 네트워크와 겹치지 않도록 주의하세요.

VPC - Subnet

  • VPC 내부에 있는 IPv4 주소의 부분 범위입니다.
    • 이 범위 내에서 AWS가 IP 주소 다섯 개를 예약합니다.
    • IP 주소 처음 네 개, 마지막 한 개를 서브넷마다 예약합니다.
  • 이런 IP 주소는 사용도 안 되고 EC2 인스턴스에 IP로 할당되지도 못합니다.

예를 들어 CIDR 블록 10.0.0.0/24가 있다면,

  • 10.0.0.0 – 네트워크 주소
  • 10.0.0.1 – .1을 VPC 라우터용으로 예약
  • 10.0.0.2 – Amazon 제공 DNS에 매핑
  • 10.0.0.3 – 당장 사용되진 않지만 나중에 필요할지 모르니까 예약
  • 10.0.0.255 – 네트워크 브로드캐스트 주소인 .255도 있는데 AWS는 VPC에서 브로드캐스트를 지원하지 않기에 예약은 되지만 사용하는 건 안 됩니다.

EC2 인스턴스 서브넷에서 IP 주소 29개가 필요할 때,

  • /27 서브넷은 사용 못 한다는 걸 시험 볼 때 기억해 두세요
    • /27 IP 주소는 32개인데 예약된 IP 주소 다섯 개를 제외하면 27개만 남기 때문입니다.
  • 서브넷에 IP 주소 64개를 제공하니까요 서브넷 크기는 /26이어야 합니다.

Internet Gateway (IGW)

  • IGW는 VPC의 리소스를 인터넷에 연결하도록 허용하는 EC2 인스턴스람다 함수 등입니다.
  • 수평으로 확장되고 가용성과 중복성이 높습니다.
  • VPC와는 별개로 생성해야 합니다.
  • VPC는 IGW 하나에만 연결되며 반대의 경우도 마찬가지입니다.
  • 인터넷 액세스를 허용하지 않습니다.

  • 작동을 위해 라우팅 테이블을 수정해야 합니다.

Bastion Hosts

  • 인스턴스를 Private 서브넷에 연결할 때 Bastion 호스트를 이용합니다.
  • Bastion 호스트는 Public 서브넷의 EC2 인스턴스로 통과할 수 있는 요새 호스트입니다.
  • 이를 위해 Bastion 서브넷 EC2 인스턴스의 보안 그룹 규칙을 수정해야 합니다.
  • Bastion 호스트는 인터넷에서 사설 EC2 인스턴스로 SSH를 하는 방법입니다.
  • Public 서브넷에 위치하여 그 Public 서브넷이 다른 모든 Private 서브넷과 연결됩니다.
  • Bastion 호스트의 보안 그룹은 엄격해야 합니다.
  • 모든 네트워크에 액세스해서 올바르게 작성해야 합니다.
  • EC2 인스턴스 보안 그룹을 올바르게 구성하여 Bastion 호스트로부터의 트래픽을 허용해야 합니다.

NAT Instance

  • Network Address Translation
  • 네트워크 주소 변환
  • Private 서브넷 EC2 인스턴스가 인터넷에 연결되도록 허용합니다.
  • Public 서브넷에서 실행되어야 하고, Public 및 Private 서브넷을 연결합니다.
  • 비활성화해야 하는 설정은 소스/목적지 확인입니다.
  • 고정된 Elastic IP가 연결되어야 합니다.
  • 라우팅 테이블을 수정하여 Private 서브넷과 Public 서브넷의 두 서브넷에 있는 EC2 인스턴스로부터 NAT 인스턴스로 트래픽을 전송하도록 합니다.

  • 2020년 12월 31일로 표준 지원이 종료.
  • NAT Gateway를 권장
  • 가용성이 높지 않습니다.
  • 초기화 설정으로 복원할 수 없어서 여러 AZ에 ASG를 생성해야 합니다.
  • 복원되는 사용자 데이터 스크립트가 필요하기에 꽤 복잡합니다.
  • 작은 인스턴스는 큰 인스턴스에 비교해서 대역폭이 더 작습니다.
  • 보안 그룹과 규칙을 관리해야 합니다.
  • 인바운드에서는, Private 서브넷의 HTTP/HTTPS 트래픽을 허용하고 홈 네트워크의 SSH도 허용합니다.
  • 아웃바운드에서도 트래픽이 나가도록 합니다.

NAT Gateway

  • AWS의 관리형 NAT 인스턴스이며 높은 대역폭을 가지고 있습니다.
  • 가용성이 높으며 관리할 필요가 없습니다.
  • 사용량 및 NAT Gateway의 대역폭에 따라 청구됩니다.
  • 특정 AZ에서 생성되고 탄력적 IP를 이어받습니다.
  • EC2 인스턴스와 같은 서브넷에서 사용할 수 없어서 다른 서브넷에서 액세스할 때만 사용됩니다.
  • 경로는 (Private Subnet => NATGW => IGW) 입니다.
  • 대역폭은 초당 5GB이며, 초당 45GB까지 확장할 수 있습니다.
  • 보안 그룹을 관리할 필요가 없습니다.

NAT Gateway 고가용성

  • NAT Gateway은 단일 AZ에서 복원 가능합니다.

  • AZ가 중지될 경우를 위해 다중 NAT Gateway여러 AZ에 두면 결함 허용을 할 수 있습니다.

  • 라우팅 테이블을 통해 AZ를 서로 연결할 필요는 없습니다.


NAT Gateway vs. NAT Instance


DNS 확인

  • DNS Resolution
    • enableDnsSupport
    • Route 53 Resolver 서버의 DNS 확인이 VPC에서 지원될지 결정하는 옵션입니다.
    • 기본 설정은 True
      • VPC 내의 EC2 인스턴스가 Amazon 제공 DNS 서버를 쿼리 할 수 있다는 뜻입니다.
      • 이때의 서버 IP는 169.254.169.253 혹은 이전에 언급했던 예약된 IP인 VPC IPv4 네트워크 범위의 기본에 더하기 2를 한 것입니다.
      • 다시 말해 .2 주소입니다.

  • DNS Hostnames (enableDnsHostnames)
  • 기본 VPC가 있다면,
    • 기본적으로 True
    • 새로 생성된 VPC라면 False
  • 미리 활성화하지 않으면 아무것도 하지 않습니다.
    • enableDnsSupport가 True.
  • DNS 호스트 이름이 True일 때 공용 IPv4도 가진다면 EC2 인스턴스가 공용 호스트 이름을 가집니다.

왜 이런 두 가지 설정을 활성화해야 할까?

Route 53의 사설 호스팅 영역에 사용자 지정 DNS 도메인이 있고
두 가지 속성 모두 True라면
사설 호스팅 영역을 만들 수 있습니다.


보안 그룹과 NACLs

Security Groups & NACLs


Network Access Control List (NACL)

  • 서브넷을 오가는 트래픽을 제어하는 방화벽과 비슷합니다.
  • 서브넷마다 하나의 NACL이 있고 새로운 서브넷에는 기본 NACL이 할당됩니다.
  • NACL 규칙 정의,
    • 숫자가 있고 범위는 1부터 32,766까지이고 숫자가 낮을수록 우선순위가 높습니다.
    • 첫 번째 규칙 비교로 결정이 날 것입니다.
      • ALLOW는 100이고 DENY가 200이니까 100이 200보다 우선해서 IP 주소는 허용됩니다.
    • (*) 별표인데, 일치하는 규칙이 없으면 모든 요청을 거부합니다.
    • AWS는 규칙을 100씩 추가하는 것을 권장합니다.
  • 새로 만들어진 NACL은 기본적으로 모두를 거부합니다.
  • 서브넷 수준에서 특정한 IP 주소를 차단하는데 적합합니다.
  • 다중 NACL 및 서브넷이 있다면 각 NACL 조합이 NACL 내에서 허용되어야 한다는 것입니다

기본 NACL

  • 기본 NACL는 연결된 서브넷을 가지고 인바운드와 아웃바운드의 모든 요청을 허용하는 특수성을 가집니다.
  • 기본 NACL을 수정하지 않는 것을 추천합니다.

임시 포트

  • 클라이언트와 서버가 연결되면 포트를 사용해야 합니다.
  • 임시 포트라고 불리는 것은 연결 수명을 위해서만 할당되는 무작위 포트이기 때문입니다.
  • 클라이언트가 정의된 포트에 연결하고 사용 후 삭제 포트에서 응답을 기대합니다.
  • 운영 체제에 따라 포트 범위가 다릅니다. 예:
    • IANA & MS Windows 10 : 49152 – 65535
    • Many Linux Kernels : 32768 – 60999

NACL with Ephemeral Ports


Security Group vs NACLs


VPC 연결성 분석기

  • 굉장히 멋진 기능을 갖춘 네트워크 진단 도구로써
    VPC에서 두 개의 엔드 포인트 간 네트워크 연결의 문제 해결에 도움을 줍니다.
  • 네트워크 구성을 세세히 보면서 오류가 발생한 곳을 알아내는 대신
    두 개의 엔드 포인트 사이 네트워크 구성 모델을 만들어서 AWS 계정 내의 구성을 기반으로 도달 가능성을 확인하고 구축합니다.
  • 패킷을 보내지 않고도 네트워크 구성 분석 만으로 가능합니다.
  • 어떤 라우팅 테이블이 제대로 구성되지 않았는지 정확히 알려줄 수 있습니다.

VPC Peering

  • AWS 네트워크를 사용하여 두 개의 VPC를 개별적으로 연결합니다.
  • VPC가 모두 같은 네트워크에서 작동하도록 만들기 위해서 입니다.
  • 중복되는 CIDR이 없어야 합니다.
  • VPC 피어링은 두 VPC 간에 발생하며 전이되지 않습니다
    • (서로 통신해야 하는 각 VPC에 대해 설정해야 함)
  • EC2 인스턴스가 서로 통신할 수 있도록 각 VPC의 서브넷에서 경로 테이블을 업데이트해야 합니다.
  • 다른 계정 간에도 가능하단 점입니다.
  • 리전 간 연결도 가능합니다.
  • 보안 그룹에서 다른 보안 그룹을 참조할 수 있었는데 동일 리전의 계정 간 VPC에서도 보안 그룹을 참조할 수도 있습니다.

VPC Endpoints

  • VPC 엔드 포인트는 VPC 내의 사설 엔드 포인트로 AWS 서비스로의 사설 연결을 할 수 있게 해줍니다.
  • AWS의 모든 서비스는 공용 URL이 있습니다.
  • VPC 엔드 포인트는 공용 인터넷을 사용하지 않고 사설 네트워크를 통해 서비스에 연결합니다.
  • 공용 인터넷은 수평적 스케일링을 하는데, 사설 네트워크는 스케일링을 고려하지 않아도 됩니다.
  • IGW, NATGW 등이 AWS 서비스에 액세스할 필요가 없습니다.
  • 문제가 발생한 경우:
    • VPC에서 DNS 설정 확인
    • 경로 테이블 확인

AWS 두 가지 타입의 엔드 포인트

  • Interface Endpoints
    • 인터페이스 엔드 포인트는 ENI를 프로비저닝할 것입니다.
      • ENI는 일래스틱 네트워크 인터페이스, 인터페이스 엔드 포인트 이름입니다.
    • AWS 서비스로의 엔트리 포인트가 됩니다.
    • ENI가 대부분의 AWS 서비스를 지원합니다.
  • Gateway Endpoints
    • 게이트웨이 엔드 포인트는 게이트웨이를 프로비저닝합니다.
    • 라우팅 테이블에서는 대상으로 사용됩니다.
    • 서비스 두 개 :
      • Amazon S3
      • DynamoDB

VPC Flow Logs

  • VPC 플로우 로그는 인터페이스로 향하는 IP 트래픽에서 정보를 얻도록 허용합니다.
    • VPC Flow Logs
    • Subnet Flow Logs
    • 일래스틱 네트워크 인터페이스 즉 ENI Flow Logs
  • VPC에서 발생하는 연결 문제를 추적하고 해결하기에 아주 유용합니다.
  • 플로우 로그의 목적지는 두 곳 :
    • Amazon S3 Logs
    • CloudWatch Logs
  • AWS가 관리하는 ELBRDS, ElastiCache, Redshift, WorkSpaces, NAT Gateway, Transit Gateway 등 인터페이스에 사용할 정보를 얻어 올 수 있습니다.

VPC Flow Logs 문법


AWS Site-to-Site VPN


Site-to-Site VPN 연결

  • 고객 게이트웨이 디바이스 (온 프레미스)
    • 어떤 IP 주소를 사용해야 할지
      • 고객 게이트웨이가 공용이라면 인터넷 라우팅이 가능한 IP 주소가 고객 게이트웨이 장치에 있습니다.
      • NAT 트래버설(NAT-T)을 사용하도록 설정된 NAT 장치 뒤에 있는 경우 NAT 장치의 공용 IP 주소를 사용합니다.
  • 중요 :
    • 서브넷의 VPC에서 라우트 전파를 활성화해야 Site-to-Site VPN 연결이 실제로 작동한다는 점입니다.
    • 온프레미스에서 AWS로 EC2 인스턴스 상태를 진단할 때 보안 그룹 인바운드 ICMP 프로토콜이 활성화됐는지 확인해야 합니다.

AWS VPN CloudHub

  • CloudHub는 여러 VPN 연결을 통해 모든 사이트 간 안전한 소통을 보장합니다.

  • 비용이 적게 드는 허브 및 스포크 모델(hub&spoke)로 VPN만을 활용해 서로 다른 지역 사이 기본 및 보조 네트워크 연결성에 사용합니다.

  • VPN 연결이므로 모든 트래픽이 Public 인터넷을 통합니다.

  • 설치 방법은 Virtual Private Gateway 하나에 Site-to-Site VPN 연결을 여러 개 만들어 동적 라우팅을 활성화하고 라우팅 테이블을 구성하면 됩니다.


Direct Connect (DX)

  • Direct Connect는 원격 네트워크로부터 VPC로의 전용 사설 연결을 제공합니다.
  • Direct Connect 연결을 생성해야 할 때 AWS Direct Connect 로케이션을 사용합니다.
  • VPC 측에 Virtual Private Gateway도 있어야합니다.
  • 같은 연결상에서는
    Amazon S3를 비롯한 Public Resource와 EC2 인스턴스 등의 Private ResourcePublic/Private Virtual Interface를 사용해 액세스할 수 있습니다.
  • 사용 :
    • 대역폭 처리량 증가
      • 대용량 데이터 세트 사용 - 비용 절감
    • 보다 일관된 네트워크 환경
      • 실시간 데이터 피드를 사용하는 애플리케이션
    • 하이브리드 환경(프리미엄 + 클라우드)
  • IPv4, IPv6 둘다 지원


Direct Connect Gateway

  • 여러 지역(동일한 계정)에서 하나 이상의 VPC에 직접 연결을 설정하려면 직접 연결 게이트웨이를 사용해야 합니다.

Direct Connect 유형

  • 전용 연결
    • 용량은 초당 1Gbp 혹은 10Gbp
    • 물리적인 전용 이더넷 포트를 얻습니다.
    • 먼저 AWS에 요청을 보내면 AWS Direct Connect 파트너가 처리를 완료할 겁니다.
  • 호스팅 연결
    • 초당 50Mbp, 500Mbp에서 10Gbp까지 다양해요.
    • AWS Direct Connect 파트너를 통해 또다시 연결을 요청합니다.
    • 필요하면 언제든지 용량을 추가하거나 제거하면 되므로 전용 연결보다는 유연합니다.
    • 선택한 로케이션에서 1, 2, 5, 10Gbp 이용이 가능합니다.

전용 연결이든 호스팅 연결이든 새 연결을 만들려면 리드타임이 한 달보다 길어질 때도 있습니다.


Direct Connect 암호화

  • Direct Connect에는 암호화 기능이 없어요.
    • 그래도 비공개로 연결되므로 데이터는 공개되지 않습니다.
  • 암호화를 원한다면
    VPN과 함께 Direct Connect를 설치해서 IPsec으로 암호화된 비공개 연결이 가능합니다.
  • 추가로 보안을 확보하면 좋지만 배치하는 게 복잡해집니다.

Direct Connect 복원력


VPC의 서비스를 다른 VPC에 노출

  • Public으로 만들기
    • 인터넷 트래픽이 Public 인터넷을 통과.
    • 액세스를 관리하기 힘듭니다.
  • VPC peering
    • 모든 VPC 사이에 피어링 연결
    • 한 VPC에서 다른 VPC로 모든 네트워크를 열게 됩니다

  • 더 안전한 확장형 방식으로 VPC 수천 개에 서비스를 노출할 수 있습니다.
    • 본인 계정이나 타 계정 모두 가능합니다.
  • VPC, Internet Gateway, NAT, Route tables등을 요구하지 않습니다.
  • 네트워크 로드 밸런서(서비스 VPC) 및 ENI(고객 VPC) 또는 GWLB 필요합니다.
  • NLB가 여러 AZ에 있고 ENI가 여러 AZ에 있는 경우 내결함성 솔루션이 있습니다.

  • EC2-Classic: 다른 고객과 공유되는 단일 네트워크에서 인스턴스 실행
  • Amazon VPC: 인스턴스는 논리적으로 AWS 계정에 격리되어 실행됩니다.
  • ClassicLink를 사용하면 EC2-Classic 인스턴스를 계정의 VPC에 연결할 수 있습니다.
    • Security Group을 연결해야 합니다.
    • 전용 IPv4 주소를 사용한 통신 사용합니다.
    • 공용 IPv4 주소 또는 Elastic IP 주소를 사용할 필요가 없습니다.

Transit Gateway

  • 전이적 피어링 연결이 VPC 수천 개와 온프레미스 데이터 센터 Site-to-Site VPN, Direct Connect 허브와 스포크 간 스타형 연결 사이에 생기는 겁니다.

  • 리전 리소스이며 리전 간에 작동합니다.

  • Transit Gateway를 계정 간에 공유하려면 Resource Access Manager를 사용합니다.

  • 리전 간 Transit Gateway를 피어링할 수도 있습니다.

  • 라우터 테이블

    • 어느 VPC가 누구와 통신할지 어떤 연결이 액세스할지 제한합니다.
  • Direct Connect Gateway, VPN connections과 작업합니다.

  • IP 멀티캐스트가 나오면 Transit Gateway를 사용해야 합니다.


Transit Gateway: Site-to-Site VPN ECMP

  • ECMP = Equal-cost multi-path routing
  • 여러 최적 경로를 통해 패킷을 전달할 수 있는 라우팅 전략입니다.
  • Site-to-Site VPN 연결을 많이 생성해서 AWS로의 연결 대역폭을 늘릴 때 사용하게 됩니다.

Transit Gateway: ECMP 처리량


Transit Gateway: 다중 계정 사이에 Direct Connect 공유


VPC –Traffic Mirroring

  • VPC에서 네트워크 트래픽을 수집하고 검사하되 방해되지 않는 방식으로 실행하는 기능입니다.
  • 관리 중인 보안 어플라이언스로 트래픽을 라우팅합니다.
  • 트래픽을 수집해 :
    • From (Source) - ENIs
    • TO (Targets) - ENI 또는 네트워크 로드 밸런서
  • 모든 정보가 아닌 일부만 얻고 싶다면 선택적으로 필터를 사용할 수도 있습니다.
  • 동일한 VPC에 소스대상이 있어야 합니다.
  • VPC 피어링을 활성화한 경우라면 다른 VPC에 걸쳐 있기도 합니다.
  • 사용 :
    • 위협 모니터링
    • 네트워킹 문제 해결

IPv6

IPv6

  • IPv4가 처음 만들어질 당시 주소 43억 개를 제공하도록 설계됐고 머지않아 전부 소진될 것입니다.
  • 주소가 모두 소진되며 새 IP 체계의 필요성을 깨닫고 IPv4의 뒤를 잇는 IPv6가 만들어졌습니다.
  • 3.4x10의 38승 개 고유 IP 주소를 제공합니다.
  • 모든 IPv6 주소는 공용이고 인터넷 라우팅이 가능합니다.
  • 형식은 16진수 8자리로 나타냅니다.
  • Examples:
    • 2001:db8:3333:4444:5555:6666:7777:8888
    • 2001:db8:3333:4444:cccc:dddd:eeee:ffff
    • :: -> all 8 segments are zero

IPv6 - VPC

  • VPC에서 IPv6 지원을 활성화할 수 있기 때문입니다.
  • VPC와 서브넷에서 IPv4 비활성은 불가능하지만 IPv6를 활성화할 수 있습니다.
  • 공용 IP 주소이며 듀얼 스택 모드로 작동합니다.
  • EC2 인스턴스가 VPC에서 실행되면
    최소 사설 내부 IPv4 하나와 공용 IPv6 하나를 얻게 되고
    IPv4나 IPv6를 사용해서 인터넷 게이트웨이를 통해
    인터넷에 통신할 수 있습니다.

IPv6 - 트러블슈팅

  • IPv4는 VPC 및 서브넷에서 비활성화될 수 없습니다.
  • 만약 IPv6가 활성화된 VPC가 있는데 서브넷에서 EC2 인스턴스를 실행할 수 없습니다.
    • 인스턴스가 IPv6를 받지 못해서는 아닙니다.
    • 진짜 원인은 서브넷에 이용 가능한 IPv4가 없기 때문입니다.
  • 솔루션은 서브넷에 IPv4 CIDR를 생성하는 겁니다.

Egress-only Internet Gateway

  • IPv6만 사용합니다.
    • NAT Gateway와 비슷하지만 IPv6 전용입니다.
  • VPC 인스턴스에서 IPv6상 아웃바운드 연결을 허용하고
    동시에 인터넷이 인스턴스로 IPv6 연결을 시작하지 못하게 막습니다.
  • 그러려면 라우팅 테이블을 업데이트해야 합니다.

  • IPv6 라우팅

요약

  • CIDR
    • IP 범위
  • VPC
    • 가상 사설 클라우드로 IPv4와 IPv6용으로 작동합니다.
  • Subnets
    • CIDR가 정의된 AZ에 연결되며 공용 및 사설 서브넷이 있습니다.
  • Internet Gateway
    • VPC 레벨에서, IPv4와 IPv6 인터넷 액세스를 제공합니다.
  • Route Tables
    • 대체 게이트웨이나 VPC 피어링 연결 VPC 엔드 포인트로 향하는 라우트를 갖도록 편집되고 네트워크가 VPC 내부에서 흐르도록 돕는 중요한 기능입니다.
  • Bastion(요새) Host
    • 공용 EC2 인스턴스로 SSH를 수행하며 사설 서브넷의 다른 EC2로 SSH 연결을 사용할 수 있습니다.
  • NAT Instances
    • EC2 인스턴스이며 사설 및 공용 서브넷에 배포되어 사설 서브넷의 EC2 인스턴스에 인터넷 액세스를 제공합니다.
    • 오래돼서 더는 사용하지 않습니다.
    • 소스/목적지 검사 플래그를 비활성화해야 작동합니다.
    • 보안 그룹 규칙을 수정해야 합니다.
  • NAT Gateway
    • AWS에서 관리합니다.
    • 사설 EC2 인스턴스입니다.
    • 확장 가능한 인터넷 액세스를 제공하고 IPv4에서만 작동합니다.
  • Private DNS + Route 53
    • DNS Resolution + DNS Hostnames (VPC)
    • DNS 변환과 DNS 호스트 이름 설정을 활성화해야합니다.
  • NACL
    • 네트워크 ACL은 방화벽 규칙입니다.
    • 인바운드와 아웃바운드 액세스를 서브넷 레벨에서 정의합니다.
    • 임시 포트 NACL이 무상태이므로 인바운드와 아웃바운드 규칙이 항상 평가된다는 겁니다.
  • Security Groups
    • 임시 포트 NACL이 상태이므로 인바운드 허용 시 아웃바운드도 바로 허용되고 반대로도 마찬가지입니다.
    • EC2 인스턴스 레벨에서 적용됩니다.
  • Reachability Analyzer
    • 여러 AWS 리소스 사이에서 네트워크 연결을 시험하고 디버깅을 수행합니다.
  • VPC Peering
    • 두 VPC를 연결할 때 유용한데 CIDR가 겹치지 않는 경우에만 가능합니다.
    • 비전이적이므로 VPC 세 개를 연결하려면 VPC 피어링 연결도 세 개가 필요합니다.
  • VPC Endpoints
    • AWS 서비스에 사설 액세스를 제공합니다.
    • Amazon S3, DynamoDB CloudFormation, SSM 등 VPC 내 모든 서비스에서 가능합니다.
    • Amazon S3와 DynamoDB를 위한 게이트웨이 엔드 포인트로 사용됩니다.
    • 나머지는 모두 인터페이스 엔드 포인트입니다.
  • VPC Flow Logs
    • VPC 내 모든 패킷과 관련해 일정 레벨의 메타데이터를 얻는 방법입니다.
    • ACCEPT 및 REJECT 트래픽 정보가 있습니다.
    • VPC 서브넷이나 ENI 레벨에서 생성할 수 있습니다.
    • 분석 과정 후 Amazon S3로 전송됩니다.
    • 이어서 Athena로 분석하거나 CloudWatch Logs로 보내 CloudWatch Logs Insights로 분석하기도 합니다.
  • Site-to-Site VPN
    • 공용 인터넷을 지나는 VPN 연결입니다.
    • AWS에는 가상 프라이빗 게이트웨이를 생성합니다.
    • 데이터 센터에는 고객 게이트웨이를 생성합니다.
    • 그리고 VPN 연결을 구축합니다.
  • AWS VPN CloudHub
    • 가상 프라이빗 게이트웨이를 사용해 VPC 연결을 여러 개 생성할 때 활용합니다.
    • 허브와 스포크 간 VPN 모델로 사이트에 연결합니다.
  • Direct Connect
    • 데이터 센터를 완전히 비공개로 연결할 때 사용합니다.
    • 공용 인터넷을 통과하지 않는데 구축하는 데 시간이 걸립니다.
    • 데이터 센터를 Direct Connect 로케이션과 연결해 줘야 작동합니다.
    • 관련도가 높고 더 안전할 뿐만 아니라 연결도 안정적입니다.
  • Direct Connect Gateway
    • 다양한 AWS 리전의 수많은 VPC에 Direct Connect를 설정합니다.
  • AWS PrivateLink / VPC Endpoint Services:
    • 고객 VPC에 만든 자체 VPC의 내부 서비스에 비공개로 연결됩니다.
    • 장점 :
      • VPC 피어링, 공용 인터넷, NAT Gateway, 라우팅 테이블은 필요 없습니다.
      • 네트워크 로드 밸런서ENI만 주로 함께 사용된답니다.
      • 네트워크를 드러내지 않은 채, VPC가 있는 서비스를 수백, 수천 고객 VPC에 노출할 수 있습니다.
  • ClassicLink
    • EC2-Classic 인스턴스를 VPC에 비공개로 연결하는데 곧 사라질 서비스입니다.
  • Transit Gateway
    • VPC와 VPN Direct Connect를 위한 전이적 피어링 연결입니다.
    • 모두 이곳을 지난다는 게 장점입니다.
  • Traffic Mirroring
    • 추가 분석을 위해 ENI 등에서 네트워크 트래픽을 복사하는 겁니다.
  • Egress-only Internet Gateway
    • NAT Gateway와 비슷하지만 IPv6 트래픽을 인터넷으로 내보내는 송신 전용 인터넷 게이트웨이입니다.



From
AWS Certified Solutions Architect Associate 시험합격!

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글