VPC Lattice를 사용하는 서비스 만들기
VPC Lattice를 사용하는 서비스 만들기
AWS Management Console 또는 AWS CLI를 사용해 VPC Lattice로 서비스를 만들 수 있어요.
출처: 문서
본문
전제 조건 이 튜토리얼을 시작하기 전에 다음 전제 조건이 충족되었는지 확인해 주세요.
- 최신 버전의 AWS CLI 가 설치되고 구성되어 있어야 해요. 자세한 내용은 Installing the AWS Command Line Interface 를 참고해 주세요.
- 참고: 듀얼 스택 서비스 엔드포인트를 사용해 IPv4와 IPv6 모두로 AWS CLI, SDK 및 Amazon ECS API에서 Amazon ECS와 상호 작용할 수 있어요. 자세한 내용은 Using Amazon ECS dual-stack endpoints 를 참고해 주세요.
- Set up to use Amazon ECS 에 설명된 단계가 완료되어 있어야 해요.
- IAM 사용자가 AmazonECS_FullAccess IAM 정책 예제에 지정된 필요한 권한을 보유하고 있어야 해요.
AWS Management Console로 VPC Lattice를 사용하는 서비스 만들기 다음 단계에 따라 AWS Management Console을 사용해 VPC Lattice로 서비스를 만들 수 있어요.
- https://console.aws.amazon.com/ecs/v2 에서 콘솔을 엽니다.
- 탐색 페이지에서 Clusters 를 선택합니다.
- Clusters 페이지에서 서비스를 만들 클러스터를 선택합니다.
- Services 탭에서 Create 를 선택합니다. 서비스를 만든 적이 없다면 Creating an Amazon ECS service using the console 의 단계를 따라간 다음, VPC Lattice 섹션에 도달하면 이 단계를 계속합니다.
- 버튼을 체크해 Turn on VPC Lattice 를 선택합니다.
- 기존 역할을 사용하려면 ECS infrastructure role for Amazon ECS 에서 VPC Lattice 대상 그룹을 만들 때 사용할 이미 만든 역할을 선택합니다. 새 역할을 만들려면 Create ECS infrastructure role 을 선택합니다.
- VPC 를 선택합니다. VPC는 태스크 정의를 등록할 때 선택한 네트워킹 모드에 따라 달라집니다. EC2에서 host 또는 network 모드를 사용한다면 VPC를 선택합니다.
awsvpc모드의 경우 Networking 아래에서 선택한 VPC를 기반으로 VPC가 자동 선택되며 변경할 수 없습니다. - Target Groups 에서 대상 그룹을 선택합니다. 대상 그룹을 하나 이상 선택해야 하며 최대 5개까지 가질 수 있습니다. Add target group 을 선택해 추가 대상 그룹을 추가합니다. 선택한 각 대상 그룹에 대해 Port name , Protocol , Port 를 선택합니다. 대상 그룹을 삭제하려면 Remove 를 선택합니다.
- 참고
- 기존 대상 그룹을 추가하려면 AWS CLI를 사용해야 합니다. AWS CLI로 대상 그룹을 추가하는 방법은 AWS Command Line Interface Reference 의 register-targets 를 참고해 주세요.
- VPC Lattice 서비스는 여러 대상 그룹을 가질 수 있지만, 각 대상 그룹은 하나의 서비스에만 추가할 수 있습니다.
- IPv6 전용 구성에서 서비스를 만들려면 IP 주소 유형이 IPv6 인 대상 그룹을 선택합니다.
- 참고
- 이 시점에서 VPC Lattice 콘솔로 이동해 설정을 계속합니다. 여기에서 새 대상 그룹을 리스너 기본 작업 또는 기존 VPC Lattice 서비스의 규칙에 포함합니다. 자세한 내용은 Listener rules for your VPC Lattice service 를 참고해 주세요.
- 중요
- 보안 그룹에
vpc-lattice접두사에 대한 인바운드 규칙을 허용해야 합니다. 그렇지 않으면 태스크와 상태 확인이 실패할 수 있습니다.
- 보안 그룹에
- 중요
AWS CLI로 VPC Lattice를 사용하는 서비스 만들기 AWS CLI를 사용해 VPC Lattice로 서비스를 만듭니다. 각 사용자 입력 자리 표시자를 내 정보로 바꿔 주세요.
- 대상 그룹 구성 파일을 만듭니다. 다음 예제는
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- 참고: IPv6 전용 구성에서 서비스를 만들려면 IP 주소 유형이
IPv6인 대상 그룹을 만듭니다. 자세한 내용은 AWS CLI Command Reference 의 create-target-group 을 참고해 주세요. - 예제 출력:
{ "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" } - 참고: IPv6 전용 구성에서 서비스를 만들려면 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 \ --serviceName ecs-service-vpc-lattice \ --cli-input-json file://ecs-service-vpc-lattice.json