를 사용하여 게이트웨이 로드 밸런서 시작하기 AWS CLI - Elastic Load Balancing

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

를 사용하여 게이트웨이 로드 밸런서 시작하기 AWS CLI

Gateway Load Balancer를 사용하면 보안 어플라이언스와 같은 서드 파티 가상 어플라이언스를 배포, 규모 조정 및 관리할 수 있습니다.

이 자습서에서는 Gateway Load Balancer와 Gateway Load Balancer 엔드포인트를 사용하여 검사 시스템을 구현합니다.

개요

Gateway Load Balancer VPC 엔드포인트는 서비스 공급자의 VPC 가상 어플라이언스와 서비스 소비자의 애플리케이션 서버 간에 프라이빗 연결을 제공하는 엔드포인트입니다. VPC 게이트웨이 로드 밸런서는 가상 VPC 어플라이언스와 동일한 위치에 배포됩니다. 이러한 어플라이언스는 Gateway Load Balancer의 대상 그룹으로 등록됩니다.

애플리케이션 서버는 서비스 소비자의 VPC 한 서브넷 (대상 서브넷) 에서 실행되는 반면 Gateway Load Balancer 엔드포인트는 동일한 서브넷의 다른 서브넷에서 실행됩니다. VPC 인터넷 게이트웨이를 VPC 통해 서비스 소비자로 들어오는 모든 트래픽은 먼저 Gateway Load Balancer 엔드포인트로 라우팅된 다음 대상 서브넷으로 라우팅됩니다.

마찬가지로 애플리케이션 서버(대상 서브넷)에서 나가는 모든 트래픽은 먼저 Gateway Load Balancer 엔드포인트로 라우팅된 후 인터넷으로 다시 라우팅됩니다. 다음 네트워크 다이어그램은 Gateway Load Balancer 엔드포인트를 사용하여 엔드포인트 서비스에 액세스하는 방법을 시각적으로 표현한 것입니다.

Gateway Load Balancer 엔드포인트를 사용하여 엔드포인트 서비스에 액세스

아래의 번호가 매겨진 항목은 위 이미지에 표시된 요소를 강조 표시하고 설명합니다.

인터넷에서 애플리케이션으로의 트래픽(파란색 화살표):
  1. 트래픽은 인터넷 게이트웨이를 VPC 통해 서비스 소비자로 유입됩니다.

  2. 수신 라우팅의 결과로 트래픽이 Gateway Load Balancer 엔드포인트로 전송됩니다.

  3. 트래픽이 보안 어플라이언스 중 하나로 트래픽을 배포하는 Gateway Load Balancer로 전송됩니다.

  4. 트래픽이 보안 어플라이언스에서 검사 후 Gateway Load Balancer 엔드포인트로 다시 전송됩니다.

  5. 트래픽이 애플리케이션 서버(대상 서브넷)로 전송됩니다.

애플리케이션에서 인터넷으로의 트래픽(주황색 화살표):
  1. 애플리케이션 서버 서브넷에 구성된 기본 경로의 결과로 트래픽이 Gateway Load Balancer 엔드포인트로 전송됩니다.

  2. 트래픽이 보안 어플라이언스 중 하나로 트래픽을 배포하는 Gateway Load Balancer로 전송됩니다.

  3. 트래픽이 보안 어플라이언스에서 검사 후 Gateway Load Balancer 엔드포인트로 다시 전송됩니다.

  4. 라우팅 테이블 구성에 따라 트래픽이 인터넷 게이트웨이로 전송됩니다.

  5. 트래픽이 인터넷으로 다시 라우팅됩니다.

라우팅

인터넷 게이트웨이의 경우 라우팅 테이블에는 애플리케이션 서버로 전송되는 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅하는 항목이 있어야 합니다. 게이트웨이 로드 밸런서 엔드포인트를 지정하려면 엔드포인트의 VPC ID를 사용합니다. 다음 예제는 이중 스택 구성에 대한 경로를 보여줍니다.

