듀얼 스택 Elastic Beanstalk 로드 밸런서 구성 - AWS Elastic Beanstalk

듀얼 스택 Elastic Beanstalk 로드 밸런서 구성

듀얼 스택으로 구성된 로드 밸런서를 사용하여 IPv4 및 IPv6 프로토콜을 모두 제공하도록 Elastic Beanstalk 환경을 활성화할 수 있습니다. 로드 밸런싱된 환경을 생성할 때 인프라는 기본적으로 IPv4로 설정됩니다. 듀얼 스택 구성을 사용하여 새 환경을 생성하거나 기존의 IPv4 전용 환경을 듀얼 스택으로 업데이트할 수 있습니다.

환경의 로드 밸런서가 IPv6 및 IPv4 네트워크 트래픽을 모두 처리하도록 하려면 aws:elbv2:loadbalancer 네임스페이스에서 IpAddressType 옵션을 듀얼 스택으로 설정하세요.

참고

Elastic Beanstalk은 Application Load Balancer와 네트워크 로드 밸런서에 대해서만 듀얼 스택 프로토콜을 지원합니다. Classic Load Balancer를 사용하거나 단일 인스턴스 환경인 경우, 듀얼 스택은 지원되지 않습니다.

Amazon VPC 사전 조건

Elastic Beanstalk 환경에서 로드 밸런서를 구성하기 전에, 먼저 다음과 같이 Amazon VPC에서 일부 구성을 완료해야 합니다.

  1. IPv6 CIDR 블록을 사용자 환경의 VPC와 연결

  2. VPC의 모든 서브넷에 IPv6 CIDR 블록을 연결하세요.

  3. (선택 사항) 환경이 VPC 외부의 구성 요소와 네트워크 트래픽을 주고받는 경우, VPC가 통신할 수 있는 네트워크를 지정하는 라우팅 테이블이 필요합니다. 이 경우, IPv6 트래픽을 활성화하려면 VPC 라우팅 테이블을 업데이트해야 합니다.

이러한 사전 조건은 Amazon VPC 콘솔 또는 AWS CLI 명령어를 사용하여 완료할 수 있습니다. 다음 주제에서는 자세한 내용을 안내하고 Amazon VPC 사용 설명서AWS CLI 명령 참조로 안내합니다.

참고

VPC 구성을 완료한 후 로드 밸런서에 듀얼 스택을 구성하기 전에 변경 사항이 전파될 때까지 몇 분 정도 기다려 주세요. 듀얼 스택 설정 중에 VPC 또는 서브넷 구성 오류가 발생하면 VPC 구성이 전파될 때까지 몇 분 정도 기다렸다가 듀얼 스택 구성을 다시 시도하세요.

콘솔을 사용하여 VPC 사전 구성 완료

Amazon VPC 사용 설명서에서는 이러한 사전 필수 작업을 완료하기 위한 자세한 단계를 제공합니다.

  1. Amazon VPC 사용 설명서1단계: VPC 및 서브넷에 IPv6 CIDR 블록 연결을 참조하세요.

    이 단계에서는 완료해야 하는 두 가지 절차를 제공합니다.

    • IPv6 CIDR 블록을 VPC와 연결

    • IPv6 CIDR 블록을 VPC 서브넷과 연결

  2. (선택 사항) 환경이 VPC 외부의 구성 요소와 네트워크 트래픽을 주고받는 경우, VPC가 통신할 수 있는 네트워크를 지정하는 라우팅 테이블이 필요합니다. 이 경우, IPv6 트래픽을 활성화하려면 VPC 라우팅 테이블을 업데이트해야 합니다. 이 구성을 완료하려면 Amazon VPC 사용 설명서2단계: 라우팅 테이블 업데이트를 참조하세요.

AWS CLI을 사용하여 VPC 사전 구성 완료

