VPC Lattice를 사용하는 서비스 생성
AWS Management Console 또는 AWS CLI를 사용하여 VPC Lattice로 서비스를 생성할 수 있습니다.
사전 조건
이 자습서를 시작하기 전에 다음 사전 조건을 충족하는지 확인하세요.
-
최신 버전의 AWS CLI가 설치 및 구성됩니다. 자세한 정보는 AWS Command Line Interface 설치 섹션을 참조하세요.
참고
듀얼 스택 서비스 엔드포인트를 사용하면 AWS CLI, SDK 및 Amazon ECS API에서 IPv4 및 IPv6 모두를 통해 Amazon ECS와 상호 작용할 수 있습니다. 자세한 내용은 Amazon ECS 듀얼 스택 엔드포인트 사용 섹션을 참조하세요.
-
Amazon ECS 사용 설정 섹션에 설명된 단계를 완료했습니다.
-
IAM 사용자는 AmazonECS_FullAccess IAM 정책 예제에 지정된 필수 권한을 가집니다.
AWS Management Console에서 VPC Lattice를 사용하는 서비스 생성
다음과 같은 단계에 따라 AWS Management Console을 사용하여 VPC Lattice로 서비스를 생성합니다.
https://console.aws.amazon.com/ecs/v2
에서 콘솔을 엽니다. -
탐색 페이지에서 Clusters(클러스터)를 선택합니다.
-
클러스터 페이지에서 서비스를 생성할 클러스터를 선택합니다.
-
Services(서비스) 탭에서 Create(생성)를 선택합니다.
이전에 서비스를 생성한 적이 없는 경우 콘솔을 사용하여 Amazon ECS 서비스 생성에서 찾을 수 있는 단계를 따른 다음에 VPC Lattice 단원에 도달하면 다음과 같은 단계를 계속 진행합니다.
-
버튼을 선택하여 VPC Lattice 활성화를 선택합니다.
-
Amazon ECS에 대한 ECS 인프라 역할에 대해 기존 역할을 사용하려면 VPC Lattice 대상 그룹을 생성할 때 이미 생성하여 사용하는 역할을 사용합니다. 새 역할을 생성하려면 ECS 인프라 역할을 생성합니다.
-
VPC를 선택합니다.
VPC는 태스크 정의를 등록할 때 선택한 네트워킹 모드에 따라 달라집니다. EC2 시작 유형에서
host
또는network
모드를 사용하는 경우 VPC를 선택합니다.awsvpc
모드의 경우 네트워킹에서 선택한 VPC를 기반으로 VPC가 자동으로 선택되며 변경할 수 없습니다. -
대상 그룹에서 대상 그룹 또는 그룹을 선택합니다. 대상 그룹을 하나 이상 선택해야 하며 최대 5개를 선택할 수 있습니다. 대상 그룹을 더 추가하려면 대상 그룹 추가를 선택합니다. 선택한 각 대상 그룹의 포트 이름, 프로토콜 및 포트를 선택합니다. 대상 그룹을 삭제하려면 제거를 선택합니다.
참고
-
기존 대상 그룹을 추가하려면 AWS CLI를 사용해야 합니다. AWS CLI를 사용하여 대상 그룹을 추가하는 방법에 대한 지침은 AWS Command Line Interface 참조의 register-targets를 참조하세요.
-
VPC Lattice 서비스에는 여러 대상 그룹이 있을 수 있지만, 각 대상 그룹은 하나의 서비스에만 추가할 수 있습니다.
-
-
이제 VPC Lattice 콘솔로 이동하여 설정을 계속합니다. 여기에서는 리스너 기본 작업 또는 기존 VPC Lattice 서비스의 규칙에 새 대상 그룹을 포함합니다.
자세한 내용은 VPC Lattice 서비스를 위한 리스너 규칙을 참조하세요.
중요
보안 그룹 또는 태스크에 대한 인바운드 규칙 vpc-lattice
접두사를 허용해야 하며, 상태 확인에 실패할 수 있습니다.
AWS CLI에서 VPC Lattice를 사용하는 서비스 생성
AWS CLI를 사용하여 VPC Lattice로 서비스를 생성합니다. user input placeholder
를 사용자의 정보로 바꿉니다.
-
대상 그룹 구성 파일을 생성합니다. 다음은
tg-config.json
이라는 예제입니다.{ "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "
vpc-f1663d9868EXAMPLE
" } -
다음과 같은 명령을 사용하여 VPC Lattice 대상 그룹을 생성합니다.
aws vpc-lattice create-target-group \ --name my-lattice-target-group-ip \ --type IP \ --config file://
tg-config.json
출력 예시:
{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "healthCheck": { "enabled": true, "healthCheckIntervalSeconds": 30, "healthCheckTimeoutSeconds": 5, "healthyThresholdCount": 5, "matcher": { "httpCode": "200" }, "path": "/", "protocol": "HTTPS", "protocolVersion": "HTTP1", "unhealthyThresholdCount": 2 }, "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-ip", "status": "CREATE_IN_PROGRESS", "type": "IP" }
-
ecs-service-vpc-lattice.json
이라는 다음과 같은 JSON 파일은 Amazon ECS 서비스를 VPC Lattice 대상 그룹에 연결하는 데 사용하는 예제입니다. 아래 예제의portName
은 태스크 정의의portMappings
속성의name
필드에 정의한 것과 동일합니다.{ "serviceName": "
ecs-service-vpc-lattice
", "taskDefinition": "ecs-task-def
", "vpcLatticeConfigurations": [ { "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012
:targetgroup/tg-0eaa4b9ab4EXAMPLE
", "portName": "testvpclattice
", "roleArn": "arn:aws:iam::123456789012
:role/ecsInfrastructureRoleVpcLattice" } ], "desiredCount":5
, "role": "ecsServiceRole
" }다음과 같은 명령을 사용하여 Amazon ECS 서비스를 생성하고 위의 json 예제를 사용하여 VPC Lattice 대상 그룹에 연결합니다.
aws ecs create-service \ --cluster
clusterName
\ --serviceNameecs-service-vpc-lattice
\ --cli-input-json file://ecs-service-vpc-lattice.json