Lambda 관리형 인스턴스의 네트워킹
Lambda 관리형 인스턴스 함수를 실행할 때는 함수가 VPC 외부의 리소스에 액세스할 수 있도록 네트워크 연결을 구성해야 합니다. 여기에는 Amazon S3 및 DynamoDB와 같은 AWS 서비스가 포함됩니다. CloudWatch Logs 및 X-Ray로 텔레메트리 데이터를 전송할 때에도 연결이 필요합니다.
연결 옵션
VPC 연결 구성에는 3가지 주요 접근 방식이 있으며, 각 접근 방식은 비용, 보안 및 복잡성에 있어 장단점이 서로 다릅니다.
인터넷 게이트웨이를 사용하는 퍼블릭 서브넷
이 옵션은 인터넷 게이트웨이를 통한 직접 인터넷 액세스로 퍼블릭 서브넷을 사용합니다. IPv4 및 IPv6 구성 중에서 선택할 수 있습니다.
인터넷 게이트웨이를 사용하는 IPv4
인터넷 게이트웨이와의 IPv4 연결 구성
-
IPv4 CIDR 블록을 사용하여 기존 퍼블릭 서브넷을 생성하거나 사용합니다.
-
VPC에 인터넷 게이트웨이를 연결합니다.
-
라우팅 테이블을 업데이트하여
0.0.0.0/0트래픽을 인터넷 게이트웨이로 라우팅합니다. -
리소스에 퍼블릭 IPv4 주소 또는 탄력적 IP 주소가 할당되어 있어야 합니다.
-
필요한 포트에서 아웃바운드 트래픽을 허용하도록 보안 그룹을 구성합니다.
이 구성은 양방향 연결을 제공하여 함수에서의 아웃바운드 연결과 인터넷에서의 인바운드 연결을 모두 허용합니다.
인터넷 게이트웨이를 사용하는 IPv6
인터넷 게이트웨이와의 IPv6 연결 구성
-
VPC에서 IPv6를 활성화합니다.
-
IPv6 CIDR 블록이 할당된 퍼블릭 서브넷을 생성하거나 기존 퍼블릭 서브넷을 사용합니다.
-
인터넷 게이트웨이를 VPC에 연결합니다(동일한 인터넷 게이트웨이가 IPv4와 IPv6를 모두 처리할 수 있음).
-
라우팅 테이블을 업데이트하여
::/0트래픽을 인터넷 게이트웨이로 라우팅합니다. -
액세스해야 하는 AWS 서비스가 해당 리전에서 IPv6를 지원하는지 확인합니다.
-
필요한 포트에서 아웃바운드 트래픽을 허용하도록 보안 그룹을 구성합니다.
이 구성은 IPv6 주소 지정을 사용하여 양방향 연결을 제공합니다.
송신 전용 인터넷 게이트웨이를 사용하는 IPv6
송신 전용 인터넷 게이트웨이와의 IPv6 연결 구성
-
VPC에서 IPv6를 활성화합니다.
-
IPv6 CIDR 블록이 할당된 퍼블릭 서브넷을 생성하거나 기존 퍼블릭 서브넷을 사용합니다.
-
VPC에 송신 전용 인터넷 게이트웨이를 연결합니다.
-
라우팅 테이블을 업데이트하여
::/0트래픽을 외부 전용 인터넷 게이트웨이로 라우팅합니다. -
액세스해야 하는 AWS 서비스가 해당 리전에서 IPv6를 지원하는지 확인합니다.
-
필요한 포트에서 아웃바운드 트래픽을 허용하도록 보안 그룹을 구성합니다.
이 구성은 아웃바운드 전용 연결을 제공하여 함수의 아웃바운드 연결 시작을 허용하면서 인터넷에서의 인바운드 연결을 방지합니다.
VPC 엔드포인트
VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 VPC를 지원되는 AWS 서비스에 비공개로 연결할 수 있습니다. VPC와 AWS 서비스 간의 트래픽은 Amazon 네트워크를 벗어나지 않습니다.
VPC 엔드포인트 구성
-
console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
탐색 창에서 엔드포인트를 선택합니다.
-
엔드포인트 생성을 선택합니다.
-
서비스 범주(Service category)에서 AWS 서비스를 선택합니다.
-
서비스 이름에서 필요한 서비스 엔드포인트(예: Amazon S3의 경우
com.amazonaws.region.s3)를 선택합니다. -
VPC에서 해당 VPC를 선택합니다.
-
서브넷에서 엔드포인트 네트워크 인터페이스를 생성하려는 서브넷을 선택합니다. 고가용성을 위해 여러 가용 영역의 서브넷을 선택합니다.
-
보안 그룹에서 엔드포인트 네트워크 인터페이스에 연결할 보안 그룹을 선택합니다. 보안 그룹은 필요한 포트에서 함수의 보안 그룹으로부터의 인바운드 트래픽을 허용해야 합니다.
-
엔드포인트 생성을 선택합니다.
함수가 액세스해야 하는 각 AWS 서비스에 대해 이 단계를 반복합니다.
NAT 게이트웨이를 사용하는 프라이빗 서브넷
이 옵션은 NAT 게이트웨이를 사용하여 리소스를 비공개로 유지하면서 인터넷으로 프라이빗 서브넷의 리소스에 액세스할 수 있습니다.
NAT 게이트웨이를 사용하는 프라이빗 서브넷 구성
-
CIDR 블록이 포함된 퍼블릭 서브넷(아직 존재하지 않는 경우)을 생성합니다.
-
VPC에 인터넷 게이트웨이를 연결합니다.
-
퍼블릭 서브넷에 NAT 게이트웨이를 생성하고 탄력적 IP 주소를 할당합니다.
-
퍼블릭 서브넷 라우팅 테이블을 업데이트하여 ‘
0.0.0.0/0→ 인터넷 게이트웨이’ 경로를 추가합니다. -
CIDR 블록을 사용하여 기존 퍼블릭 서브넷을 생성하거나 사용합니다.
-
프라이빗 서브넷 라우팅 테이블을 업데이트하여 ‘
0.0.0.0/0→ NAT 게이트웨이’를 추가합니다. -
필요한 포트에서 아웃바운드 트래픽을 허용하도록 보안 그룹을 구성합니다.
고가용성을 위해 각 가용 영역에 NAT 게이트웨이 하나를 배포하고 로컬 NAT 게이트웨이를 사용하도록 가용 영역별로 라우팅 테이블을 구성합니다. 이를 통해 AZ 간 데이터 전송 요금이 발생하지 않고 복원력이 향상됩니다.
연결 옵션 선택
연결 옵션을 선택할 때 다음 요소를 고려합니다.
인터넷 게이트웨이를 사용하는 퍼블릭 서브넷
-
최저 비용으로 가장 간단한 구성
-
개발 및 테스트 환경에 적합
-
리소스가 인터넷에서 인바운드 연결 수신 가능(보안 고려 사항)
-
IPv4 및 IPv6 모두 지원
VPC 엔드포인트
-
가장 높은 보안, 트래픽이 AWS 네트워크 내에 유지
-
인터넷 라우팅에 비해 짧은 지연 시간
-
보안 요구 사항이 엄격한 프로덕션 환경에 권장
-
처리된 엔드포인트, 가용 영역 및 GB당 비용 증가
-
고가용성을 위해 각 가용 영역에 엔드포인트 필요
NAT 게이트웨이를 사용하는 프라이빗 서브넷
-
리소스가 인바운드 인터넷 액세스 없이 비공개로 유지
-
표준 엔터프라이즈 아키텍처 패턴
-
모든 IPv4 인터넷 트래픽 지원
-
NAT 게이트웨이 시간당 및 데이터 처리 요금을 포함한 중간 비용
-
IPv4만 지원