대상 주소 대상
VPC IPv4 CIDR 로컬
VPC IPv6 CIDR 로컬
Subnet 1 IPv4 CIDR vpc-endpoint-id
Subnet 1 IPv6 CIDR vpc-endpoint-id

애플리케이션 서버가 있는 서브넷의 경우 라우팅 테이블에는 모든 트래픽을 애플리케이션 서버에서 Gateway Load Balancer 엔드포인트로 라우팅하는 항목이 있어야 합니다.

대상 주소 대상
VPC IPv4 CIDR 로컬
VPC IPv6 CIDR 로컬
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

Gateway Load Balancer 엔드포인트가 있는 서브넷의 경우 라우팅 테이블은 검사에서 반환되는 트래픽을 최종 대상으로 라우팅해야 합니다. 인터넷에서 시작된 트래픽의 경우 로컬 라우팅은 트래픽이 애플리케이션 서버에 도달하도록 보장합니다. 애플리케이션 서버에서 시작된 트래픽의 경우 모든 트래픽을 인터넷 게이트웨이로 라우팅하는 항목을 추가합니다.

대상 주소 대상
VPC IPv4 CIDR 로컬
VPC IPv6 CIDR 로컬
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

사전 조건

  • 게이트웨이 로드 밸런서를 지원하지 않는 버전을 사용하는 AWS CLI 경우 의 현재 버전을 AWS CLI 설치하거나 업데이트하십시오. 자세한 내용을 알아보려면 AWS Command Line Interface 사용자 가이드에서 AWS Command Line Interface설치를 참조하세요.

  • 서비스 소비자가 애플리케이션 서버를 포함하는 각 가용 영역에 대해 최소 두 개의 서브넷을 VPC 가지고 있는지 확인하십시오. 하나의 서브넷은 Gateway Load Balancer 엔드포인트용이고 다른 하나는 애플리케이션 서버용입니다.

  • 서비스 공급자가 보안 어플라이언스 인스턴스를 포함하는 각 가용 영역에 대해 최소 두 개의 서브넷을 VPC 보유하고 있는지 확인하십시오. 하나의 서브넷은 Gateway Load Balancer용이고 다른 하나는 인스턴스용입니다.

  • 서비스 공급자의 각 보안 어플라이언스 서브넷에서 하나 이상의 보안 어플라이언스 인스턴스를 시작하십시오. VPC 이러한 인스턴스의 보안 그룹은 포트 6081을 통한 UDP 트래픽을 허용해야 합니다.

1단계: Gateway Load Balancer 생성 및 대상 등록

다음 절차를 사용하여 로드 밸런서, 리스너, 대상 그룹을 생성하고 보안 어플라이언스 인스턴스를 대상으로 등록합니다.

Gateway Load Balancer를 생성하고 대상을 등록하려면
  1. create-load-balancer명령을 사용하여 다음과 같은 유형의 로드 밸런서를 생성합니다. gateway 보안 어플라이언스 인스턴스를 시작한 각 가용 영역에 대해 하나의 서브넷을 지정할 수 있습니다.

    aws elbv2 create-load-balancer --name my-load-balancer --type gateway --subnets provider-subnet-id

    기본값은 IPv4 주소만 지원하는 것입니다. IPv4및 IPv6 주소를 모두 지원하려면 --ip-address-type dualstack 옵션을 추가합니다.

    출력에는 다음 예제와 같은 형식으로 로드 밸런서의 Amazon 리소스 이름 (ARN) 이 포함됩니다.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. create-target-group명령을 사용하여 대상 그룹을 생성하고, 인스턴스를 시작한 서비스 공급자를 VPC 지정합니다.

    aws elbv2 create-target-group --name my-targets --protocol GENEVE --port 6081 --vpc-id provider-vpc-id

    출력에는 다음 ARN 형식의 대상 그룹이 포함됩니다.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  3. 다음과 같이 register-targets 명령을 사용하여 인스턴스를 대상 그룹에 등록합니다.

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. 다음과 같이 create-listener 명령을 사용하여 요청을 대상 그룹에 전달하는 기본 규칙을 적용해서 로드 밸런서에 대한 리스너를 생성합니다.

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    출력에는 ARN 리스너의 정보가 다음 형식으로 포함됩니다.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/gwy/my-load-balancer/1234567890123456/abc1234567890123
  5. (선택 사항) 다음 describe-target-health명령을 사용하여 대상 그룹에 등록된 대상의 상태를 확인할 수 있습니다.

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

