Infra & DevOps/AWS

[AWS] VPC endpoint vs NAT gateway

용감한 개복치 2023. 4. 9. 18:44

배경

internal 통신을 위한 alb가 생길 때, 얘가 누구랑 통신을 하는 것인지, private subnet안에 숨겨져 있는데 당연히 public으로 두지 않아야 한다는 것은 알지만 정확히 어떤 목적으로 숨겨진 것인지, 어떻게 통신을 하는지, 아예 내부에서만 트래픽이 돌게 할 수 는 없을까 등에 대해 고민

 

비교

공통점

  • VPC 외부와 통신하지 않고 VPC 내부에서만 vpc 외부에 있는 서비스들에 접근해야 할 때, Private Subnet 안에 있는 EC2 인스턴스, ECS 컨테이너 인스턴스, Lambda 함수 등에서는 VPC Endpoint 또는 NAT Gateway를 사용하여 액세스할 수 있다.

 

차이점

VPC endpoint

  • AWS 서비스와 VPC 간의 트래픽을 안전하게 전달하기 위한 가상 인터페이스
  • VPC Endpoint를 사용하면 AWS 서비스에 액세스하기 위해 Public Subnet을 사용할 필요가 없으므로, VPC 외부로의 트래픽을 방지할 수 있음
  • 즉, VPC Endpoint를 사용하여 AWS 서비스와 통신할 때 데이터가 인터넷을 통해 전송되지 않기 때문에 보안과 비용에서 더욱 안전
  • 다른 VPC의 AWS 서비스가 Gateway Endpoint를 지원하는 경우, 해당 VPC에 VPC Peering 연결이 없어도 VPC Endpoint를 통해 안전하게 액세스
  • 타입 2가지
    • Gateway Endpoint : Amazon S3, ECR, DynamoDB, Glacier, KMS, CloudFormation 등의 AWS 서비스를 지원하는 Endpoint. VPC Endpoint를 생성하면, 해당 서비스의 리소스를 VPC 내에서 액세스 가능.
    • Interface Endpoint : Amazon EC2, RDS, Elastic Load Balancing, Elasticsearch Service, Kinesis 등의 AWS 서비스를 지원하는 Endpoint. 이 Endpoint는 하나 이상의 Network Interface를 사용하여 생성되며, VPC 내의 EC2 인스턴스 등에서 AWS 서비스에 접근 가능

NAT gateway

  • AWS NAT Gateway는 VPC 내부에서 인터넷에 대한 액세스를 제공하는 관리형 NAT(Network Address Translation) 서비스
  • VPC 내부의 Private Subnet에서 인터넷과 통신가능.
  • NAT Gateway는 여러 개의 가용 영역에서 사용 가능하며, 고가용성을 보장
  • NAT Gateway는 자동으로 확장되므로, 트래픽이 증가하더라도 성능 문제x
  • NAT Gateway는 Public Subnet에 배치되며, Private Subnet에 있는 EC2 인스턴스, Lambda 함수 등이 NAT Gateway를 통해 인터넷과 통신할 수 있음.
  • ecs의 경우 private에서 vpc 외부 리소스와 통신하고 싶을때, gateway enpoint가 없을때 vpc peering + nat 를 사용할 수 있음.
  • NAT Gateway는 Public Subnet의 Internet Gateway를 통해 인터넷에 연결되며, Private Subnet의 EC2 인스턴스 등에서 NAT Gateway의 Elastic IP 주소를 사용하여 인터넷과 통신.
  • 장점
    • NAT Gateway는 인터넷 트래픽을 관리하고 로그를 기록가능 → 인터넷 연결을 모니터링하고, 보안 및 규정 준수를 유지가능

참고

서비스의 종속성

  • 어떤 것을 기준으로 서비스가 묶이는가. 종속된 서비스는 해당 기준을 설정하도록 되어있음
  • ex ) s3를 만들 때는 리전을 설정해야하고, alb를 만들 때는 vpc를 설정해야함.

리전에 종속되어 있는 서비스

ECR, S3, CloudFront

VPC에 종속되어 있는 서비스

프라이빗 라우트 53, ec2, alb, ecs

'Infra & DevOps > AWS' 카테고리의 다른 글

[AWS] Route53 vs Cloud map  (0) 2023.04.09
[AWS]Security Group vs ACL  (0) 2023.04.09
[AWS]ElastiCache vs memoryDB  (0) 2023.04.09
[AWS]Session Manager 로 인스턴스 접속  (0) 2022.10.11
ssh로 aws 인스턴스 접속 오류  (0) 2022.10.11