AWS CLI을(를) 사용하여 사전 조건 구성을 완료하고 확인할 수 있습니다.

  1. IPv6 CIDR 블록을 사용자 환경의 VPC와 연결

    1. associate-vpc-cidr-block 명령을 사용하여 CIDR 블록을 VPC에 연결합니다.

    2. describe-vpcs 명령을 사용하여 VPC 구성을 확인하세요.

    예 명령
    # Associate an Amazon-provided IPv6 CIDR block with your VPC aws ec2 associate-vpc-cidr-block \ --vpc-id vpc-12345678 \ --region us-east-1 \ --amazon-provided-ipv6-cidr-block # Verify the IPv6 CIDR block association aws ec2 describe-vpcs \ --vpc-ids vpc-12345678 \ --region us-east-1 \ --query 'Vpcs[0].Ipv6CidrBlockAssociationSet'
  2. VPC의 모든 서브넷에 IPv6 CIDR 블록을 연결하세요.

    1. associate-subnet-cidr-block 명령을 사용하여 CIDR 블록을 VPC에 연결합니다.

    2. describe-subnets 명령을 사용하여 서브넷 구성을 확인합니다.

    예 명령
    # List all subnets in your VPC aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,AvailabilityZone:AvailabilityZone}' # Associate IPv6 CIDR block with each subnet aws ec2 associate-subnet-cidr-block \ --subnet-id subnet-12345678 \ --region us-east-1 \ --ipv6-cidr-block 2001:db8::/64 # Verify IPv6 CIDR block association for all subnets aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,Ipv6CidrBlock:Ipv6CidrBlockAssociationSet[0].Ipv6CidrBlock}'
  3. (선택 사항) 환경이 VPC 외부의 구성 요소와 네트워크 트래픽을 주고받는 경우, VPC가 통신할 수 있는 네트워크를 지정하는 라우팅 테이블이 필요합니다. 이 경우, IPv6 트래픽을 활성화하려면 VPC 라우팅 테이블을 업데이트해야 합니다.

    1. create-route 명령을 사용하여 VPC 내 라우팅 테이블에 경로를 추가합니다.

    2. describe-route-tables 명령을 사용하여 라우팅 테이블을 확인합니다.

    예 명령
    # Add IPv6 route to Internet Gateway for public subnets aws ec2 create-route \ --route-table-id rtb-12345678 \ --destination-ipv6-cidr-block ::/0 \ --gateway-id igw-12345678 \ --region us-east-1 # Add IPv6 route to NAT Gateway for private subnets (if applicable) aws ec2 create-route \ --route-table-id rtb-87654321 \ --destination-ipv6-cidr-block ::/0 \ --nat-gateway-id nat-12345678 \ --region us-east-1 # Verify routes aws ec2 describe-route-tables \ --route-table-ids rtb-12345678 \ --region us-east-1 \ --query 'RouteTables[0].Routes'

듀얼 스택 Elastic Beanstalk 로드 밸런서 구성

환경에 VPC 사전 조건 구성을 설정한 후 IPv4 및 IPv6 프로토콜을 모두 제공할 수 있도록 듀얼 스택 옵션으로 로드 밸런서를 구성할 수 있습니다. Elastic Beanstalk 콘솔, AWS CLI, .ebextensions의 구성 파일, 그리고 AWS SDK를 사용하여 로드 밸런서가 듀얼 스택 트래픽을 처리하도록 구성할 수 있습니다.

콘솔 사용

Elastic Beanstalk 콘솔을 사용하여 환경의 로드 밸런서에 대해 듀얼 스택 구성을 설정할 수 있습니다.

참고

이 구성은 여러 시점의 데이터 전파 시기에 따라 달라집니다. 로드 밸런서를 구성하고 변경 사항을 테스트할 때 다음 타이밍 요구 사항을 고려하세요.

VPC 구성 시간. Amazon VPC 사전 조건에 설명된 VPC 구성을 완료한 후 변경 사항이 전파될 때까지 몇 분 기다린 후 다음 절차를 따릅니다. 듀얼 스택 설정 중에 VPC 또는 서브넷 구성 오류가 발생하면 몇 분 정도 기다렸다가 구성 단계를 다시 시도하세요.

DNS 전파 시간입니다. IpAddressType 옵션을 듀얼 스택으로 설정한 후 변경 사항이 전파될 때까지 몇 분 기다렸다가 테스트합니다. Route 53 DNS 전파는 1~2분 정도 소요될 수 있습니다. 이 과정 중 IPv6 프로토콜을 사용해 클라이언트에서 애플리케이션으로의 통신을 테스트하면 일시적인 문제가 발생할 수 있습니다.

