[AWS] VPC(Virtual Private Cloud) 동작원리 및 구성요소(3/3)
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html
NAT(Network Address Translation) instance/gateway
- Private Subnet에 속한 인스턴스의 경우 외부 인터넷에 접근할 수 없지만 Public Subnet으로 우회해서 인터넷에 접근할 수 있음. (데이터베이스 설치를 위함)
- 이 때 Public Subnet이 NAT 역할을 함(NAT Gateway, NAT Instance)
- 따라서 NAT 는 Private Subnet 안에 있는 Private Instance가 외부의 인터넷과 통신하기 위한 방법
- NAT Instance는 단일 Instsance(EC2)
- NAT Insatnce는 Public Subnet에 있어야함.
- NAT Gateway는 AWS에서 제공하는 서비스
- 엄밀이 따지면 Route Table을 거쳐서 NAT gateway <-> Private Subnet 간의 통신이 이루어짐
Bation Host
- VPC 외부에서 관리자가 Private Subnet에 접근해야 하는 경우 접근할 수 있는 방법이 없음
- 이 때 Bastion Host를 거쳐서 Private Subnet에 접근할 수 있음
- NAT가 Private Subnet에서 외부와 통신하는 수단이라면 Bastion Host는 외부에서 Private Subnet과 통신하는 수단
- 관리자가 Bastion Host으로 SSH 연결을 한 후 Bastion Host에서 EC2로 SSH 요청을 보내서 Private Subnet에 접근할 수 있음
- Bastion Host 또한 Public Subnet에 위치하는 EC2 Instance
VPC EndPoint
VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 AWS Private Link 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있습니다.
VPC 인스턴스는 서비스의 리소스와 통신하는데 퍼블릭 IP 주소를 필요로 하지 않습니다. VPC와 기타 서비스 간의 트래픽은 Amazon Network를 벗어나지 않습니다.
- AWS 여러 서비스들과 VPC를 연결시켜주는 중간 매개체
- AWS 에서 VPC 바깥으로 트래픽이 나가지 않고 AWS의 여러 서비스를 사용하게끔 만들어주는 서비스
- Private Subnet 같은 경우 격리된 공간인데, 그 상황에서도 AWS의 다양한 서비스들을(S3, DynamoDB, Athena 등) 연결할 수 있도록 지원하는 서비스
- Interface Endpoint : Private IP를 만들어서 서비스로 연결해줌(SQS, SNS, Kinesis, Sagemaker 등 지원)
- Gateway Endpoint : 라우팅 테이블에서 경로의 대상으로 지정하여 사용(S3, DynamoDB 지원)