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로 서비스를 만들 수 있어요.

  1. https://console.aws.amazon.com/ecs/v2 에서 콘솔을 엽니다.
  2. 탐색 페이지에서 Clusters 를 선택합니다.
  3. Clusters 페이지에서 서비스를 만들 클러스터를 선택합니다.
  4. Services 탭에서 Create 를 선택합니다. 서비스를 만든 적이 없다면 Creating an Amazon ECS service using the console 의 단계를 따라간 다음, VPC Lattice 섹션에 도달하면 이 단계를 계속합니다.
  5. 버튼을 체크해 Turn on VPC Lattice 를 선택합니다.
  6. 기존 역할을 사용하려면 ECS infrastructure role for Amazon ECS 에서 VPC Lattice 대상 그룹을 만들 때 사용할 이미 만든 역할을 선택합니다. 새 역할을 만들려면 Create ECS infrastructure role 을 선택합니다.
  7. VPC 를 선택합니다. VPC는 태스크 정의를 등록할 때 선택한 네트워킹 모드에 따라 달라집니다. EC2에서 host 또는 network 모드를 사용한다면 VPC를 선택합니다. awsvpc 모드의 경우 Networking 아래에서 선택한 VPC를 기반으로 VPC가 자동 선택되며 변경할 수 없습니다.
  8. 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 인 대상 그룹을 선택합니다.
  9. 이 시점에서 VPC Lattice 콘솔로 이동해 설정을 계속합니다. 여기에서 새 대상 그룹을 리스너 기본 작업 또는 기존 VPC Lattice 서비스의 규칙에 포함합니다. 자세한 내용은 Listener rules for your VPC Lattice service 를 참고해 주세요.
    • 중요
      • 보안 그룹에 vpc-lattice 접두사에 대한 인바운드 규칙을 허용해야 합니다. 그렇지 않으면 태스크와 상태 확인이 실패할 수 있습니다.

AWS CLI로 VPC Lattice를 사용하는 서비스 만들기 AWS CLI를 사용해 VPC Lattice로 서비스를 만듭니다. 각 사용자 입력 자리 표시자를 내 정보로 바꿔 주세요.

  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
    
    • 참고: 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"
    }
    
  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"
    }
    
  4. 다음 명령을 사용해 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
    

더 알아보기 (Learn more)