신규 환경 생성: 듀얼 스택 지원에 로드 밸런서를 구성하는 방법
  1. Elastic Beanstalk 콘솔을 실행하고 새 환경 생성을 위한 단계를 시작하세요. 서비스 액세스 구성 페이지에서 서비스 역할EC2 인스턴스 프로파일 필수 항목을 설정한 후, 이 절차의 다음 단계로 진행하여 로드 밸런서를 듀얼 스택 구성으로 설정하세요. 시작하는 데 필요한 자세한 내용은 Elastic Beanstalk 환경 생성 섹션을 참조하세요.

  2. 서비스 액세스 구성 단계에서 다음을 선택하세요.

  3. 네트워킹, 데이터베이스 및 태그 설정 페이지가 표시됩니다.

    이전 섹션에서 설명한 Amazon VPC 사전 조건 항목을 완료한 경우, 필요한 VPC와 서브넷을 이미 설정한 것입니다. 이 경우 이 단계를 하위 단계와 함께 건너뛰고 계속 진행하여 VPC를 선택합니다.

    1. VPC 및 서브넷을 구성하려면 VPC 생성 선택하여 VPC 콘솔로 이동할 수 있습니다. 콘솔을 사용하여 VPC 사전 구성 완료 섹션의 단계를 따르세요.

    2. VPC 업데이트가 전파되기까지 몇 분 정도 소요될 수 있으니 기다린 후, Elastic Beanstalk 콘솔로 돌아가 새로 고침을 선택하고 다음 단계로 계속 진행하세요.

      나머지 단계에서 VPC 또는 서브넷 구성 오류가 발생하면 VPC 구성이 전파될 때까지 몇 분 정도 기다렸다가 단계를 다시 시도하세요.

  4. 네트워킹, 데이터베이스 및 태그 설정 페이지에서 IPv6 CIDR 블록이 연결된 VPC를 VPC 드롭다운에서 선택하세요.

    VPC를 선택하면 인스턴스 서브넷이 VPC 서브넷으로 채워집니다.

  5. 인스턴스 서브넷을 하나 이상 선택한 후 다음을 선택합니다.

  6. 인스턴스 트래픽 및 규모 조정 구성 페이지가 표시됩니다.

    로드 밸런서 네트워크 설정에서 Dualstack (IPv4 & IPv6) 항목을 활성화로 선택하세요.

  7. 로드 밸런서 유형을 선택합니다. Application Load BalancerNetwork Load Balancer 모두 dualstack을 지원합니다.

  8. 현재 콘솔 페이지에서 로드 밸런서의 다른 옵션도 계속 구성할 수 있습니다. 로드 밸런서 옵션 및 구성에 대한 자세한 내용은 이 장의 다른 주제를 참조하세요.

  9. 단계를 계속 진행하여 환경의 구성 및 생성을 완료합니다. 자세한 내용은 Elastic Beanstalk 환경 생성 섹션을 참조하세요.

기존 환경: 듀얼 스택 지원에 로드 밸런서를 구성하는 방법
  1. Elastic Beanstalk 콘솔을 연 다음 리전 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. 네트워크 및 데이터베이스 구성 범주에서 편집을 선택합니다.

  5. 이전 섹션에서 설명한 Amazon VPC 사전 조건 항목을 완료한 경우, 필요한 VPC와 서브넷을 이미 설정한 것입니다. 이 경우 이 단계를 하위 단계와 함께 건너뛰고 계속 진행하여 VPC를 선택합니다.

    1. VPC 및 서브넷을 구성하려면 VPC 생성 선택하여 VPC 콘솔로 이동할 수 있습니다. 콘솔을 사용하여 VPC 사전 구성 완료 섹션의 단계를 따르세요.

    2. VPC 업데이트가 전파되기까지 몇 분 정도 소요될 수 있으니 기다린 후, Elastic Beanstalk 콘솔로 돌아가 새로 고침을 선택하고 다음 단계로 계속 진행하세요.

      나머지 단계에서 VPC 또는 서브넷 구성 오류가 발생하면 VPC 구성이 전파될 때까지 몇 분 정도 기다렸다가 단계를 다시 시도하세요.

  6. 네트워크 및 데이터베이스 페이지에서 IPv6 CIDR 블록이 연결된 값을 VPC 드롭다운에서 선택하세요.

    VPC를 선택하면 인스턴스 서브넷이 VPC 서브넷으로 채워집니다.

  7. 하나 이상의 인스턴스 서브넷을 선택하세요.

  8. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

  9. 인스턴스 트래픽 및 스케일링(Instance traffic and scaling) 구성 범주에서 편집(Edit)을 선택합니다.

  10. 로드 밸런서 네트워크 설정에서 Dualstack (IPv4 & IPv6) 항목을 활성화하도록 선택하세요.

  11. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

