Lambda 함수가 Amazon VPC의 리소스에 접근하도록 설정
Lambda 함수가 Amazon VPC의 리소스에 접근하도록 설정
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 AWS 계정에 프라이빗 네트워크를 만들어 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, Amazon Relational Database Service(Amazon RDS) 인스턴스, Amazon ElastiCache 인스턴스 같은 리소스를 호스팅할 수 있어요. 리소스가 들어 있는 프라이빗 서브넷을 통해 함수를 VPC에 연결하면 Lambda 함수가 Amazon VPC에 호스팅된 리소스에 접근할 수 있게 됩니다. 다음 섹션의 지침에 따라 Lambda 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWS SAM으로 Lambda 함수를 Amazon VPC에 연결하세요.
참고
모든 Lambda 함수는 Lambda 서비스가 소유·관리하는 VPC 안에서 실행돼요. 이러한 VPC는 Lambda가 자동으로 유지 관리하며 고객에게 보이지 않아요. 함수가 Amazon VPC의 다른 AWS 리소스에 접근하도록 구성하는 것은 함수가 실행되는 Lambda 관리 VPC에는 영향을 주지 않습니다.
본문
Topics(주제)
- 필수 IAM 권한
- AWS 계정의 Amazon VPC에 Lambda 함수 연결
- VPC에 연결 시 인터넷 접근
- IPv6 지원
- Lambda와 Amazon VPC 사용 모범 사례
- Hyperplane 탄력적 네트워크 인터페이스(ENI) 이해
- VPC 설정용 IAM 조건 키 사용
- VPC 튜토리얼
필수 IAM 권한
AWS 계정의 Amazon VPC에 Lambda 함수를 연결하려면 Lambda가 함수에게 VPC의 리소스 접근 권한을 주는 데 사용하는 네트워크 인터페이스를 만들고 관리할 권한이 필요해요.
Lambda가 만드는 네트워크 인터페이스를 Hyperplane 탄력적 네트워크 인터페이스(Hyperplane ENI)라고 해요. 이 네트워크 인터페이스에 대해 자세히 알아보려면 Hyperplane 탄력적 네트워크 인터페이스(ENI) 이해를 참고하세요.
폼의 실행 역할에 AWS 관리형 정책 AWSLambdaVPCAccessExecutionRole을 연결하면 함수에 필요한 권한을 줄 수 있어요. Lambda 콘솔에서 새 함수를 만들고 VPC에 연결하면 Lambda가 이 권한 정책을 자동으로 추가해 줘요.
직접 IAM 권한 정책을 만들고 싶다면 다음 권한을 모두 추가하고 모든 리소스("Resource": "*")에 허용하세요:
- ec2:CreateNetworkInterface
- ec2:DescribeNetworkInterfaces
- ec2:DescribeSubnets
- ec2:DeleteNetworkInterface
- ec2:AssignPrivateIpAddresses
- ec2:UnassignPrivateIpAddresses
함수의 역할은 네트워크 인터페이스를 만들 때만 이 권한이 필요하며, 함수를 호출할 때는 필요하지 않아요. 함수를 Amazon VPC에 연결한 상태에서도 이 권한을 실행 역할에서 제거하면 함수를 계속 성공적으로 호출할 수 있습니다.
함수를 VPC에 연결하려면 Lambda는 여러분의 IAM 사용자 역할로 네트워크 리소스를 검증해야 해요. 사용자 역할에 다음 IAM 권한이 있는지 확인하세요:
- ec2:DescribeSecurityGroups
- ec2:DescribeSubnets
- ec2:DescribeVpcs
- ec2:GetSecurityGroupsForVpc
참고
함수의 실행 역할에 부여하는 Amazon EC2 권한은 Lambda 서비스가 함수를 VPC에 연결할 때 사용돼요. 하지만 이 권한들은 함수의 코드에도 암묵적으로 부여되므로, 함수 코드가 이러한 Amazon EC2 API 호출을 할 수 있게 되는 점에 유의하세요. 보안 모범 사례를 따르는 조언은 보안 모범 사례를 참고하세요.
AWS 계정의 Amazon VPC에 Lambda 함수 연결
Lambda 콘솔, AWS CLI 또는 AWS SAM으로 함수를 AWS 계정의 Amazon VPC에 연결하세요. AWS CLI나 AWS SAM을 사용하거나 Lambda 콘솔에서 기존 함수를 VPC에 연결하는 경우, 함수의 실행 역할에 이전 섹션에 나열된 필수 권한이 있는지 확인하세요.
Lambda 함수는 전용 인스턴스 테넌시(dedicated instance tenancy)가 있는 VPC에는 직접 연결할 수 없어요. 전용 VPC의 리소스에 연결하려면 기본 테넌시를 가진 두 번째 VPC와 피어링하세요.
[ Lambda 콘솔 ]
함수를 만들 때 Amazon VPC에 연결하기
-
Lambda 콘솔의 함수 페이지를 열고 Create function(함수 생성)을 선택합니다.
-
Basic information(기본 정보)에서 Function name(함수 이름)에 함수 이름을 입력합니다.
-
다음을 수행해 함수의 VPC 설정을 구성합니다:
- Advanced settings(고급 설정)를 펼칩니다.
- Enable VPC를 선택한 다음 함수를 연결할 VPC를 선택합니다.
- (선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 Allow IPv6 traffic for dual-stack subnets을 선택합니다.
- 네트워크 인터페이스를 만들 서브넷과 보안 그룹을 선택합니다. Allow IPv6 traffic for dual-stack subnets을 선택했다면 모든 선택된 서브넷에 IPv4 CIDR 블록과 IPv6 CIDR 블록이 있어야 해요.
참고
프라이빗 리소스에 접근하려면 함수를 프라이빗 서브넷에 연결하세요. 함수에 인터넷 접근이 필요하면 VPC 연결 Lambda 함수용 인터넷 접근 활성화를 참고하세요. 함수를 퍼블릭 서브넷에 연결해도 인터넷 접근이나 공개 IP 주소가 생기지 않아요.
-
Create function(함수 생성)을 선택합니다.
기존 함수를 Amazon VPC에 연결하기
-
Lambda 콘솔의 함수 페이지를 열고 함수를 선택합니다.
-
Configuration(구성) 탭을 선택한 다음 VPC를 선택합니다.
-
Edit(편집)을 선택합니다.
-
VPC 아래에서 함수를 연결할 Amazon VPC를 선택합니다.
-
(선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 Allow IPv6 traffic for dual-stack subnets을 선택합니다.
-
네트워크 인터페이스를 만들 서브넷과 보안 그룹을 선택합니다. Allow IPv6 traffic for dual-stack subnets을 선택했다면 모든 선택된 서브넷에 IPv4 CIDR 블록과 IPv6 CIDR 블록이 있어야 해요. 참고
프라이빗 리소스에 접근하려면 함수를 프라이빗 서브넷에 연결하세요. 함수에 인터넷 접근이 필요하면 VPC 연결 Lambda 함수용 인터넷 접근 활성화를 참고하세요. 함수를 퍼블릭 서브넷에 연결해도 인터넷 접근이나 공개 IP 주소가 생기지 않아요. -
Save(저장)을 선택합니다.
[ AWS CLI ]
함수를 만들 때 Amazon VPC에 연결하기
-
Lambda 함수를 만들고 VPC에 연결하려면 다음 CLI
create-function명령을 실행합니다.aws lambda create-function --function-name {{my-function}} \ --runtime {{nodejs24.x}} --handler {{index.js}} --zip-file {{fileb://function.zip}} \ --role {{arn:aws:iam::123456789012:role/lambda-role}} \ --vpc-config Ipv6AllowedForDualStack={{true}},SubnetIds={{subnet-071f712345678e7c8}},{{subnet-07fd123456788a036}},SecurityGroupIds={{sg-085912345678492fb}}자신의 서브넷과 보안 그룹을 지정하고 사용 사례에 따라
Ipv6AllowedForDualStack을true또는false로 설정하세요.
기존 함수를 Amazon VPC에 연결하기
-
기존 함수를 VPC에 연결하려면 다음 CLI
update-function-configuration명령을 실행합니다.aws lambda update-function-configuration --function-name {{my-function}} \ --vpc-config Ipv6AllowedForDualStack={{true}}, SubnetIds={{subnet-071f712345678e7c8}},{{subnet-07fd123456788a036}},SecurityGroupIds={{sg-085912345678492fb}}
함수를 VPC에서 분리하기
-
함수를 VPC에서 분리하려면 VPC 서브넷과 보안 그룹을 빈 목록으로 해 다음
update-function-configurationCLI 명령을 실행합니다.aws lambda update-function-configuration --function-name {{my-function}} \ --vpc-config SubnetIds=[],SecurityGroupIds=[]
[ AWS SAM ]
함수를 VPC에 연결하기
-
Lambda 함수를 Amazon VPC에 연결하려면 다음 예제 템플릿처럼 함수 정의에
VpcConfig속성을 추가하세요. 이 속성에 대한 자세한 내용은 CloudFormation 사용자 안내서의 AWS::Lambda::Function VpcConfig를 참고하세요(AWS SAMVpcConfig속성은 CloudFormationAWS::Lambda::Function리소스의VpcConfig속성에 직접 전달됩니다).AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./lambda_function/ Handler: lambda_function.handler Runtime: python3.12 VpcConfig: SecurityGroupIds: - !Ref MySecurityGroup SubnetIds: - !Ref MySubnet1 - !Ref MySubnet2 Policies: - AWSLambdaVPCAccessExecutionRole MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Security group for Lambda function VpcId: !Ref MyVPC MySubnet1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.1.0/24 MySubnet2: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.2.0/24 MyVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16AWS SAM에서 VPC를 구성하는 방법에 대한 자세한 내용은 CloudFormation 사용자 안내서의 AWS::EC2::VPC를 참고하세요.
VPC에 연결 시 인터넷 접근
기본적으로 Lambda 함수는 공개 인터넷에 접근할 수 있어요. 함수를 VPC에 연결하면 해당 VPC 내에서 사용 가능한 리소스에만 접근할 수 있게 되죠. 함수에 인터넷 접근을 주려면 VPC도 인터넷에 접근할 수 있도록 구성해야 해요. 자세한 내용은 VPC 연결 Lambda 함수용 인터넷 접근 활성화를 참고하세요.
IPv6 지원
함수는 듀얼 스택 VPC 서브넷의 리소스에 IPv6로 연결할 수 있어요. 이 옵션은 기본적으로 꺼져 있어요. 아웃바운드 IPv6 트래픽을 허용하려면 콘솔을 사용하거나 create-function 또는 update-function-configuration 명령에서 --vpc-config Ipv6AllowedForDualStack=true 옵션을 사용하세요.
참고
VPC에서 아웃바운드 IPv6 트래픽을 허용하려면 함수에 연결된 모든 서브넷이 듀얼 스택 서브넷이어야 해요. Lambda는 VPC의 IPv6 전용 서브넷에 대한 아웃바운드 IPv6 연결이나 VPC에 연결되지 않은 함수에 대한 아웃바운드 IPv6 연결을 지원하지 않아요.
함수 코드를 업데이트해 서브넷 리소스에 명시적으로 IPv6로 연결할 수 있어요. 다음 Python 예제는 소켓을 열어 IPv6 서버에 연결합니다.
예제 — IPv6 서버에 연결
def connect_to_server(event, context):
server_address = event['host']
server_port = event['port']
message = event['message']
run_connect_to_server(server_address, server_port, message)
def run_connect_to_server(server_address, server_port, message):
sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
try:
# Send data
sock.connect((server_address, int(server_port), 0, 0))
sock.sendall(message.encode())
BUFF_SIZE = 4096
data = b''
while True:
segment = sock.recv(BUFF_SIZE)
data += segment
# Either 0 or end of data
if len(segment) < BUFF_SIZE:
break
return data
finally:
sock.close()
Lambda와 Amazon VPC 사용 모범 사례
Lambda VPC 구성이 모범 사례 지침을 충족하도록 다음 섹션의 조언을 따르세요.
보안 모범 사례
Lambda 함수를 VPC에 연결하려면 함수의 실행 역할에 여러 Amazon EC2 권한을 부여해야 해요. 이 권한들은 함수가 VPC의 리소스에 접근하는 데 사용하는 네트워크 인터페이스를 만드는 데 필요해요. 하지만 이 권한들은 함수의 코드에도 암묵적으로 부여되므로, 함수 코드가 이러한 Amazon EC2 API 호출을 할 수 있게 되는 거죠.
최소 권한 접근 원칙을 따르려면 함수의 실행 역할에 다음 예제 같은 거부(deny) 정책을 추가하세요. 이 정책은 Lambda 서비스가 사용자를 대신해 VPC 리소스를 관리하게 두면서도, 함수 코드가 Amazon EC2 API를 호출하지 못하게 막아요. 정책은 실행 중 함수 코드가 하는 API 호출에만 적용되는 lambda:SourceFunctionArn 조건 키를 사용해요. 자세한 내용은 소스 함수 ARN으로 함수 접근 동작 제어를 참고하세요.
[ JSON ]
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeSubnets",
"ec2:DetachNetworkInterface",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses"
],
"Resource": [ "*" ],
"Condition": {
"ArnEquals": {
"lambda:SourceFunctionArn": [
"arn:aws:lambda:us-west-2:123456789012:function:my_function"
]
}
}
}
]
}
AWS는 VPC의 보안을 높이기 위해 보안 그룹(security groups) 과 네트워크 ACL(Access Control Lists) 을 제공해요. 보안 그룹은 리소스의 인바운드·아웃바운드 트래픽을 제어하고, 네트워크 ACL은 서브넷의 인바운드·아웃바운드 트래픽을 제어하죠. 보안 그룹은 대부분의 서브넷에 충분한 접근 제어를 제공해요. VPC에 추가 보안 계층을 원한다면 네트워크 ACL을 사용할 수 있어요. Amazon VPC 사용 시 보안 모범 사례에 대한 일반 지침은 Amazon Virtual Private Cloud 사용자 안내서의 VPC 보안 모범 사례를 참고하세요.
성능 모범 사례
함수를 VPC에 연결하면 Lambda는 연결하는 데 쓸 수 있는 사용 가능한 네트워크 리소스(Hyperplane ENI)가 있는지 확인해요. Hyperplane ENI는 특정 보안 그룹과 VPC 서브넷 조합에 연결되어 있어요. 이미 한 함수를 VPC에 연결했다면 다른 함수를 연결할 때 같은 서브넷과 보안 그룹을 지정하면 Lambda가 네트워크 리소스를 공유할 수 있어 새 Hyperplane ENI를 만들 필요가 없어요. Hyperplane ENI와 그 수명 주기에 대한 자세한 내용은 Hyperplane 탄력적 네트워크 인터페이스(ENI) 이해를 참고하세요.
Hyperplane 탄력적 네트워크 인터페이스(ENI) 이해
Hyperplane ENI는 Lambda 함수와 함수가 연결하려는 리소스 사이의 네트워크 인터페이스 역할을 하는 관리형 리소스예요. 함수를 VPC에 연결하면 Lambda 서비스가 이 ENI를 자동으로 만들고 관리해요.
Hyperplane ENI는 직접 보이지 않으며, 구성하거나 관리할 필요도 없어요. 하지만 이것이 어떻게 동작하는지 알면 함수를 VPC에 연결할 때 함수의 동작을 이해하는 데 도움이 됩니다.
특정 서브넷과 보안 그룹 조합으로 함수를 처음 VPC에 연결하면 Lambda가 Hyperplane ENI를 만들어요. 같은 서브넷과 보안 그룹 조합을 사용하는 계정의 다른 함수도 이 ENI를 쓸 수 있죠. Lambda는 가능하면 기존 ENI를 재사용해 리소스 사용률을 최적화하고 새 ENI 생성을 최소화해요. 각 Hyperplane ENI는 최대 65,000개의 연결/포트를 지원해요. 이 한도를 초과하면 Lambda는 네트워크 트래픽과 동시성 요구 사항에 따라 ENI 수를 자동으로 확장해요.
새 함수의 경우 Lambda가 Hyperplane ENI를 만드는 동안 함수는 Pending 상태로 남아 있어 호출할 수 없어요. Hyperplane ENI가 준비돼야 함수가 Active 상태로 전환되는데, 몇 분이 걸릴 수 있어요. 기존 함수의 경우 버전 생성이나 함수 코드 업데이트처럼 함수를 대상으로 하는 추가 작업은 할 수 없지만, 이전 버전의 함수는 계속 호출할 수 있어요.
ENI 수명 주기 관리의 일부로 Lambda는 네트워크 트래픽을 ENI 간에 로드 밸런싱하거나 ENI 상태 점검에서 발견된 문제를 해결하기 위해 ENI를 삭제·재생성할 수 있어요. 또한 Lambda 함수가 14일 동안 유휴 상태로 남으면 Lambda는 사용하지 않는 Hyperplane ENI를 회수하고 함수 상태를 Inactive로 설정해요. 다음 호출 시도는 실패하고, Lambda가 Hyperplane ENI 생성·할당을 완료할 때까지 함수는 다시 Pending 상태가 되죠. 설계가 ENI의 지속성에 의존하지 않기를 권장해요.
함수를 업데이트해 VPC 구성을 제거하면 Lambda는 연결된 Hyperplane ENI를 삭제하는 데 최대 20분이 걸려요. Lambda는 다른 함수(또는 게시된 함수 버전)가 해당 Hyperplane ENI를 사용하지 않을 때만 ENI를 삭제해요.
Lambda는 함수 실행 역할의 권한을 기반으로 Hyperplane ENI를 삭제해요. Lambda가 Hyperplane ENI를 삭제하기 전에 실행 역할을 삭제하면 Lambda가 Hyperplane ENI를 삭제할 수 없게 돼요. 이 경우 수동으로 삭제할 수 있습니다.
VPC 설정용 IAM 조건 키 사용
Lambda 특정 조건 키를 VPC 설정에 사용해 Lambda 함수에 추가 권한 제어를 제공할 수 있어요. 예를 들어 조직의 모든 함수가 VPC에 연결되도록 요구할 수 있죠. 또한 함수 사용자가 쓸 수 있고 쓸 수 없는 서브넷과 보안 그룹을 지정할 수도 있어요.
Lambda는 IAM 정책에서 다음 조건 키를 지원해요:
- lambda:VpcIds – 하나 이상의 VPC를 허용하거나 거부해요.
- lambda:SubnetIds – 하나 이상의 서브넷을 허용하거나 거부해요.
- lambda:SecurityGroupIds – 하나 이상의 보안 그룹을 허용하거나 거부해요.
Lambda API 작업 CreateFunction과 UpdateFunctionConfiguration은 이 조건 키들을 지원해요. IAM 정책에서 조건 키를 사용하는 방법에 대한 자세한 내용은 IAM 사용자 안내서의 IAM JSON 정책 요소: Condition을 참고하세요.
팁
함수에 이전 API 요청의 VPC 구성이 이미 포함되어 있다면 VPC 구성 없이 UpdateFunctionConfiguration 요청을 보낼 수 있어요.
VPC 설정용 조건 키가 있는 예제 정책
다음 예제는 VPC 설정용 조건 키를 사용하는 방법을 보여줘요. 원하는 제한이 있는 정책 문을 만든 뒤 대상 사용자나 역할에 정책 문을 추가하세요.
사용자가 VPC에 연결된 함수만 배포하도록 보장
모든 사용자가 VPC에 연결된 함수만 배포하도록 보장하려면 유효한 VPC ID를 포함하지 않는 함수 생성·업데이트 작업을 거부할 수 있어요.
VPC ID는 CreateFunction 또는 UpdateFunctionConfiguration 요청의 입력 매개변수가 아니라는 점에 유의하세요. Lambda는 서브넷과 보안 그룹 매개변수에 기반해 VPC ID 값을 가져와요.
[ JSON ]
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "EnforceVPCFunction",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Deny",
"Resource": "*",
"Condition": {
"Null": {
"lambda:VpcIds": "true"
}
}
}
]
}
사용자가 특정 VPC, 서브넷, 보안 그룹에 접근하는 것을 거부
특정 VPC에 대한 사용자 접근을 거부하려면 StringEquals로 lambda:VpcIds 조건 값을 확인하세요. 다음 예제는 사용자의 vpc-1과 vpc-2 접근을 거부해요.
[ JSON ]
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "EnforceOutOfVPC",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringEquals": {
"lambda:VpcIds": [
"vpc-1",
"vpc-2"
]
}
}
}
]
}
특정 서브넷에 대한 사용자 접근을 거부하려면 StringEquals로 lambda:SubnetIds 조건 값을 확인하세요. 다음 예제는 사용자의 subnet-1과 subnet-2 접근을 거부해요.
{
"Sid": "EnforceOutOfSubnet",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Deny",
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"lambda:SubnetIds": ["subnet-1", "subnet-2"]
}
}
}
특정 보안 그룹에 대한 사용자 접근을 거부하려면 StringEquals로 lambda:SecurityGroupIds 조건 값을 확인하세요. 다음 예제는 사용자의 sg-1과 sg-2 접근을 거부해요.
{
"Sid": "EnforceOutOfSecurityGroups",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Deny",
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"lambda:SecurityGroupIds": ["sg-1", "sg-2"]
}
}
}
]
}
사용자가 특정 VPC 설정으로 함수를 만들고 업데이트하도록 허용
특정 VPC 접근을 허용하려면 StringEquals로 lambda:VpcIds 조건 값을 확인하세요. 다음 예제는 사용자의 vpc-1과 vpc-2 접근을 허용해요.
[ JSON ]
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "EnforceStayInSpecificVpc",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringEquals": {
"lambda:VpcIds": [
"vpc-1",
"vpc-2"
]
}
}
}
]
}
특정 서브넷 접근을 허용하려면 StringEquals로 lambda:SubnetIds 조건 값을 확인하세요. 다음 예제는 사용자의 subnet-1과 subnet-2 접근을 허용해요.
{
"Sid": "EnforceStayInSpecificSubnets",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"ForAllValues:StringEquals": {
"lambda:SubnetIds": ["subnet-1", "subnet-2"]
}
}
}
특정 보안 그룹 접근을 허용하려면 StringEquals로 lambda:SecurityGroupIds 조건 값을 확인하세요. 다음 예제는 사용자의 sg-1과 sg-2 접근을 허용해요.
{
"Sid": "EnforceStayInSpecificSecurityGroup",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"ForAllValues:StringEquals": {
"lambda:SecurityGroupIds": ["sg-1", "sg-2"]
}
}
}
]
}
VPC 튜토리얼
다음 튜토리얼에서는 Lambda 함수를 VPC의 리소스에 연결해요.
- 튜토리얼: Lambda 함수를 사용해 Amazon VPC의 Amazon RDS 접근
- 튜토리얼: Lambda 함수를 구성해 Amazon VPC의 Amazon ElastiCache 접근
다른 AWS 계정이 소유한 VPC의 리소스에 함수를 연결하려면 Lambda 함수가 다른 계정의 Amazon VPC 리소스에 접근하도록 설정을 참고하세요.
더 알아보기 (Learn more)
- 함수를 VPC에 연결하는 필수 IAM 권한과 콘솔·CLI·SAM 연결 방법, Hyperplane ENI 수명 주기, VPC 조건 키 제어, 튜토리얼까지 다뤄 보세요.