2단계: Gateway Load Balancer 엔드포인트 생성

Gateway Load Balancer 엔드포인트를 생성하려면 다음 절차를 따르세요. Gateway Load Balancer 엔드포인트는 영역별입니다. 영역당 하나의 Gateway Load Balancer 엔드포인트를 생성하는 것이 좋습니다. 자세한 내용은 AWS PrivateLink를 통해 가상 어플라이언스 액세스를 참조하세요.

Gateway Load Balancer 엔드포인트를 생성하려면
  1. 게이트웨이 로드 밸런서를 사용하여 엔드포인트 서비스 구성을 생성하려면 create-vpc-endpoint-service-configuration 명령을 사용합니다.

    aws ec2 create-vpc-endpoint-service-configuration --gateway-load-balancer-arns loadbalancer-arn --no-acceptance-required

    IPv4및 IPv6 주소를 모두 지원하려면 옵션을 추가하십시오. --supported-ip-address-types ipv4 ipv6

    출력에는 서비스 ID(예: vpce-svc-12345678901234567)와 서비스 이름(예: com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567)이 포함됩니다.

  2. modify-vpc-endpoint-service-permissions 명령을 사용하면 서비스 소비자가 서비스에 엔드포인트를 생성할 수 있습니다. 서비스 소비자는 사용자, IAM 역할 또는 AWS 계정사용자일 수 있습니다. 다음 예제에서는 지정된 항목에 대한 권한을 추가합니다 AWS 계정.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. create-vpc-endpoint명령을 사용하여 서비스의 Gateway Load Balancer 엔드포인트를 생성합니다.

    aws ec2 create-vpc-endpoint --vpc-endpoint-type GatewayLoadBalancer --service-name com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567 --vpc-id consumer-vpc-id --subnet-ids consumer-subnet-id

    IPv4및 IPv6 주소를 모두 지원하려면 --ip-address-type dualstack 옵션을 추가하세요.

    출력에는 Gateway Load Balancer 엔드포인트의 ID(예: vpce-01234567890abcdef)가 포함됩니다.

3단계: 라우팅 구성

다음과 VPC 같이 서비스 소비자의 라우팅 테이블을 구성합니다. 이 테이블을 사용하여 보안 어플라이언스에서 애플리케이션 서버로 전송되는 인바운드 트래픽에 대한 보안 검사를 수행할 수 있습니다.

라우팅을 구성하려면
  1. create-route 명령을 사용하여 애플리케이션 서버로 전송되는 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅하는 항목을 인터넷 게이트웨이의 라우팅 테이블에 추가합니다.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv4 CIDR --vpc-endpoint-id vpce-01234567890abcdef

    지원하는 IPv6 경우 다음 경로를 추가하세요.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. create-route 명령을 사용하여 애플리케이션 서버의 모든 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅하는 항목을 애플리케이션 서버가 있는 서브넷의 라우팅 테이블에 추가합니다.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block 0.0.0.0/0 --vpc-endpoint-id vpce-01234567890abcdef

    지원하는 IPv6 경우 다음 경로를 추가하세요.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. create-route 명령을 사용하여 애플리케이션 서버에서 시작된 모든 트래픽을 인터넷 게이트웨이로 라우팅하는 항목을 Gateway Load Balancer 엔드포인트가 있는 서브넷의 라우팅 테이블에 추가합니다.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block 0.0.0.0/0 --gateway-id igw-01234567890abcdef

    지원하는 IPv6 경우 다음 경로를 추가하세요.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. 각 영역의 각 애플리케이션 서브넷 라우팅 테이블에 대해 반복합니다.