AWS CLI 사용

AWS 명령줄 인터페이스(AWS CLI)를 사용하여 환경의 로드 밸런서를 IPv6 및 IPv4 네트워크 트래픽 모두를 처리하도록 구성할 수 있습니다. 이 섹션에서는 aws:elbv2:loadbalancer 네임스페이스를 사용한 create-environmentupdate-environment 명령의 예제를 제공합니다.

참고

이 구성은 여러 시점의 데이터 전파 시기에 따라 달라집니다. 로드 밸런서를 구성하고 변경 사항을 테스트할 때 다음 타이밍 요구 사항을 고려하세요.

VPC 구성 시간. Amazon VPC 사전 조건에 설명된 VPC 구성을 완료한 후 로드 밸런서에 듀얼 스택을 구성하기 위하여 이러한 명령을 실행하기 전에 변경 사항이 전파될 때까지 몇 분 정도 기다려 주세요. 듀얼 스택 설정 중에 VPC 또는 서브넷 구성 오류가 발생하면 몇 분 정도 기다렸다가 명령을 다시 시도하세요.

DNS 전파 시간입니다. IpAddressType 옵션을 듀얼 스택으로 설정한 후 변경 사항이 전파될 때까지 몇 분 기다렸다가 테스트합니다. Route 53 DNS 전파는 1~2분 정도 소요될 수 있습니다. 이 과정 중 IPv6 프로토콜을 사용해 클라이언트에서 애플리케이션으로의 통신을 테스트하면 일시적인 문제가 발생할 수 있습니다.

예 듀얼 스택 구성을 사용한 생성 환경(네임스페이스 옵션 인라인)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=dualstack

대안으로, 네임스페이스 옵션을 인라인으로 포함하는 대신 options.json 파일을 사용하여 해당 옵션을 지정하십시오. 다음 예제 명령은 update-environment 명령을 설명합니다.

예 듀얼 스택 구성을 사용한 업데이트 환경(options.json 파일의 네임스페이스 옵션)
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ file://options.json
### example options.json ### [ { "Namespace": "aws:elbv2:loadbalancer", "OptionName": "IpAddressType", "Value": "dualstack" } ]

다음 예제는 기존 환경을 업데이트하여 IpAddressType 옵션을 IPv4로 설정합니다.

참고

이 예제 update-environment 명령은 환경 구성을 듀얼 스택에서 IPv4로 롤백해야 할 경우 유용합니다.

예 IpAddressType을 IPv4로 설정하기 위한 update-environment
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=ipv4

.ebextensions 구성 파일 사용

환경의 로드 밸런서가 IPv6 및 IPv4 네트워크 트래픽을 모두 처리할 수 있도록 하려면 Elastic Beanstalk 구성 파일을 사용할 수 있습니다. aws:elbv2:loadbalancer 네임스페이스의 IpAddressType 옵션을 dualstack으로 설정하세요.

참고

이 구성은 여러 시점의 데이터 전파 시기에 따라 달라집니다. 로드 밸런서를 구성하고 변경 사항을 테스트할 때 다음 타이밍 요구 사항을 고려하세요.

VPC 구성 시간. Amazon VPC 사전 조건에 설명된 VPC 구성을 완료한 후, .ebextensions구성을 적용하기 전에 몇 분간 VPC 변경 사항이 전파되도록 기다리세요. 이 구성 설정 중에 VPC 또는 서브넷 구성 오류가 발생하면 몇 분 정도 기다렸다가 다시 시도하세요.

DNS 전파 시간입니다. IpAddressType 옵션을 듀얼 스택으로 설정한 후 변경 사항이 전파될 때까지 몇 분 기다렸다가 테스트합니다. Route 53 DNS 전파는 1~2분 정도 소요될 수 있습니다. 이 과정 중 IPv6 프로토콜을 사용해 클라이언트에서 애플리케이션으로의 통신을 테스트하면 일시적인 문제가 발생할 수 있습니다.

예 로드 밸런서 듀얼 스택 구성을 위한 .ebextensions/options.config(간접 구문)
option_settings: aws:elbv2:loadbalancer: IpAddressType: dualstack
예 로드 밸런서 듀얼 스택 구성을 위한 .ebextensions/options.config(표준 구문)
option_settings: - namespace: aws:elbv2:loadbalancer option_name: IpAddressType value: dualstack

