

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# VPC Lattice의 대상 그룹
<a name="target-groups"></a>

VPC Lattice 대상 그룹은 애플리케이션 또는 서비스를 실행하는 대상 또는 컴퓨팅 리소스의 모음입니다. 지원되는 대상 유형에는 EC2 인스턴스, IP 주소, Lambda 함수, Application Load Balancer, Amazon ECS 작업 및 Kubernetes 포드가 포함됩니다. 기존 서비스를 대상 그룹에 연결할 수도 있습니다. VPC Lattice에서 Kubernetes를 사용하는 방법에 대한 자세한 내용은 [AWS 게이트웨이 API 컨트롤러 사용 설명서](https://www.gateway-api-controller.eks.aws.dev/)를 참조하세요.

각 *대상 그룹*은 하나 이상의 등록된 대상에 요청을 라우팅하는 데 사용됩니다. 리스너 규칙을 생성할 때 대상 그룹 및 조건을 지정합니다. 규칙 조건이 충족되면 해당하는 대상 그룹으로 트래픽이 전달됩니다. 서로 다른 유형의 요청에 대해 서로 다른 대상 그룹을 생성할 수 있습니다. 예를 들어, 일반 요청을 위한 하나의 대상 그룹을 생성하고 경로나 헤더 값과 같은 특정 규칙 조건을 포함하는 요청에 대해 다른 대상 그룹을 생성합니다.

![\[리스너, 리스너 규칙, 그리고 두 개의 대상 그룹이 있는 서비스입니다.\]](http://docs.aws.amazon.com/ko_kr/vpc-lattice/latest/ug/images/service.png)


대상 그룹 기준으로 서비스에 대한 상태 확인 설정을 정의합니다. 대상 그룹을 만들거나 나중에 변경할 때 재정의하지 않는 이상 각 대상 그룹은 기본 상태 확인 설정을 사용합니다. 리스너에 대한 규칙에 대상 그룹을 지정한 후, 서비스는 대상 그룹에 등록된 모든 대상의 상태를 지속적으로 모니터링합니다. 서비스는 정상 상태로 등록된 대상으로 요청을 라우팅합니다.

서비스 리스너에 대한 규칙에서 대상 그룹을 지정하려면 대상 그룹이 서비스와 동일한 계정에 있어야 합니다.

VPC Lattice 대상 그룹은 Elastic Load Balancing에서 제공하는 대상 그룹과 비슷하지만 서로 바꿔서 사용할 수는 없습니다.

**Topics**
+ [대상 그룹 생성](create-target-group.md)
+ [대상 등록](register-targets.md)
+ [상태 확인 구성](target-group-health-checks.md)
+ [라우팅 구성](#target-group-routing-configuration)
+ [라우팅 알고리즘](#target-group-routing-algorithm)
+ [대상 유형](#target-type)
+ [IP 주소 유형](#target-group-ip-address-type)
+ [HTTP 대상](http-targets.md)
+ [Lambda 함수를 대상으로 사용](lambda-functions.md)
+ [대상인 Application Load Balancer](alb-target.md)
+ [프로토콜 버전](#target-group-protocol-version)
+ [태그 업데이트](target-group-tags.md)
+ [대상 그룹 삭제](delete-target-group.md)

# VPC Lattice 대상 그룹 생성
<a name="create-target-group"></a>

대상 그룹에 대상을 등록합니다. 기본적으로 VPC Lattice 서비스는 대상 그룹에 대해 지정한 프로토콜과 포트 번호를 사용하여 등록된 대상으로 요청을 전송합니다. 또는 대상 그룹에 각 대상을 등록할 때 이 포트를 재정의할 수 있습니다.

대상 그룹의 대상으로 트래픽을 라우팅하려면 리스너 또는 리스너에 대한 규칙을 생성할 때 작업에 대상 그룹을 지정합니다. 자세한 내용은 [VPC Lattice 서비스를 위한 리스너 규칙](listener-rules.md) 단원을 참조하십시오. 여러 리스너에서 동일한 대상 그룹을 지정할 수 있지만, 이러한 리스너는 동일한 서비스에 속해야 합니다. 대상 그룹을 서비스와 함께 사용하려면 대상 그룹이 다른 서비스용으로 리스너에서 사용되고 있지 않은지 확인해야 합니다.

언제든지 대상 그룹에서 대상을 추가하거나 삭제할 수 있습니다. 자세한 내용은 [VPC Lattice 대상 그룹에 대상 등록](register-targets.md) 단원을 참조하십시오. 대상 그룹에 대한 상태 확인 설정을 변경할 수도 있습니다. 자세한 내용은 [VPC Lattice 대상 그룹에 대한 상태 확인](target-group-health-checks.md) 단원을 참조하십시오.

## 대상 그룹 생성
<a name="create-lattice-target-group"></a>

다음과 같이 대상 그룹을 생성하고 필요할 경우 대상을 등록할 수 있습니다.

**콘솔을 사용하여 대상 그룹을 생성하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. **대상 그룹 생성**을 선택합니다.

1. **대상 유형 선택**으로 다음 중 하나를 선택합니다.
   + 인스턴스 ID로 대상을 등록하려면 **인스턴스**를 선택합니다.
   + IP 주소로 대상을 등록하려면 **IP 주소**를 선택합니다.
   + Lambda 함수를 대상으로 등록하려면 **Lambda 함수**를 선택합니다.
   + Application Load Balancer를 대상으로 등록하려면 **Application Load Balancer**를 선택합니다.

1. **대상 그룹 이름**에 대상 그룹의 이름을 입력합니다. 이 이름은 각 AWS 리전의 계정에 대해 고유해야 하며, 최대 32자여야 하고, 영숫자 또는 하이픈만 포함해야 하며, 하이픈으로 시작하거나 끝나지 않아야 합니다.

1. (선택 사항) **프로토콜**과 **포트**에서 필요에 따라 기본값을 변경합니다. 기본 프로토콜은 **HTTPS**이고 기본 포트는 **443**입니다.

   대상 유형이 **Lambda 함수**인 경우 프로토콜이나 포트를 지정할 수 없습니다.

1. **IP 주소 유형**에서 **IPv4**를 선택하여 대상을 IPv4 주소로 등록하거나 **IPv6**를 선택하여 대상을 IPv6 주소로 등록합니다. 대상 그룹을 생성한 후에는 이 설정을 변경할 수 없습니다.

   이 옵션은 대상 유형이 **IP 주소**인 경우에 사용할 수 있습니다.

1. **VPC**에서 Virtual Private Cloud(VPC)를 선택합니다.

   대상 유형이 **Lambda 함수**인 경우 이 옵션을 사용할 수 없습니다.

1. (선택 사항) **프로토콜 버전**에서 필요에 따라 기본값을 수정합니다. 기본값은 **HTTP1**입니다.

   대상 유형이 **Lambda 함수**인 경우 이 옵션을 사용할 수 없습니다.

1. **상태 확인**에서 필요에 따라 기본 설정을 수정합니다. 자세한 내용은 [VPC Lattice 대상 그룹에 대한 상태 확인](target-group-health-checks.md) 단원을 참조하십시오.

   대상 유형이 **Lambda 함수**인 경우 상태 확인을 사용할 수 없습니다.

1. **Lambda 이벤트 구조 버전**에서 버전을 선택합니다. 자세한 내용은 [VPC Lattice 서비스에서 이벤트 수신](lambda-functions.md#receive-event-from-service) 단원을 참조하십시오.

   이 옵션은 대상 유형이 **Lambda 함수**인 경우에만 사용할 수 있습니다.

1. (선택 사항) 태그를 추가하려면 **태그**를 확장하고 **새 태그 추가**를 선택하고 태그 키와 태그 값을 입력합니다.

1. **다음**을 선택합니다.

1. **대상 등록**에서 이 단계를 건너뛰거나 다음과 같이 대상을 추가할 수 있습니다.
   + 대상 유형이 **인스턴스**인 경우 인스턴스를 선택하고 포트를 입력한 다음 **아래에 보류 중인 것으로 포함**을 선택합니다.
   + 대상 유형이 **IP 주소**인 경우 다음을 수행합니다.

     1. **네트워크 선택**에서 대상 그룹에 대해 선택한 VPC를 그대로 유지하거나 **기타 프라이빗 IP 주소**를 선택합니다.

     1. **IP 지정 및 포트 정의**에서 IP 주소를 입력하고 포트를 입력합니다. 기본 포트는 대상 그룹 포트입니다.

     1. **아래에서 보류 중인 것으로 포함**을 선택하세요.
   + 대상 유형이 **Lambda 함수**인 경우 Lambda 함수를 선택합니다. Lambda 함수를 생성하려면 **새 Lambda 함수 생성**을 선택합니다.
   + 대상 유형이 **Application Load Balancer**인 경우 Application Load Balancer를 선택합니다. Application Load Balancer를 생성하려면 **Application Load Balancer 생성**을 선택합니다.

1. **대상 그룹 생성**을 선택합니다.

   VPC Lattice가 대상을 등록하는 데 몇 분 정도 걸릴 수 있습니다. 자세한 내용은 [Route 53 및 퍼블릭 해석기에서 DNS 변경 사항이 전파되는 데 시간이 오래 걸리는 이유는 무엇인가요?](https://repost.aws/knowledge-center/route-53-propagate-dns-changes)를 참조하세요.

**를 사용하여 대상 그룹을 생성하려면 AWS CLI**  
[create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) 명령을 사용하여 대상 그룹을 생성하고 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 명령을 사용하여 대상을 추가합니다.

## 공유 서브넷
<a name="target-group-shared-subnets"></a>

참여자는 공유 VPC에서 VPC Lattice 대상 그룹을 생성할 수 있습니다. 공유 서브넷에는 다음 규칙이 적용됩니다.
+ 리스너, 대상 그룹, 대상 등 VPC Lattice 서비스의 모든 부분을 동일한 계정에서 생성해야 합니다. VPC Lattice 서비스 소유자가 소유하거나 소유자와 공유하는 서브넷에서 생성할 수 있습니다.
+ 대상 그룹에 등록된 대상은 대상 그룹과 동일한 계정에서 생성해야 합니다.
+ VPC 소유자만 VPC를 서비스 네트워크와 연결할 수 있습니다. 서비스 네트워크와 연결된 공유 VPC의 참여자 리소스는 서비스 네트워크와 연결된 서비스에 요청을 보낼 수 있습니다. 하지만 관리자는 보안 그룹, 네트워크 ACL 또는 인증 정책을 사용하여 이를 방지할 수 있습니다.

VPC Lattice의 공유 가능한 리소스에 대한 자세한 내용은 [VPC Lattice 엔터티 공유](sharing.md) 섹션을 참조하세요.

# VPC Lattice 대상 그룹에 대상 등록
<a name="register-targets"></a>

서비스는 클라이언트에 대해 단일 접점의 역할을 하며 정상적으로 등록된 대상 간에 수신 트래픽을 자동으로 분산합니다. 하나 이상의 대상 그룹에 각 대상을 등록할 수 있습니다.

애플리케이션에 대한 요구가 증가하면 이를 처리하기 위해 하나 이상의 대상 그룹에 추가 대상을 등록할 수 있습니다. 서비스는 등록 프로세스가 완료되고 대상이 초기 상태 확인을 통과하자마자 새로 등록된 대상에 대한 라우팅 요청을 시작합니다.

애플리케이션에 대한 요구가 감소하거나 대상을 서비스해야 하는 경우에는 대상 그룹에서 대상 등록을 취소할 수 있습니다. 대상을 등록 취소하면 대상 그룹에서 제거되지만 대상에 영향을 미치지는 않습니다. 등록이 취소되는 즉시 서비스는 대상으로의 요청 라우팅을 중지합니다. 진행 중인 요청이 완료될 때까지 해당 대상은 `DRAINING` 상태를 유지합니다. 요청 수신을 다시 시작할 준비가 되면 대상 그룹에 대상을 다시 등록할 수 있습니다.

대상 그룹의 대상 유형에 따라 해당 대상 그룹에 대상을 등록하는 방법이 결정됩니다. 자세한 내용은 [대상 유형](target-groups.md#target-type) 단원을 참조하십시오.

다음 콘솔 절차를 사용하여 대상을 등록하거나 등록 취소합니다. 또한 AWS CLI의 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 및 [deregister-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/deregister-targets.html) 명령을 사용할 수 있습니다.

**Topics**
+ [인스턴스 ID로 대상 등록 또는 등록 취소](#register-instances)
+ [IP 주소로 대상 등록 또는 등록 취소](#register-ip-addresses)
+ [Lambda 함수 등록 또는 등록 취소](#register-lambda-function)
+ [Application Load Balancer 등록 또는 등록 취소](#register-alb)

## 인스턴스 ID로 대상 등록 또는 등록 취소
<a name="register-instances"></a>

대상 인스턴스는 대상 그룹에 대해 지정한 Virtual Private Cloud(VPC)에 있어야 합니다. 또한 인스턴스를 등록할 때 인스턴스가 `running` 상태여야 합니다.

인스턴스 ID로 대상을 등록하는 경우 오토 스케일링에 서비스를 사용할 수 있습니다. 오토 스케일링에 대상 그룹을 연결하고 해당 그룹이 확장되면, 오토 스케일링에서 시작한 인스턴스가 대상 그룹에 자동으로 등록됩니다. 오토 스케일링에서 대상 그룹을 분리하면 인스턴스가 대상 그룹에서 자동으로 등록 취소됩니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*에서 [VPC Lattice 대상 그룹과 함께 오토 스케일링으로 트래픽 라우팅](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-vpc-lattice.html)을 참조하세요.

**콘솔을 사용하여 인스턴스 ID별로 대상을 등록 또는 등록 취소하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭을 선택합니다.

1. 인스턴스를 등록하려면 **대상 등록**을 선택합니다. 인스턴스를 선택하고 포트를 입력한 다음 **아래에 보류 중인 것으로 포함**을 선택합니다. 인스턴스 추가를 마쳤으면 **대상 등록**을 선택합니다.

1. 인스턴스의 등록을 취소하려면 인스턴스를 선택한 다음 **등록 취소**를 선택합니다.

## IP 주소로 대상 등록 또는 등록 취소
<a name="register-ip-addresses"></a>

대상 IP 주소는 대상 그룹에 대해 지정한 VPC 서브넷에서 가져와야 합니다. 동일한 VPC에 다른 서비스의 IP 주소는 등록할 수 없습니다. VPC 엔드포인트 또는 공개적으로 라우팅 가능한 IP 주소는 등록할 수 없습니다.

**콘솔을 사용하여 IP 주소로 대상을 등록 또는 등록 취소하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭을 선택합니다.

1. IP 주소를 등록하려면 **대상 등록**을 선택합니다. 각 IP 주소에 대해 네트워크를 선택하고 IP 주소 및 포트를 입력한 다음 **아래에 보류 중인 것으로 포함**을 선택합니다. 주소 지정을 마치면 **대상 등록**을 선택합니다.

1. IP 주소의 등록을 취소하려면 IP 주소를 선택한 다음 **등록 취소**를 선택합니다.

## Lambda 함수 등록 또는 등록 취소
<a name="register-lambda-function"></a>

대상 그룹에 단일 Lambda 함수를 등록할 수 있습니다. 트래픽을 Lambda 함수에 더 이상 전송할 필요가 없는 경우 해당 함수의 등록을 취소할 수 있습니다. Lambda 함수의 등록을 취소한 후에는 처리 중인 요청이 HTTP 5XX 오류와 함께 실패합니다. 대상 그룹에 대한 Lambda 함수를 바꾸는 대신 새 대상 그룹을 생성하는 것이 더 좋습니다.

**콘솔을 사용하여 Lambda 함수를 등록 또는 등록 취소하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭을 선택합니다.

1. 등록된 Lambda 함수가 없는 경우 **대상 등록**을 선택합니다. Lambda 함수를 선택한 다음 **대상 등록**을 선택합니다.

1. Lambda 함수의 등록을 취소하려면 **등록 취소**를 선택합니다. 확인 메시지가 나타나면 **confirm**을 입력한 다음 **등록 취소**를 선택합니다.

## Application Load Balancer 등록 또는 등록 취소
<a name="register-alb"></a>

각 대상 그룹에 단일 Application Load Balancer를 등록할 수 있습니다. 트래픽을 로드 밸런서에 더 이상 전송할 필요가 없는 경우 로드 밸런서의 등록을 취소할 수 있습니다. 로드 밸런서의 등록을 취소한 후에는 처리 중인 요청이 HTTP 5XX 오류와 함께 실패합니다. 대상 그룹에 대한 Application Load Balancer를 바꾸는 대신 새 대상 그룹을 생성하는 것이 더 좋습니다.

**콘솔을 사용하여 Application Load Balancer를 등록하거나 등록 취소하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭을 선택합니다.

1. 등록된 Application Load Balancer가 없는 경우 **대상 등록**을 선택합니다. Application Load Balancer를 선택하고 **대상 등록**을 선택합니다.

1. Application Load Balancer의 등록을 취소하려면 **등록 취소**를 선택합니다. 확인 메시지가 나타나면 **confirm**을 입력한 다음 **등록 취소**를 선택합니다.

# VPC Lattice 대상 그룹에 대한 상태 확인
<a name="target-group-health-checks"></a>

서비스는 등록된 대상으로 요청을 주기적으로 전송하여 상태를 확인합니다. 이러한 테스트를 바로 *상태 확인*이라고 합니다.

각 VPC Lattice 서비스는 정상 상태의 대상으로만 요청을 라우팅합니다. 각각의 서비스는 대상이 등록된 대상 그룹에 대한 상태 확인 설정을 사용하여 각 대상의 상태를 확인합니다. 대상이 등록된 후에는 상태 확인을 통과해야만 정상 상태로 간주됩니다. 각각의 상태 확인이 완료되고 나면 서비스는 상태 확인을 위해 설정된 연결을 종료합니다.

**제한 사항 및 고려 사항**
+ 대상 그룹 프로토콜 버전이 HTTP1인 경우 상태 확인이 기본적으로 활성화됩니다.
+ 대상 그룹 프로토콜 버전이 HTTP2인 경우 상태 확인은 기본적으로 활성화되지 않습니다. 하지만 상태 확인을 활성화하고 프로토콜 버전을 HTTP1 또는 HTTP2로 수동으로 설정할 수 있습니다.
+ 상태 확인은 gRPC 대상 그룹 프로토콜 버전을 지원되지 않습니다. 하지만 상태 확인을 활성화하는 경우 상태 확인 프로토콜 버전을 HTTP1 또는 HTTP2로 지정해야 합니다.
+ 상태 확인은 Lambda 대상 그룹을 지원하지 않습니다.
+ 상태 확인은 Application Load Balancer 대상 그룹을 지원하지 않습니다. 하지만 Elastic Load Balancing을 사용하여 Application Load Balancer의 대상에 대한 상태 확인을 활성화할 수 있습니다. 자세한 내용은 Application Load Balancer 사용 설명서의 [대상 그룹 상태 확인을](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) 참조하세요. ** 

## 상태 확인 설정
<a name="health-check-settings"></a>

다음 표에 설명된 대로 대상 그룹의 대상에 대한 상태 확인을 구성합니다. 테이블에 사용되는 설정 이름은 API에 사용되는 이름입니다. 서비스는 지정된 포트, 프로토콜 및 ping 경로를 사용하여 **HealthCheckIntervalSeconds** 초마다 모든 등록 대상에 상태 확인 요청을 전송합니다. 각 상태 확인 요청은 독립적이며 결과는 전체 간격 동안 지속됩니다. 대상이 응답하는 데 걸리는 시간은 다음 상태 확인 요청의 간격에 영향을 미치지 않습니다. 상태 확인이 **UnhealthyThresholdCount** 연속 실패를 초과하면 서비스는 대상을 서비스에서 제외합니다. 상태 확인이 **HealthyThresholdCount** 연속 성공을 초과하면 서비스는 대상을 다시 서비스합니다.


| 설정 | 설명 | 
| --- | --- | 
| **HealthCheckProtocol** |  대상에 대한 상태 확인을 수행할 때 서비스가 사용하는 프로토콜입니다. HTTP, HTTPS 등의 프로토콜이 여기에 해당됩니다. HTTP 프로토콜이 기본 설정값입니다.  | 
| **HealthCheckPort** |  대상에 대한 상태 확인을 수행할 때 서비스가 사용하는 포트입니다. 각 대상이 서비스에서 트래픽을 수신하는 포트를 사용하도록 기본 설정되어 있습니다.  | 
| **HealthCheckPath** |  대상에 대한 상태 확인을 위한 대상입니다. 프로토콜 버전이 HTTP1 또는 HTTP2인 경우 유효한 URI(/*path*?*query*)를 참조하세요. 기본값은 /입니다.  | 
| **HealthCheckTimeoutSeconds** |  상태 확인 실패를 의미하는 대상으로부터 응답이 없는 기간(초 단위)입니다. 범위는 1\$1120초입니다. 대상 유형이 `INSTANCE` 또는 `IP`인 경우 기본값은 5초입니다. 이 설정을 기본값으로 재설정하려면 0을 지정합니다.  | 
| **HealthCheckIntervalSeconds** |  개별 인스턴스의 상태 확인 간의 대략적인 간격(초 단위)입니다. 범위는 5\$1300초입니다. 대상 유형이 `INSTANCE` 또는 `IP`인 경우 기본값은 30초입니다. 이 설정을 기본값으로 재설정하려면 0을 지정합니다.  | 
| **HealthyThresholdCount** |  비정상 상태의 대상이 정상으로 간주되기까지 필요한 연속적인 상태 확인 성공 횟수입니다. 범위는 2\$110회입니다. 기본값은 5입니다. 이 설정을 기본값으로 재설정하려면 0을 지정합니다.  | 
| **UnhealthyThresholdCount** |  대상을 비정상 상태로 간주하기까지 필요한 연속적인 상태 확인 실패 횟수입니다. 범위는 2\$110회입니다. 기본값은 2입니다. 이 설정을 기본값으로 재설정하려면 0을 지정합니다.  | 
| **Matcher** |  대상으로부터 응답 성공을 확인할 때 사용하는 코드입니다. 이를 콘솔에서 **성공 코드**라고 합니다. 프로토콜 버전이 HTTP1 또는 HTTP2,인 경우 가능한 값은 200\$1499입니다. 값 범위(예: "200-299")에서 여러 값(예: "200,202")을 지정할 수 있습니다. 기본값은 200입니다. gRPC용 상태 확인 프로토콜 버전은 현재 지원되지 않습니다. 그러나 대상 그룹 프로토콜 버전이 gRPC인 경우 상태 확인 구성에서 HTTP1 또는 HTTP2 프로토콜 버전을 지정할 수 있습니다.  | 

## 대상의 상태 확인
<a name="check-target-health"></a>

대상 그룹에 등록된 대상의 상태를 확인할 수 있습니다.

**콘솔을 사용하여 대상의 상태를 확인하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭에서 **상태** 열은 각 대상의 상태를 나타냅니다. 상태가 `Healthy` 이외의 값인 경우에는 **상태 세부 정보** 열에 자세한 정보가 포함됩니다.

**를 사용하여 대상의 상태를 확인하려면 AWS CLI**  
[list-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/list-targets.html) 명령을 사용합니다. 이 명령의 출력 화면에는 대상 상태 설명이 포함됩니다. 상태가 `Healthy` 이외의 값인 경우에는 출력 화면에도 사유 코드가 포함됩니다.

**비정상 대상에 대한 이메일 알림을 받으려면**  
CloudWatch 경보를 통해 Lambda 함수를 시작하여 비정상 대상에 대한 세부 정보를 전송합니다.

## 상태 확인 설정 변경
<a name="modify-health-check-settings"></a>

대상 그룹에 대한 상태 확인 설정을 언제든지 변경할 수도 있습니다.

**콘솔을 사용하여 상태 확인 설정을 변경하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **상태 확인** 탭에 있는 **상태 확인 설정** 섹션에서 **편집**을 선택합니다.

1. 필요에 따라 상태 확인 설정을 변경합니다.

1. **변경 사항 저장**을 선택합니다.

**를 사용하여 상태 확인 설정을 수정하려면 AWS CLI**  
[update-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/update-target-group.html) 명령을 사용합니다.

## 라우팅 구성
<a name="target-group-routing-configuration"></a>

기본적으로 서비스는 대상 그룹을 생성할 때 지정한 프로토콜과 포트 번호를 사용하여 대상으로 요청을 라우팅합니다. 또는 대상 그룹에 등록할 때 대상으로 트래픽을 라우팅하는 데 사용되는 포트를 재정의할 수 있습니다.

대상 그룹은 다음과 같은 프로토콜 및 포트를 지원합니다.
+ **프로토콜**: HTTP, HTTPS, TCP
+ **포트**: 1-65535

대상 그룹이 HTTPS 프로토콜로 구성되거나 HTTPS 상태 확인을 사용하는 경우 대상에 대한 TLS 연결은 리스너의 보안 정책을 사용합니다. VPC Lattice는 대상에 설치하는 인증서를 사용하여 대상과 TLS 연결을 설정합니다. VPC Lattice는 이러한 인증서를 검증하지 않습니다. 따라서 자체 서명된 인증서 또는 만료된 인증서를 사용할 수 있습니다. VPC Lattice와 대상 간의 트래픽은 패킷 수준에서 인증되므로 대상의 인증서가 유효하지 않더라도 man-in-the-middle 공격 또는 스푸핑 위험이 없습니다.

TCP 대상 그룹은 [TLS 리스너](tls-listeners.md)에서만 지원됩니다.

## 라우팅 알고리즘
<a name="target-group-routing-algorithm"></a>

기본적으로 라운드 로빈 라우팅 알고리즘은 정상 상태의 대상에 요청을 라우팅하는 데 사용됩니다.

VPC Lattice 서비스는 요청을 받으면 다음 프로세스를 사용합니다.

1. 적용할 규칙을 결정하기 위해 우선 순위에 따라 리스너 규칙을 평가합니다.

1. 기본 라운드 로빈 라우팅 알고리즘을 사용하여 규칙 조치에 대한 대상 그룹에서 대상을 선택합니다. 대상이 여러 개의 대상 그룹에 등록이 된 경우에도 각 대상 그룹에 대해 독립적으로 라우팅이 수행됩니다.

대상 그룹에 비정상인 대상만 포함되는 경우 정상 상태와 관계없이 모든 해당 대상에 요청이 라우팅됩니다. 즉, 모든 대상이 동시에 상태 확인에 실패하면 VPC Lattice 서비스가 열리지 않습니다. 오류 시 열림이 적용되면 상태에 관계없이 라운드 로빈 알고리즘에 따라 모든 대상에 대한 트래픽이 허용됩니다.

VPC Lattice는 트래픽 라우팅에 대한 가용 영역(AZ) 선호도를 지원합니다. 클라이언트가 VPC Lattice에 요청을 보내면 VPC Lattice는 클라이언트와 동일한 AZ의 서비스 또는 리소스에 대한 IP 주소로 응답합니다. 해당 AZ를 사용할 수 없는 경우 VPC Lattice는 다른 AZs. VPC Lattice에서 대상으로 라우팅은 AZs. 또한 VPC Lattice에는 AZ 간 데이터 전송 요금이 없습니다.

## 대상 유형
<a name="target-type"></a>

대상 그룹을 생성할 때 대상 유형을 지정합니다. 이 값에 따라 이 대상 그룹에 대상을 등록할 때 지정하는 대상의 유형이 결정됩니다. 대상 그룹을 생성한 후에는 대상 유형을 변경할 수 없습니다.

가능한 대상 유형은 다음과 같습니다.

`INSTANCE`  
대상이 인스턴스 ID에 의해 지정됩니다.

`IP`  
대상이 IP 주소입니다.

`LAMBDA`  
대상이 Lambda 함수입니다.

`ALB`  
대상이 Application Load Balancer입니다.

**고려 사항**
+ 대상 유형이 `IP`인 경우 대상 그룹에 대한 VPC 서브넷의 IP 주소를 지정해야 합니다. 이 VPC 외부에서 IP 주소를 등록해야 하는 경우, `ALB` 유형의 대상 그룹을 생성하고 IP 주소를 Application Load Balancer에 등록합니다.
+ 대상 유형이 `IP`인 경우 VPC 엔드포인트 또는 공개적으로 라우팅 가능한 IP 주소를 등록할 수 없습니다.
+ 대상 유형이 `LAMBDA`인 경우 단일 Lambda 함수를 등록할 수 있습니다. 서비스가 Lambda 함수에 대한 요청을 수신하면 Lambda 함수를 호출합니다. 서비스에 여러 Lambda 함수를 등록하려면 여러 대상 그룹을 사용해야 합니다.
+ 대상 유형이 인 경우 단일 내부 Application Load Balancer를 최대 2개의 VPC Lattice 서비스의 대상으로 등록할 `ALB`수 있습니다. 이렇게 하려면 Application Load Balancer를 두 개의 서로 다른 VPC Lattice 서비스에서 사용하는 별도의 두 대상 그룹에 등록해야 합니다. 또한 대상 Application Load Balancer에 대상 그룹 포트와 포트가 일치하는 리스너가 하나 이상 있어야 합니다.
+ 시작 시 VPC Lattice 대상 그룹에 ECS 작업을 자동으로 등록할 수 있습니다. 대상 그룹에는 대상 유형이 `IP`여야 합니다. 자세한 내용은 [Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 서비스와 함께 VPC Lattice 사용을 참조하세요](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-vpc-lattice.html). ** 

  또는 Amazon ECS 서비스에 대한 Application Load Balancer를 유형의 VPC Lattice 대상 그룹에 등록합니다`ALB`. 자세한 내용은 [Amazon Elastic Container Service 개발자 안내서의 로드 밸런싱을 사용하여 Amazon ECS 서비스 트래픽 분산](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)을 참조하세요. ** 
+ EKS 포드를 대상으로 등록하려면 Kubernetes 서비스에서 IP 주소를 가져오는 [AWS 게이트웨이 API 컨트롤러](https://www.gateway-api-controller.eks.aws.dev/)를 사용하세요.
+ 대상 그룹 프로토콜이 TCP인 경우 지원되는 유일한 대상 유형은 `INSTANCE`, `IP`또는 입니다`ALB`.

## IP 주소 유형
<a name="target-group-ip-address-type"></a>

대상 유형이 `IP`인 대상 그룹을 생성할 때 대상 그룹의 IP 주소 유형을 지정할 수 있습니다. 이는 로드 밸런서가 대상에 요청 및 상태 확인을 보내는 데 사용하는 주소 유형을 지정합니다. 가능한 값은 `IPv4`와 `IPv6`입니다. 기본값은 `IPV4`입니다.

**고려 사항**
+ IP 주소 유형이 `IPv6`인 대상 그룹을 생성하는 경우 대상 그룹에 지정하는 VPC의 주소 범위는 IPv6이어야 합니다.
+ 대상 그룹에 등록한 IP 주소는 대상 그룹의 IP 주소 유형과 일치해야 합니다. 예를 들어 IP 주소 유형이 `IPv4`인 경우 대상 그룹에 IPv6 주소를 등록할 수 없습니다.
+ 대상 그룹에 등록하는 IP 주소는 대상 그룹에 지정한 VPC의 IP 주소 범위 내에 있어야 합니다.

# VPC Lattice의 HTTP 대상
<a name="http-targets"></a>

HTTP 요청 및 HTTP 응답은 헤더 필드를 사용하여 HTTP 메시지에 대한 정보를 전송합니다. HTTP 헤더가 자동으로 추가됩니다. 헤더 필드는 콜론으로 구분된 이름-값 페어이며 CR(캐리지 리턴) 및 LF(줄 바꿈)로 구분됩니다. HTTP 헤더 필드의 표준 집합은 RFC 2616, [메시지 헤더](https://datatracker.ietf.org/doc/html/rfc2616)에 정의되어 있습니다. 자동으로 추가되고 애플리케이션에서 널리 사용되는 비표준 HTTP 헤더도 제공되고 있습니다. 예를 들어 접두사 `x-forwarded`가 붙은 비표준 HTTP 헤더가 있습니다.

## x-forwarded 헤더
<a name="http-x-forwarded-headers"></a>

Amazon VPC Lattice는 다음의 `x-forwarded` 헤더를 추가합니다.

`x-forwarded-for`  
소스 IP 주소.

`x-forwarded-port`  
대상 포트.

`x-forwarded-proto`  
네트워크 연결 프로토콜(`http` \$1 `https`).

## 호출자 ID 헤더
<a name="http-caller-identity-headers"></a>

Amazon VPC Lattice는 다음과 같은 호출자 ID 헤더를 추가합니다.

`x-amzn-lattice-identity`  
자격 증명 정보. AWS 인증에 성공하면 다음 필드가 표시됩니다.  
+ `Principal` – 인증된 보안 주체.
+ `PrincipalOrgID` – 인증된 보안 주체의 조직 ID.
+ `PrincipalOrgPath` - 인증된 보안 주체의 조직 경로입니다.
+ `SessionName` – 인증된 사용자의 사용자 이름.
Roles Anywhere 보안 인증을 사용하고 인증에 성공하면 다음 필드가 표시됩니다.  
+ `X509Issuer/OU` – 발급자(OU).
+ `X509SAN/DNS` – 주체 대체 이름(DNS).
+ `X509SAN/NameCN` – 발급자 대체 이름(이름/CN).
+ `X509SAN/URI` – 주체 대체 이름(URI).
+ `X509Subject/CN` – 주체 이름(CN).

`x-amzn-lattice-identity-tags`  
보안 주체 ID 및 보안 주체 태그입니다. 형식은 다음과 같습니다.  

```
principal=principal;principalorgid=orgid;principalorgpath=orgpath;principal-tag1=value1; ...;principal-tag99=value99
```
VPC Lattice는 백슬래시(\$1)가 있는 값의 세미콜론(;)을 이스케이프 처리합니다.

`x-amzn-lattice-network`  
VPC. 형식은 다음과 같습니다.  

```
SourceVpcArn=arn:aws:ec2:region:account:vpc/id
```

`x-amzn-lattice-target`  
대상. 형식은 다음과 같습니다.  

```
ServiceArn=arn;ServiceNetworkArn=arn;TargetGroupArn=arn
```
VPC Lattice의 리소스 ARN에 대한 자세한 내용은 [Amazon VPC Lattice에서 정의한 리소스 유형](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclattice.html#amazonvpclattice-resources-for-iam-policies)을 참조하세요.

발신자 자격 증명 헤더는 스푸핑할 수 없습니다. VPC Lattice는 수신 요청에서 이러한 헤더를 제거합니다. 이러한 자격 증명 헤더는 다음 형식을 사용하여 빈 값을 지원하는 맵을 표시합니다. 구문 분석 시 이러한 헤더에 있는 KEYs의 특정 순서에 의존해서는 안 되며, 언제든지 새 KEYs 추가될 수 있으며 빈 값을 처리할 준비가 되어 있어야 합니다.

형식은 다음과 같습니다.

```
key-0=value-0;key-1=value-1;....;key-n=value-n;
```

# VPC Lattice에서 대상으로서 Lambda 함수
<a name="lambda-functions"></a>

Lambda 함수를 VPC Lattice 대상 그룹에 대상으로 등록하고 Lambda 함수에 대한 대상 그룹에 요청을 전달하도록 리스너 규칙을 구성할 수 있습니다. 서비스가 Lambda 함수를 대상으로 사용하는 대상 그룹에 요청을 전달하면 Lambda 함수를 호출하고 요청 콘텐츠를 Lambda 함수에 JSON 형식으로 전달합니다.

**제한 사항**
+ Lambda 함수와 대상 그룹은 동일한 계정 및 동일한 리전에 있어야 합니다.
+ Lambda 함수에 전송할 수 있는 요청 본문의 최대 크기는 6MB입니다.
+ Lambda 함수가 전송할 수 있는 응답 JSON의 최대 크기는 6MB입니다.
+ 프로토콜은 HTTP 또는 HTTPS여야 합니다.

## Lambda 함수 준비
<a name="prepare-lambda-function"></a>

다음 권장 사항은 와 함께 VPC Lattice 서비스에 Lambda 함수를 사용하는 경우에 적용됩니다.

**Lambda 함수를 호출할 권한**  
대상 그룹을 생성하고 AWS Management Console 또는를 사용하여 Lambda 함수를 등록하면 AWS CLI VPC Lattice는 사용자를 대신하여 Lambda 함수 정책에 필요한 권한을 추가합니다.

다음 API 직접 호출을 사용하여 직접 권한을 추가할 수도 있습니다.

```
aws lambda add-permission \
  --function-name lambda-function-arn-with-alias-name \ 
  --statement-id vpc-lattice \
  --principal vpc-lattice.amazonaws.com \
  --action lambda:InvokeFunction \
  --source-arn target-group-arn
```

**Lambda 함수 버전 관리**  
대상 그룹당 하나의 Lambda 함수를 등록할 수 있습니다. Lambda 함수를 변경할 수 있는지 확인하고 VPC Lattice 서비스가 항상 현재 버전의 Lambda 함수를 호출하도록 하려면 Lambda 함수를 VPC Lattice 서비스에 등록할 때 함수 별칭을 생성하고 별칭을 함수 ARN에 포함시킵니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 함수 버전](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) 및 [Lambda 함수의 별칭 생성을 참조하세요](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html).

## Lambda 함수에 대한 대상 그룹 생성
<a name="register-lambda-function"></a>

라우팅 요청에서 사용되는 대상 그룹을 만듭니다. 요청 콘텐츠가 해당 콘텐츠를 이 대상 그룹에 전달하는 작업이 포함된 리스너 규칙과 일치하는 경우 VPC Lattice 서비스는 등록된 Lambda 함수를 호출합니다.

**콘솔을 사용하여 대상 그룹을 생성하고 Lambda 함수를 등록하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. **대상 그룹 생성**을 선택합니다.

1. **대상 유형**에서 **Lambda 함수**를 선택합니다.

1. **대상 그룹 이름**에 대상 그룹의 이름을 입력합니다.

1. **Lambda 이벤트 구조 버전**에서 버전을 선택합니다. 자세한 내용은 [VPC Lattice 서비스에서 이벤트 수신](#receive-event-from-service) 단원을 참조하십시오.

1. (선택 사항) 태그를 추가하려면 **태그**를 확장하고 **새 태그 추가**를 선택하고 태그 키와 태그 값을 입력합니다.

1. **다음**을 선택합니다.

1. **Lambda 함수**에 대해 다음 중 하나를 수행합니다.
   + 기존 Lambda 함수를 선택합니다.
   + 새 Lambda 함수를 생성하고 선택합니다.
   + 나중에 Lambda 함수를 등록합니다.

1. **대상 그룹 생성**을 선택합니다.

**를 사용하여 대상 그룹을 생성하고 Lambda 함수를 등록하려면 AWS CLI**  
[create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) 및 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 명령을 사용합니다.

## VPC Lattice 서비스에서 이벤트 수신
<a name="receive-event-from-service"></a>

VPC Lattice 서비스는 HTTP 및 HTTPS를 통한 요청에 대한 Lambda 호출을 지원합니다. 서비스는 JSON 형식으로 이벤트를 전송하고 모든 요청에 `X-Forwarded-For` 헤더를 추가합니다.

**Base64 인코딩**  
Base64 서비스는 `content-encoding` 헤더가 존재하고 콘텐츠 유형이 다음 중 하나가 아닌 경우 본문을 인코딩합니다.
+ `text/*`
+ `application/json`
+ `application/xml`
+ `application/javascript`

`content-encoding` 헤더가 없으면 Base64 인코딩은 콘텐츠 유형에 따라 다릅니다. 위 콘텐츠 유형의 경우 서비스는 Base64 인코딩 없이 본문을 있는 그대로 전송합니다.

**이벤트 구조 형식**  
`LAMBDA` 유형의 대상 그룹을 생성하거나 업데이트할 때 Lambda 함수가 수신하는 이벤트 구조의 버전을 지정할 수 있습니다. 가능한 버전은 `V1` 및 `V2`입니다.<a name="event-structure-v2"></a>

**Example 예시 이벤트: V2**  

```
{
    "version": "2.0",
    "path": "/?query1=value1&query2=value2",
    "method": "GET|POST|HEAD|...",
    "headers": {
        "header-key": ["header-value", ...],
        ...
    },    
    "queryStringParameters": {
        "key": ["value", ...]
    },
    "body": "request-body",
    "isBase64Encoded": true|false,
    "requestContext": {
        "serviceNetworkArn": "arn:aws:vpc-lattice:region:123456789012:servicenetwork/sn-0bf3f2882e9cc805a",
        "serviceArn": "arn:aws:vpc-lattice:region:123456789012:service/svc-0a40eebed65f8d69c",
        "targetGroupArn": "arn:aws:vpc-lattice:region:123456789012:targetgroup/tg-6d0ecf831eec9f09",
        "identity": {
            "sourceVpcArn": "arn:aws:ec2:region:123456789012:vpc/vpc-0b8276c84697e7339",
            "type": "AWS_IAM",
            "principal": "arn:aws:iam::123456789012:assumed-role/my-role/my-session",
            "principalOrgID": "o-50dc6c495c0c9188",
            "sessionName": "i-0c7de02a688bde9f7",
            "x509IssuerOu": "string",
            "x509SanDns": "string",
            "x509SanNameCn": "string",
            "x509SanUri": "string",
            "x509SubjectCn": "string"
        },
        "region": "region",
        "timeEpoch": "1690497599177430"
    }
}
```  
`body`  
요청의 본문. 프로토콜이 HTTP, HTTPS 또는 gRPC인 경우에만 표시됩니다.  
`headers`  
요청의 HTTP 상태. 프로토콜이 HTTP, HTTPS 또는 gRPC인 경우에만 표시됩니다.  
`identity`  
자격 증명 정보. 가능한 필드는 다음과 같습니다.  
+ `principal` – 인증된 보안 주체. AWS 인증이 성공한 경우에만 표시됩니다.
+ `principalOrgID` – 인증된 보안 주체의 조직 ID. AWS 인증이 성공한 경우에만 표시됩니다.
+ `sessionName` – 인증된 사용자의 사용자 이름. AWS 인증이 성공한 경우에만 표시됩니다.
+ `sourceVpcArn` – 요청이 시작된 VPC의 ARN. 소스 VPC를 식별할 수 있는 경우에만 표시됩니다.
+ `type` - 인증 정책이 사용되고 AWS 인증이 성공한 `AWS_IAM` 경우 값은 입니다.
Roles Anywhere 보안 인증을 사용하고 인증에 성공하면 가능한 필드는 다음과 같습니다.  
+ `x509IssuerOu` – 발급자(OU).
+ `x509SanDns` – 주체 대체 이름(DNS).
+ `x509SanNameCn` – 발급자 대체 이름(이름/CN).
+ `x509SanUri` – 주체 대체 이름(URI).
+ `x509SubjectCn` – 주체 이름(CN).  
`isBase64Encoded`  
본문이 base64로 인코딩되었는지 여부를 나타냅니다. 프로토콜이 HTTP, HTTPS 또는 gRPC이고 요청 본문이 아직 문자열이 아닌 경우에만 표시됩니다.  
`method`  
요청의 HTTP 메서드. 프로토콜이 HTTP, HTTPS 또는 gRPC인 경우에만 표시됩니다.  
`path`  
쿼리 문자열 파라미터를 포함하는 클라이언트의 요청 경로입니다. 프로토콜이 HTTP, HTTPS 또는 gRPC인 경우에만 표시됩니다.  
`queryStringParameters`  
HTP 쿼리 문자열 파라미터. 프로토콜이 HTTP, HTTPS 또는 gRPC인 경우에만 표시됩니다.  
`serviceArn`  
요청을 수신하는 서비스의 ARN.  
`serviceNetworkArn`  
요청을 전달하는 서비스 네트워크의 ARN.  
`targetGroupArn`  
요청을 수신하는 대상 그룹의 ARN.  
`timeEpoch`  
시간(초 단위).<a name="event-structure-v1"></a>

**Example 예시 이벤트: V1**  

```
{
    "raw_path": "/path/to/resource?query1=value1&query2=value2",
    "method": "GET|POST|HEAD|...",
    "headers": {"header-key": "header-value", ... },
    "query_string_parameters": {"key": "value", ...},
    "body": "request-body",
    "is_base64_encoded": true|false
}
```

## VPC Lattice 서비스에 응답
<a name="respond-to-service"></a>

Lambda 함수의 응답에는 Base64 인코딩 상태, 상태 코드 및 헤더가 포함됩니다. 본문을 생략할 수 있습니다.

응답의 본문에 바이너리 콘텐츠를 포함시키려면 콘텐츠를 Base64로 인코딩하고 `isBase64Encoded`를 `true`롤 설정해야 합니다. 서비스는 콘텐츠를 디코딩하여 바이너리 콘텐츠를 수신하고 이 콘텐츠를 HTTP 응답의 본문으로 클라이언트에 전송합니다.

VPC Lattice 서비스는 `Connection` 또는 `Transfer-Encoding`과 같은 hop-by-hop 헤더를 적용하지 않습니다. 응답을 클라이언트에 전송하기 전에 서비스가 컴퓨팅하기 때문에 `Content-Length` 헤더를 생략할 수 있습니다.

다음은 Lambda 함수의 응답 예시입니다.

```
{
    "isBase64Encoded": false,
    "statusCode": 200,
    "headers": {
        "Set-cookie": "cookies",
        "Content-Type": "application/json"
    },
    "body": "Hello from Lambda (optional)"
}
```

## 다중 값 헤더
<a name="multi-value-headers"></a>

VPC Lattice는 클라이언트의 요청 또는 값이 여러 개인 헤더를 포함하거나 동일한 헤더를 여러 번 포함하는 Lambda 함수의 응답을 지원합니다. VPC Lattice는 모든 값을 대상으로 전달합니다.

다음 예제에는 값이 다른 라는 두 개의 헤더header1가 있습니다.

```
header1 = value1
header1 = value2
```

V2 이벤트 구조를 사용하면 VPC Lattice가 목록의 값을 전송합니다. 예제:

```
"header1": ["value1", "value2"]
```

V1 이벤트 구조를 사용하면 VPC Lattice가 값을 단일 문자열로 결합합니다. 예제:

```
"header1": "value1, value2"
```

## 다중 값 쿼리 문자열 파라미터
<a name="multi-value-string-parameters"></a>

VPC Lattice는 동일한 키에 대해 여러 값이 있는 쿼리 파라미터를 지원합니다.

다음 예제에는 값이 다른 라는 두 개의 파라미터QS1가 있습니다.

```
http://www.example.com?&QS1=value1&QS1=value2
```

V2 이벤트 구조를 사용하면 VPC Lattice가 목록의 값을 전송합니다. 예제:

```
"QS1": ["value1", "value2"]
```

V1 이벤트 구조의 경우 VPC Lattice는 전달된 마지막 값을 사용합니다. 예제:

```
"QS1": "value2"
```

## Lambda 함수 등록 취소
<a name="deregister-lambda-function"></a>

트래픽을 Lambda 함수에 더 이상 전송할 필요가 없는 경우 해당 함수의 등록을 취소할 수 있습니다. Lambda 함수의 등록을 취소한 후에는 처리 중인 요청이 HTTP 5XX 오류와 함께 실패합니다.

Lambda 함수를 바꾸려면 새 대상 그룹을 생성하고, 새 함수를 새 대상 그룹에 등록한 다음, 새 대상 그룹을 기존 대상 그룹 대신 사용하도록 리스너 규칙을 업데이트하는 것이 좋습니다.

**콘솔을 사용하여 Lambda 함수의 등록을 취소하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **대상** 탭에서 **등록 취소**를 선택합니다.

1. 확인 메시지가 나타나면 **confirm**을 입력한 다음 **등록 취소**를 선택합니다.

**를 사용하여 Lambda 함수의 등록을 취소하려면 AWS CLI**  
[deregister-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/deregister-targets.html) 명령을 사용합니다.

# VPC Lattice의 대상인 Application Load Balancer
<a name="alb-target"></a>

VPC Lattice 대상 그룹을 생성하고 단일 내부 Application Load Balancer를 대상으로 등록하고 트래픽을 이 대상 그룹으로 전달하도록 VPC Lattice 서비스를 구성할 수 있습니다. 이 시나리오에서는 Application Load Balancer가 트래픽이 도달하는 즉시 라우팅 결정을 인계합니다. 이 구성을 사용하면 Application Load Balancer의 계층 7 요청 기반 라우팅 기능을 VPC Lattice가 지원하는 기능(예: IAM 인증 및 권한 부여, VPC와 계정 간의 연결)과 함께 사용할 수 있습니다.

**제한 사항**
+ VPC Lattice 대상 그룹 유형 `ALB`의 대상으로 단일 내부 Application Load Balancer를 등록할 수 있습니다.
+ Application Load Balancer를 서로 다른 두 VPC Lattice 서비스에서 사용하는 최대 2개의 VPC Lattice 대상 그룹에 대한 대상으로 등록할 수 있습니다.
+ VPC Lattice는 `ALB` 유형 대상 그룹에 대한 상태 확인을 제공하지 않습니다. 하지만 Elastic Load Balancing에서 대상에 대한 로드 밸런서 수준에서 독립적으로 상태 확인을 구성할 수 있습니다. 자세한 내용은 Application Load Balancer 사용 설명서의 [대상 그룹 상태 확인을](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) 참조하세요. ** 

## 사전 조건
<a name="prerequisites-alb-target"></a>

Application Load Balancer를 생성하여 VPC Lattice 대상 그룹에 대상으로 등록합니다. 로드 밸런서는 다음 기준을 충족해야 합니다.
+ 로드 밸런서 스키마는 **내부**입니다.
+ Application Load Balancer는 VPC Lattice 대상 그룹과 동일한 계정에 있어야 하며 **활성** 상태여야 합니다.
+ Application Load Balancer는 VPC Lattice 대상 그룹과 동일한 VPC에 있어야 합니다.
+ Application Load Balancer에서 HTTPS 리스너를 사용하여 TLS를 종료할 수 있지만 VPC Lattice 서비스가 로드 밸런서와 동일한 SSL/TLS 인증서를 사용하는 경우에 한합니다.
+ `X-Forwarded-For` 요청 헤더에 VPC Lattice 서비스의 클라이언트 IP를 보존하려면 Application Load Balancer의 속성 `routing.http.xff_header_processing.mode`를 `Preserve`로 설정해야 합니다. 값이 `Preserve`인 경우, 로드 밸런서가 HTTP 요청의 `X-Forwarded-For` 헤더를 보존하고, 요청을 변경 없이 대상에 보냅니다.

자세한 내용은 *Application Load Balancers 사용 설명서*의 [Application Load Balancer 생성](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)을 참조하세요.

## 1단계: ALB 유형의 대상 그룹 생성
<a name="step1-create-alb-target-group"></a>

대상 그룹을 생성하려면 다음 절차를 따르세요. VPC Lattice는 `ALB` 대상 그룹에 대한 상태 확인을 지원하지 않습니다. 하지만 Application Load Balancer의 대상 그룹에 대한 상태 확인은 구성할 수 있습니다. 자세한 내용은 Application Load Balancer 사용 설명서의 [대상 그룹 상태 확인을](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) 참조하세요. ** 

**대상 그룹을 생성하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. **대상 그룹 생성**을 선택합니다.

1. **대상 그룹 세부 정보 지정** 페이지의 **기본 구성**에서 대상 유형으로 **Application Load Balancer**를 선택합니다.

1. **대상 그룹 이름**에 대상 그룹의 이름을 입력합니다.

1. **프로토콜**에서 , 또는 **HTTP****HTTPS**를 선택합니다**TCP**. 대상 그룹 프로토콜은 내부 Application Load Balancer의 리스너 프로토콜과 일치해야 합니다.

1. **포트**에서 대상 그룹에 대한 포트를 지정합니다. 이 포트는 내부 Application Load Balancer의 리스너 포트와 일치해야 합니다. 또는 여기에서 지정하는 대상 그룹 포트와 일치하도록 내부 Application Load Balancer에 리스너 포트를 추가할 수 있습니다.

1. **VPC** 에서 내부 Application Load Balancer를 생성할 때 선택한 것과 동일한 Virtual Private Cloud(VPC)를 선택합니다. 이것은 VPC Lattice 리소스가 포함된 VPC여야 합니다.

1. **프로토콜 버전**에서 Application Load Balancer가 지원하는 프로토콜 버전을 선택합니다.

1. (선택 사항) 필수 태그를 추가합니다.

1. **다음**을 선택합니다.

## 2단계: Application Load Balancer를 대상으로 등록
<a name="step2-register-alb-target-group"></a>

로드 밸런서를 지금 또는 나중에 대상으로 등록할 수 있습니다.

**Application Load Balancer를 대상으로 등록하는 방법**

1. **지금 등록**을 선택합니다.

1. **Application Load Balancer**에서 내부 Application Load Balancer를 선택합니다.

1. **포트**에서 기본값을 유지하거나 필요에 따라 다른 포트를 지정합니다. 이 포트는 Application Load Balancer의 기존 리스너 포트와 일치해야 합니다. 일치하는 포트 없이 작업을 계속하면 트래픽이 Application Load Balancer에 도달하지 않습니다.

1. **대상 그룹 생성**을 선택합니다.

## 프로토콜 버전
<a name="target-group-protocol-version"></a>

기본적으로, 서비스는 HTTP/1.1을 사용하여 대상에 요청을 보냅니다. 프로토콜 버전을 사용하면 HTTP/2 또는 gRPC를 사용하여 대상에 요청을 보낼 수 있습니다.

다음 표에는 요청 프로토콜과 대상 그룹 프로토콜 버전의 조합에 대한 결과가 요약되어 있습니다.


| 요청 프로토콜 | 프로토콜 버전 | 결과 | 
| --- | --- | --- | 
| HTTP/1.1 | HTTP/1.1 | 성공 | 
| HTTP/2 | HTTP/1.1 | 성공 | 
| gRPC | HTTP/1.1 | 오류 | 
| HTTP/1.1 | HTTP/2 | 오류 | 
| HTTP/2 | HTTP/2 | 성공 | 
| gRPC | HTTP/2 | 대상이 gRPC를 지원하는 경우 성공 | 
| HTTP/1.1 | gRPC | 오류 | 
| HTTP/2 | gRPC | POST 요청 시 성공 | 
| gRPC | gRPC | 성공 | 

**gRPC 프로토콜 버전에 대한 고려 사항**
+ 지원되는 유일한 리스너 프로토콜은 HTTPS입니다.
+ 지원되는 유일한 대상 유형은 `INSTANCE` 및 `IP`입니다.
+ 서비스는 gRPC 요청을 구문 분석하고 패키지, 서비스 및 메서드를 기반으로 gRPC 호출을 적절한 대상 그룹으로 라우팅합니다.
+ Lambda 함수를 대상으로 사용할 수 없습니다.

**HTTP/2 프로토콜 버전에 대한 고려 사항**
+ 지원되는 유일한 리스너 프로토콜은 HTTPS입니다. 대상 그룹 프로토콜로 HTTP 또는 HTTPS를 선택할 수 있습니다.
+ 지원되는 유일한 리스너 규칙은 순방향 및 고정 응답입니다.
+ 지원되는 유일한 대상 유형은 `INSTANCE` 및 `IP`입니다.
+ 서비스는 클라이언트에서 오는 스트리밍을 지원합니다. 서비스는 대상으로 가는 스트리밍을 지원하지 않습니다.

# VPC Lattice 대상 그룹에 대한 태그
<a name="target-group-tags"></a>

태그를 사용하면 용도, 소유자 또는 환경 등에 따라 대상 그룹을 다양한 방식으로 분류할 수 있습니다.

각 대상 그룹에 여러 태그를 추가할 수 있습니다. 태그 키는 대상 그룹별로 고유해야 합니다. 대상 그룹에 이미 연결된 키를 통해 태그를 추가하면 해당 태그의 값이 업데이트됩니다.

사용이 끝난 태그는 삭제할 수 있습니다.

**제한 사항**
+ 리소스당 최대 태그 수 - 50개
+ 최대 키 길이 - 유니코드 문자 127자
+ 최대 값 길이 - 유니코드 문자 255자
+ 태그 키와 값은 대소문자를 구분합니다. 허용되는 문자는 UTF-8로 표현할 수 있는 문자, 공백 및 숫자와 특수 문자 \$1 - = . \$1 : / @입니다. 선행 또는 후행 공백을 사용하면 안 됩니다.
+ 태그 이름 또는 값에 `aws:` 접두사는 AWS 사용하도록 예약되어 있으므로 사용하지 마십시오. 이 접두사가 지정된 태그 이름이나 값은 편집하거나 삭제할 수 없습니다. 이 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.

**콘솔을 사용하여 대상 그룹 태그를 업데이트하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창의 **VPC Lattice**에서 **대상 그룹**을 선택합니다.

1. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

1. **태그** 탭을 선택합니다.

1. 태그를 추가하려면 **태그 추가**를 선택한 다음 태그 키와 태그 값을 입력합니다. 다른 태그를 추가하려면 **새 태그 추가**를 선택합니다. 태그 추가가 완료되면 **변경 사항 저장**을 선택합니다.

1. 태그를 삭제하려면 태그의 확인란을 선택한 다음 **삭제**를 선택합니다. 확인 메시지가 나타나면 **confirm**을 입력한 다음 **삭제**를 선택합니다.

**를 사용하여 대상 그룹의 태그를 업데이트하려면 AWS CLI**  
[tag-resource](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/tag-resource.html) 및 [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/untag-resource.html) 명령을 사용합니다.

# VPC Lattice 대상 그룹 삭제
<a name="delete-target-group"></a>

리스너 규칙의 전달 작업에서 참조하지 않는 대상 그룹을 삭제할 수 있습니다. 대상 그룹을 삭제해도 대상 그룹에 등록된 대상에는 영향을 미치지 않습니다. 등록된 EC2 인스턴스가 더 이상 필요하지 않은 경우 중지 또는 종료할 수 있습니다.

**콘솔을 사용하여 대상 그룹을 삭제하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **대상 그룹**을 선택합니다.

1. 대상 그룹에 대한 확인란을 선택한 후 **작업**, **삭제**를 선택합니다.

1. 확인 메시지가 나타나면 **confirm**을 입력한 다음 **삭제**를 선택합니다.

**를 사용하여 대상 그룹을 삭제하려면 AWS CLI**  
[delete-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/delete-target-group.html) 명령을 사용합니다.