기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK 또는 CLI와 CreateVpcEndpoint 함께 사용
다음 코드 예시는 CreateVpcEndpoint의 사용 방법을 보여 줍니다.
작업 예제는 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 다음 코드 예제에서는 컨텍스트 내에서 이 작업을 확인할 수 있습니다.
- CLI
-
- AWS CLI
-
예시 1: 게이트웨이 엔드포인트 생성
다음
create-vpc-endpoint예시에서는 VPCvpc-1a2b3c4d와us-east-1리전의 Amazon S3 사이에 게이트웨이 VPC 엔드포인트를 생성하고 라우팅 테이블rtb-11aa22bb를 엔드포인트와 연결합니다.aws ec2 create-vpc-endpoint \ --vpc-idvpc-1a2b3c4d\ --service-namecom.amazonaws.us-east-1.s3\ --route-table-idsrtb-11aa22bb출력:
{ "VpcEndpoint": { "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"\*\",\"Action\":\"\*\",\"Resource\":\"\*\"}]}", "VpcId": "vpc-1a2b3c4d", "State": "available", "ServiceName": "com.amazonaws.us-east-1.s3", "RouteTableIds": [ "rtb-11aa22bb" ], "VpcEndpointId": "vpc-1a2b3c4d", "CreationTimestamp": "2015-05-15T09:40:50Z" } }자세한 내용은 AWS PrivateLink 설명서의 게이트웨이 엔드포인트 생성을 참조하세요.
예시 2: 인터페이스 엔드포인트 생성
다음
create-vpc-endpoint예시에서는us-east-1리전의 VPCvpc-1a2b3c4d와 Amazon S3 사이에 인터페이스 VPC 엔드포인트를 생성합니다. 이 명령은subnet-1a2b3c4d서브넷에 엔드포인트를 만들고sg-1a2b3c4d보안 그룹에 연결한 다음 키가 'Service'이고 값이 'S3'인 태그를 추가합니다.aws ec2 create-vpc-endpoint \ --vpc-idvpc-1a2b3c4d\ --vpc-endpoint-typeInterface\ --service-namecom.amazonaws.us-east-1.s3\ --subnet-idssubnet-7b16de0c\ --security-group-idsg-1a2b3c4d\ --tag-specificationsResourceType=vpc-endpoint,Tags=[{Key=service,Value=S3}]출력:
{ "VpcEndpoint": { "VpcEndpointId": "vpce-1a2b3c4d5e6f1a2b3", "VpcEndpointType": "Interface", "VpcId": "vpc-1a2b3c4d", "ServiceName": "com.amazonaws.us-east-1.s3", "State": "pending", "RouteTableIds": [], "SubnetIds": [ "subnet-1a2b3c4d" ], "Groups": [ { "GroupId": "sg-1a2b3c4d", "GroupName": "default" } ], "PrivateDnsEnabled": false, "RequesterManaged": false, "NetworkInterfaceIds": [ "eni-0b16f0581c8ac6877" ], "DnsEntries": [ { "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg.s3.us-east-1.vpce.amazonaws.com", "HostedZoneId": "Z7HUB22UULQXV" }, { "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg-us-east-1c.s3.us-east-1.vpce.amazonaws.com", "HostedZoneId": "Z7HUB22UULQXV" } ], "CreationTimestamp": "2021-03-05T14:46:16.030000+00:00", "Tags": [ { "Key": "service", "Value": "S3" } ], "OwnerId": "123456789012" } }자세한 내용은 AWS PrivateLink 사용 설명서의 인터페이스 VPC 엔드포인트 생성을 참조하세요.
예시 3: Gateway Load Balancer 엔드포인트 생성
다음
create-vpc-endpoint예시에서는 VPCvpc-111122223333aabbc와 Gateway Load Balancer를 사용하여 구성된 서비스 사이에 Gateway Load Balancer 엔드포인트를 생성합니다.aws ec2 create-vpc-endpoint \ --service-namecom.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123\ --vpc-endpoint-typeGatewayLoadBalancer\ --vpc-idvpc-111122223333aabbc\ --subnet-idssubnet-0011aabbcc2233445출력:
{ "VpcEndpoint": { "VpcEndpointId": "vpce-aabbaabbaabbaabba", "VpcEndpointType": "GatewayLoadBalancer", "VpcId": "vpc-111122223333aabbc", "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", "State": "pending", "SubnetIds": [ "subnet-0011aabbcc2233445" ], "RequesterManaged": false, "NetworkInterfaceIds": [ "eni-01010120203030405" ], "CreationTimestamp": "2020-11-11T08:06:03.522Z", "OwnerId": "123456789012" } }자세한 내용은 AWS PrivateLink 사용 설명서의 Gateway Load Balancer 엔드포인트를 참조하세요.
예제 4: 리소스 엔드포인트 만들기
다음
create-vpc-endpoint예제에서는 리소스 엔드포인트를 만듭니다.aws ec2 create-vpc-endpoint \ --vpc-endpoint-typeResource\ --vpc-idvpc-111122223333aabbc\ --subnet-idssubnet-0011aabbcc2233445\ --resource-configuration-arnarn:aws:vpc-lattice-us-east-1:123456789012:resourceconfiguration/rcfg-0123abcde98765432출력:
{ "VpcEndpoint": { "VpcEndpointId": "vpce-00939a7ed9EXAMPLE", "VpcEndpointType": "Resource", "VpcId": "vpc-111122223333aabbc", "State": "Pending", "SubnetIds": [ "subnet-0011aabbcc2233445" ], "Groups": [ { "GroupId": "sg-03e2f15fbfc09b000", "GroupName": "default" } ], "IpAddressType": "IPV4", "PrivateDnsEnabled": false, "CreationTimestamp": "2025-02-06T23:38:49.525000+00:00", "Tags": [], "OwnerId": "123456789012", "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0123abcde98765432" } }자세한 내용은 AWS PrivateLink 사용 설명서의 리소스 엔드포인트를 참조하시기 바랍니다.
예제 5: 서비스 네트워크 엔드포인트 만들기
다음
create-vpc-endpoint예제에서는 서비스 네트워크 엔드포인트를 만듭니다.aws ec2 create-vpc-endpoint \ --vpc-endpoint-typeServiceNetwork\ --vpc-idvpc-111122223333aabbc\ --subnet-idssubnet-0011aabbcc2233445\ --service-network-arnarn:aws:vpc-lattice:us-east-1:123456789012:servicenetwork/sn-0101abcd5432abcd0\ --security-group-idssg-0123456789012abcd출력:
{ "VpcEndpoint": { "VpcEndpointId": "vpce-0f00567fa8EXAMPLE", "VpcEndpointType": "ServiceNetwork", "VpcId": "vpc-111122223333aabbc", "State": "Pending", "SubnetIds": [ "subnet-0011aabbcc2233445" ], "Groups": [ { "GroupId": "sg-0123456789012abcd", "GroupName": "my-security-group" } ], "IpAddressType": "IPV4", "PrivateDnsEnabled": false, "CreationTimestamp": "2025-02-06T23:44:20.449000+00:00", "Tags": [], "OwnerId": "123456789012", "ServiceNetworkArn": "arn:aws:vpc-lattice:us-east-1:123456789012:servicenetwork/sn-0101abcd5432abcd0" } }자세한 내용은 AWS PrivateLink 사용 설명서의 Service network endpoints를 참조하시기 바랍니다.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateVpcEndpoint
섹션을 참조하세요.
-
- PHP
-
- SDK for PHP
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. /** * @param string $serviceName * @param string $vpcId * @param array $routeTableIds * @return array */ public function createVpcEndpoint(string $serviceName, string $vpcId, array $routeTableIds): array { try { $result = $this->ec2Client->createVpcEndpoint([ 'ServiceName' => $serviceName, 'VpcId' => $vpcId, 'RouteTableIds' => $routeTableIds, ]); return $result["VpcEndpoint"]; } catch(Ec2Exception $caught){ echo "There was a problem creating the VPC Endpoint: {$caught->getAwsErrorMessage()}\n"; throw $caught; } }-
API 세부 정보는 API 참조의 CreateVpcEndpointAWS SDK for PHP 를 참조하세요.
-
- PowerShell
-
- Tools for PowerShell V4
-
예제 1:이 예제에서는 VPC vpc-0fc1ff23f45b678eb의 서비스 com.amazonaws.eu-west-1.s3에 대한 새 VPC 엔드포인트를 생성합니다.
New-EC2VpcEndpoint -ServiceName com.amazonaws.eu-west-1.s3 -VpcId vpc-0fc1ff23f45b678eb출력:
ClientToken VpcEndpoint ----------- ----------- Amazon.EC2.Model.VpcEndpoint-
API 세부 정보는 Cmdlet 참조(V4)의 CreateVpcEndpoint를 참조하세요. AWS Tools for PowerShell
-
- Tools for PowerShell V5
-
예제 1:이 예제에서는 VPC vpc-0fc1ff23f45b678eb의 서비스 com.amazonaws.eu-west-1.s3에 대한 새 VPC 엔드포인트를 생성합니다.
New-EC2VpcEndpoint -ServiceName com.amazonaws.eu-west-1.s3 -VpcId vpc-0fc1ff23f45b678eb출력:
ClientToken VpcEndpoint ----------- ----------- Amazon.EC2.Model.VpcEndpoint-
API 세부 정보는 Cmdlet 참조(V5)의 CreateVpcEndpoint를 참조하세요. AWS Tools for PowerShell
-
- Python
-
- SDK for Python (Boto3)
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. class VpcWrapper: """Encapsulates Amazon Elastic Compute Cloud (Amazon EC2) Amazon Virtual Private Cloud actions.""" def __init__(self, ec2_client: boto3.client): """ Initializes the VpcWrapper with an EC2 client. :param ec2_client: A Boto3 Amazon EC2 client. This client provides low-level access to AWS EC2 services. """ self.ec2_client = ec2_client @classmethod def from_client(cls) -> "VpcWrapper": """ Creates a VpcWrapper instance with a default EC2 client. :return: An instance of VpcWrapper initialized with the default EC2 client. """ ec2_client = boto3.client("ec2") return cls(ec2_client) def create_vpc_endpoint( self, vpc_id: str, service_name: str, route_table_ids: list[str] ) -> Dict[str, Any]: """ Creates a new VPC endpoint for the specified service and associates it with the specified route tables. :param vpc_id: The ID of the VPC to create the endpoint in. :param service_name: The name of the service to create the endpoint for. :param route_table_ids: A list of IDs of the route tables to associate with the endpoint. :return: A dictionary representing the newly created VPC endpoint. """ try: response = self.ec2_client.create_vpc_endpoint( VpcId=vpc_id, ServiceName=service_name, RouteTableIds=route_table_ids, ) return response["VpcEndpoint"] except ClientError as err: logger.error( "Couldn't create VPC endpoint for service %s. Here's why: %s: %s", service_name, err.response["Error"]["Code"], err.response["Error"]["Message"], ) raise-
API 세부 정보는 SDK for Python (Boto3) API 참조의 CreateVpcEndpoint를 참조하세요. AWS
-
AWS SDK 개발자 안내서 및 코드 예제의 전체 목록은 섹션을 참조하세요AWS SDK를 사용하여 Amazon EC2 리소스 생성. 이 주제에는 시작하기에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.