AWS SDK 사용

AWS SDK를 사용하여 듀얼 스택을 구성할 수 있습니다. 이전 섹션에서 언급한 update-environmentcreate-environment AWS CLI 명령과 마찬가지로 CreateEnvironmentUpdateEnvironment API 작업을 사용할 수 있습니다. OptionSettings 요청 파라미터를 사용하여 aws:elbv2:loadbalancer 네임스페이스의 옵션을 지정합니다.

참고

이 구성은 여러 시점의 데이터 전파 시기에 따라 달라집니다. 로드 밸런서를 구성하고 변경 사항을 테스트할 때 다음 타이밍 요구 사항을 고려하세요.

VPC 구성 시간. Amazon VPC 사전 조건에 설명된 VPC 구성을 완료한 후 변경 사항이 전파될 때까지 몇 분 정도 기다린 후 프로그램을 실행하여 듀얼 스택용 로드 밸런서를 구성합니다. 듀얼 스택 설정 중에 VPC 또는 서브넷 구성 오류가 발생하면 몇 분 정도 기다렸다가 듀얼 스택 구성을 위한 프로그램을 다시 실행해 보십시오.

DNS 전파 시간입니다. IpAddressType 옵션을 듀얼 스택으로 설정한 후 변경 사항이 전파될 때까지 몇 분 기다렸다가 테스트합니다. Route 53 DNS 전파는 1~2분 정도 소요될 수 있습니다. 이 과정 중 IPv6 프로토콜을 사용해 클라이언트에서 애플리케이션으로의 통신을 테스트하면 일시적인 문제가 발생할 수 있습니다.

문제 해결

AI 지원 문제 해결을 위해 Amazon Q Developer CLI 사용

Amazon Q Developer CLI를 사용하면 환경 문제를 신속하게 해결할 수 있습니다. Q CLI는 환경 상태를 확인하고, 이벤트를 검토하고, 로그를 분석하고, 명확한 질문을 하여 솔루션을 제공합니다. 자세한 내용과 자세한 안내는 AWS 블로그의 Amazon Q Developer CLI를 사용한 Elastic Beanstalk 환경 문제 해결을 참조하세요.

이 섹션에서는 로드 밸런서 듀얼 스택 구성 관련 문제를 해결하기 위한 지침을 제공합니다.

이벤트: VPC vpc_id에 IPv6 CIDR 블록이 구성되어 있지 않습니다. 듀얼 스택 로드 밸런서를 사용하려면 IPv6 CIDR 블록이 필요합니다. 듀얼 스택 모드를 사용하기 전에 VPC에 IPv6 CIDR 블록을 연결하세요.

VPC와 모든 서브넷에는 IPv6 CIDR 블록이 연결되어 있어야 합니다. 이는 듀얼 스택 지원을 위해 로드 밸런서를 구성하기 전에 완료해야 하는 VPC 사전 조건 중 하나입니다. 이 작업을 완료하는 데 필요한 자세한 내용은 이 주제 전반부의 Amazon VPC 사전 조건 섹션을 참조하세요.

이벤트: VPC vpc_id의 하나 이상의 서브넷에 IPv6 CIDR 블록이 구성되어 있지 않습니다. 듀얼 스택 로드 밸런서와 함께 사용할 서브넷에는 반드시 IPv6 CIDR 블록이 연결되어 있어야 합니다. 듀얼 스택 모드를 사용하기 전에 IPv6 CIDR 블록을 모든 필수 서브넷과 연결하세요.

VPC의 모든 서브넷에는 IPv6 CIDR 블록이 연결되어 있어야 합니다. 이는 듀얼 스택 지원을 위해 로드 밸런서를 구성하기 전에 완료해야 하는 VPC 사전 조건 중 하나입니다. 이 작업을 완료하는 데 필요한 자세한 내용은 이 주제 전반부의 Amazon VPC 사전 조건 섹션을 참조하세요.

오류: IpAddressType 옵션은 Application Load Balancer 또는 Network Load Balancer로 구성된 Elastic Beanstalk 환경에서만 적용할 수 있습니다.

이 메시지는 사용자의 Elastic Beanstalk 환경이 단일 인스턴스 환경이거나 Classic Load Balancer를 사용하고 있을 수 있음을 나타냅니다. Application Load Balancer 또는 Network Load Balancer로 구성된 환경에서만 IpAddressType를 구성할 수 있습니다.