VPC Lattice를 사용하는 서비스 생성 - Amazon Elastic Container Service

VPC Lattice를 사용하는 서비스 생성

AWS Management Console 또는 AWS CLI를 사용하여 VPC Lattice로 서비스를 생성할 수 있습니다.

사전 조건

이 자습서를 시작하기 전에 다음 사전 조건을 충족하는지 확인하세요.

AWS Management Console에서 VPC Lattice를 사용하는 서비스 생성

다음과 같은 단계에 따라 AWS Management Console을 사용하여 VPC Lattice로 서비스를 생성합니다.

  1. https://console.aws.amazon.com/ecs/v2에서 콘솔을 엽니다.

  2. 탐색 페이지에서 Clusters(클러스터)를 선택합니다.

  3. 클러스터 페이지에서 서비스를 생성할 클러스터를 선택합니다.

  4. Services(서비스) 탭에서 Create(생성)를 선택합니다.

    이전에 서비스를 생성한 적이 없는 경우 콘솔을 사용하여 Amazon ECS 서비스 생성에서 찾을 수 있는 단계를 따른 다음에 VPC Lattice 단원에 도달하면 다음과 같은 단계를 계속 진행합니다.

  5. 버튼을 선택하여 VPC Lattice 활성화를 선택합니다.

  6. Amazon ECS에 대한 ECS 인프라 역할에 대해 기존 역할을 사용하려면 VPC Lattice 대상 그룹을 생성할 때 이미 생성하여 사용하는 역할을 사용합니다. 새 역할을 생성하려면 ECS 인프라 역할을 생성합니다.

  7. VPC를 선택합니다.

    VPC는 태스크 정의를 등록할 때 선택한 네트워킹 모드에 따라 달라집니다. EC2 시작 유형에서 host 또는 network 모드를 사용하는 경우 VPC를 선택합니다.

    awsvpc 모드의 경우 네트워킹에서 선택한 VPC를 기반으로 VPC가 자동으로 선택되며 변경할 수 없습니다.

  8. 대상 그룹에서 대상 그룹 또는 그룹을 선택합니다. 대상 그룹을 하나 이상 선택해야 하며 최대 5개를 선택할 수 있습니다. 대상 그룹을 더 추가하려면 대상 그룹 추가를 선택합니다. 선택한 각 대상 그룹의 포트 이름, 프로토콜포트를 선택합니다. 대상 그룹을 삭제하려면 제거를 선택합니다.

    참고
    • 기존 대상 그룹을 추가하려면 AWS CLI를 사용해야 합니다. AWS CLI를 사용하여 대상 그룹을 추가하는 방법에 대한 지침은 AWS Command Line Interface 참조register-targets를 참조하세요.

    • VPC Lattice 서비스에는 여러 대상 그룹이 있을 수 있지만, 각 대상 그룹은 하나의 서비스에만 추가할 수 있습니다.

  9. 이제 VPC Lattice 콘솔로 이동하여 설정을 계속합니다. 여기에서는 리스너 기본 작업 또는 기존 VPC Lattice 서비스의 규칙에 새 대상 그룹을 포함합니다.

    자세한 내용은 VPC Lattice 서비스를 위한 리스너 규칙을 참조하세요.

중요

보안 그룹 또는 태스크에 대한 인바운드 규칙 vpc-lattice 접두사를 허용해야 하며, 상태 확인에 실패할 수 있습니다.

AWS CLI에서 VPC Lattice를 사용하는 서비스 생성

AWS CLI를 사용하여 VPC Lattice로 서비스를 생성합니다. user input placeholder를 사용자의 정보로 바꿉니다.

  1. 대상 그룹 구성 파일을 생성합니다. 다음은 tg-config.json이라는 예제입니다.

    { "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }
  2. 다음과 같은 명령을 사용하여 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" }
  3. 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