728x90
반응형
AWS Lambda와 네트워킹: VPC 통합 및 인터넷 액세스
AWS Lambda는 기본적으로 AWS가 소유한 VPC에서 실행되며, 사용자의 VPC에 포함된 리소스에 바로 액세스할 수 없습니다. 이번 글에서는 Lambda 함수와 VPC의 통합, 그리고 Lambda가 인터넷에 액세스할 수 있는 방법에 대해 알아보겠습니다.
1. 기본 Lambda 네트워크 구성
- Lambda 함수는 퍼블릭 웹사이트와 외부 API에 바로 액세스할 수 있습니다.
- DynamoDB와 같은 AWS 서비스에도 기본적으로 접근 가능합니다.
- 그러나 사용자의 VPC 내 프라이빗 리소스(예: RDS, ElastiCache 등)에는 접근할 수 없습니다.
2. Lambda 함수를 VPC에 배포하기
Lambda가 VPC 내 리소스에 접근하려면, 아래 단계를 수행해야 합니다:
- VPC ID와 서브넷 설정
Lambda 함수가 연결될 VPC ID와 서브넷을 정의합니다. - 보안 그룹(Security Group) 설정
Lambda 함수에 적절한 보안 그룹을 할당합니다.
ENI(Elastic Network Interface) 생성
- Lambda 함수가 VPC에 배포되면, 선택한 서브넷에 ENI를 자동으로 생성합니다.
- 이를 위해 Lambda 함수는 Lambda VPC Access Execution Role 권한이 필요합니다.
Lambda와 RDS 데이터베이스 통신
- Lambda 함수는 ENI를 통해 RDS 데이터베이스에 접근합니다.
- RDS 보안 그룹은 Lambda 보안 그룹에서의 트래픽을 허용해야 합니다.
이 설정은 EC2 인스턴스와 로드 밸런서 간의 네트워크 구성과 유사합니다.
3. VPC 내 Lambda 함수와 인터넷 액세스
문제: Lambda 함수와 인터넷 연결
- 기본적으로 VPC 내의 Lambda 함수는 인터넷에 액세스할 수 없습니다.
- 퍼블릭 서브넷에 배포하더라도 Lambda 함수는 퍼블릭 IP를 얻지 못하므로 인터넷 연결이 되지 않습니다.
해결 방법: NAT 장치 사용
- Lambda를 프라이빗 서브넷에 배포한 뒤, NAT 게이트웨이 또는 NAT 인스턴스를 사용하여 인터넷에 액세스합니다.
- NAT 장치는 **인터넷 게이트웨이(IGW)**와 연결되어 외부 API 및 서비스에 대한 액세스를 제공합니다.
4. Lambda 함수와 DynamoDB 통합
퍼블릭 경로를 통한 DynamoDB 액세스
- Lambda 함수가 NAT 장치 및 인터넷 게이트웨이를 통해 DynamoDB에 액세스합니다.
VPC 엔드포인트를 통한 프라이빗 액세스
- VPC 엔드포인트를 사용하여 NAT 장치나 인터넷 게이트웨이 없이 DynamoDB에 액세스할 수 있습니다.
- DynamoDB의 경우 VPC 엔드포인트 게이트웨이를 생성하여 Lambda 함수와 DynamoDB 간의 프라이빗 통신을 설정합니다.
5. CloudWatch Logs와 Lambda
- Lambda 함수가 프라이빗 서브넷에 배포되더라도 CloudWatch Logs는 별도의 NAT 장치나 엔드포인트 없이도 정상적으로 작동합니다.
- 이는 CloudWatch Logs가 Lambda와 독립적으로 작동하기 때문입니다.
요약
Lambda와 VPC 통합은 리소스에 안전하게 액세스하는 데 중요한 구성 요소입니다. VPC 내 Lambda 함수가 인터넷에 액세스할 수 있도록 하려면 NAT 장치가 필요하며, AWS 서비스와 프라이빗 통신을 설정하려면 VPC 엔드포인트를 사용할 수 있습니다. 올바른 네트워크 설정을 통해 Lambda의 유연성과 보안을 극대화할 수 있습니다.
728x90
반응형
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] AWS Verified Access (0) | 2024.12.26 |
---|---|
[AWS SCS] AWS Signer (0) | 2024.12.26 |
[AWS SCS] Lambda 보안 (0) | 2024.12.25 |
[AWS SCS] EKS Concepts (0) | 2024.12.25 |
[AWS SCS] ECS Secret Management (0) | 2024.12.25 |