AWS Toolkit for Eclipse를 사용하여 Elastic Load Balancing 구성 - AWS Elastic Beanstalk

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

AWS Toolkit for Eclipse를 사용하여 Elastic Load Balancing 구성

Elastic Load Balancing은 애플리케이션의 가용성과 확장성을 향상하는 Amazon의 웹 서비스입니다. Elastic Load Balancing을 사용하면 두 개 이상의 Amazon EC2 인스턴스 간에 애플리케이션 로드를 분산시킬 수 있습니다. Elastic Load Balancing은 중복성을 통해 가용성을 개선하고, 애플리케이션의 트래픽을 늘립니다.

Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 실행 중인 모든 EC2 서버 인스턴스에 자동으로 분산하여 균형을 맞출 수 있게 해 줍니다. 또한 이 서비스를 사용하면 애플리케이션 용량을 늘려야 할 때 새 인스턴스를 쉽게 추가할 수 있습니다.

애플리케이션을 배포할 때 Elastic Beanstalk에서는 Elastic Load Balancing을 자동으로 프로비저닝합니다. Toolkit for Eclipse 내 환경의 구성 탭에 있는 로드 밸런싱에서 Elastic Beanstalk 환경의 로드 밸런싱 구성을 편집할 수 있습니다.

다음 섹션에서는 애플리케이션에 대해 구성할 수 있는 Elastic Load Balancing 파라미터에 대해 설명합니다.

포트

Elastic Beanstalk 애플리케이션의 요청을 처리하도록 프로비저닝된 로드 밸런서는 애플리케이션을 실행하는 Amazon EC2 인스턴스로 요청을 전송합니다. 프로비저닝된 로드 밸런서는 HTTP 및 HTTPS 포트에서 요청을 수신하고, AWS Elastic Beanstalk 애플리케이션의 Amazon EC2 인스턴스로 요청을 라우팅할 수 있습니다. 기본적으로 로드 밸런서는 HTTP 포트의 요청을 처리합니다. 포트(HTTP 또는 HTTPS) 중 한 개 이상을 활성화해야 합니다.

중요

지정한 포트가 잠겨 있지 않은지 확인합니다. 그렇지 않으면 사용자가 Elastic Beanstalk 애플리케이션에 연결할 수 없습니다.

HTTP 포트 제어

HTTP 포트를 비활성화하려면 HTTP 리스너 포트에 대해 OFF를 선택합니다. HTTP 포트를 활성화하려면 HTTP 포트를 선택합니다(예: 80).

참고

포트 8080처럼 기본 포트 80 이외의 포트를 이용해 환경에 액세스하려면 기존 로드 밸런서에 리스너를 추가하고 새 리스너에서 해당 포트에 대해 수신 대기하도록 구성합니다.

예를 들어, AWS CLI for Classic Load Balancers를 사용해 다음 명령을 입력하여 LOAD_BALANCER_NAME을 Elastic Beanstalk의 로드 밸런서 이름으로 바꿉니다.

aws elb create-load-balancer-listeners --load-balancer-name LOAD_BALANCER_NAME --listeners "Protocol=HTTP, LoadBalancerPort=8080, InstanceProtocol=HTTP, InstancePort=80"

예를 들어, AWS CLI for Application Load Balancers를 사용해 다음 명령을 입력하여 LOAD_BALANCER_ARN을 Elastic Beanstalk의 로드 밸런서 ARN으로 바꿉니다.

aws elbv2 create-listener --load-balancer-arn LOAD_BALANCER_ARN --protocol HTTP --port 8080

Elastic Beanstalk이 환경을 모니터링하도록 설정하려면 포트 80에서 리스너를 제거하지 마십시오.

HTTPS 포트 제어

Elastic Load Balancing에서는 로드 밸런서에 대한 클라이언트 연결에 대해 트래픽 암호화를 활성화하도록 HTTPS/TLS 프로토콜을 지원합니다. 로드 밸런서에서 EC2 인스턴스로 연결할 때 일반 텍스트를 사용합니다. 기본적으로 HTTPS 포트는 비활성화되어 있습니다.

HTTPS 포트를 활성화하려면
  1. AWS Certificate Manager(ACM)을 사용하여 새 인증서를 만들거나 AWS Identity and Access Management(IAM)에 인증서와 키를 업로드합니다. ACM 인증서 요청에 대한 자세한 내용은 AWS Certificate Manager 사용 설명서인증서 요청을 참조하세요. 서드 파티 인증서를 ACM으로 가져오는 방법에 대한 자세한 내용은 AWS Certificate Manager 사용 설명서인증서 가져오기를 참조하세요. ACM을 귀하의 AWS 리전에서 사용할 수 없는 경우, AWS Identity and Access Management(IAM)을 사용하여 서드 파티 인증서를 업로드하세요. ACM 및 IAM 서비스는 인증서를 저장하고 SSL 인증서에 Amazon 리소스 이름(ARN)을 제공합니다. 인증서를 생성하고 IAM에 업로드하는 방법에 대한 자세한 내용은 IAM 사용 설명서의서 서버 인증서 작업을 참조하십시오.

  2. HTTPS 리스너 포트 드롭다운 목록에서 포트를 선택하여 HTTPS 포트를 지정합니다.

  3. SSL 인증서 ID 텍스트 상자에 SSL 인증서의 Amazon 리소스 이름(ARN)을 입력합니다. 예: arn:aws:iam::123456789012:server-certificate/abc/certs/build 또는 arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678. 1단계에서 생성하여 업로드한 SSL 인증서를 사용합니다.

HTTPS 포트를 비활성화하려면 HTTPS Listener Port(HTTPS 리스너 포트)에 대해 끄기를 선택합니다.

상태 확인

Load Balancing(로드 밸런싱) 패널의 EC2 인스턴스 상태 확인 섹션을 사용하여 상태 확인의 설정을 제어할 수 있습니다.

아래 목록은 애플리케이션에 대해 설정할 수 있는 상태 확인 파라미터에 대한 설명입니다.

  • 인스턴스 상태를 확인하기 위해 Elastic Beanstalk에서는 쿼리하는 URL에서 응답 코드 200을 찾습니다. 기본적으로 Elastic Beanstalk는 레거시가 아닌 컨테이너에는 TCP:80을, 레거시 컨테이너에는 HTTP:80을 확인합니다. 애플리케이션의 기존 리소스에 일치하도록 애플리케이션 상태 점검 URL 상자에 기본 URL을 입력하여 재정의할 수 있습니다(예: /myapp/index.jsp). 기본 URL을 재정의하는 경우, Elastic Beanstalk는 HTTP를 사용하여 리소스를 쿼리합니다. 레거시 컨테이너 유형을 사용하는지 여부를 확인하려면 일부 플랫폼 버전이 레거시로 표시되는 이유는 무엇입니까? 단원을 참조하십시오.

  • 상태 확인 간격(초)에 애플리케이션의 Amazon EC2 인스턴스에 대한 상태 확인 사이에 경과되는 시간(초)을 입력합니다.

  • 상태 확인 제한 시간에 인스턴스가 응답하지 않는다고 간주되기 전 Elastic Load Balancing의 응답 대기 시간을 초로 지정합니다.

  • 정상 확인 개수 임계값비정상 확인 개수 임계값 상자에 Elastic Load Balancing이 인스턴스 상태를 변경하기 전 연속적으로 성공하거나 실패하는 URL 프로브의 개수를 지정합니다. 예를 들어 비정상 확인 개수 임계값 텍스트 상자에 5를 지정하게 되면 Elastic Load Balancing이 상태 확인의 "실패"를 고려하기 전 URL에서 오류 메시지나 제한 시간을 5회 연속 반환해야 한다는 것을 의미합니다.

세션

기본적으로 로드 밸런서는 로드가 가장 적은 서버 인스턴스에 요청을 각각 독립적으로 라우팅합니다. 이에 비해, 고정 세션은 세션 중에 사용자로부터 나오는 모든 요청이 동일한 서버 인스턴스로 전송되도록 사용자 세션을 동일한 특성 서버 인스턴스에 바인딩합니다.

Elastic Beanstalk는 애플리케이션에 대해 고정 세션을 활성화할 때 로드 밸런서가 생성한 HTTP 쿠키를 사용합니다. 로드 밸런서가 특별한 로드 밸런서 생성 쿠키를 사용하여 각 요청에 대한 애플리케이션 인스턴스를 추적합니다. 로드 밸런서는 요청을 받으면 가장 먼저요청에 쿠키가 있는지 여부를 확인합니다. 쿠키가 있으면 해당 요청이 쿠키에 지정된 애플리케이션 인스턴스에 전송됩니다. 쿠키가 없는 경우에는 로드 밸런서가 기존 로드 밸런싱 알고리즘을 기반으로 애플리케이션 인스턴스를 선정합니다. 동일한 사용자의 후속 요청이 계속 해당 애플리케이션 인스턴스에 바인딩되도록 쿠키가 응답에 삽입됩니다. 정책 구성에서 각 쿠키의 유효 기간을 설정하는 쿠키 만료 시한을 정의합니다.

세션 단원의 로드 밸런서에서 애플리케이션에 대한 로드 밸런서가 세션 고정과 각 쿠키에 대한 기간을 허용할지 여부를 지정합니다.

Elastic Load Balancing에 대한 자세한 내용은 Elastic Load Balancing 개발자 안내서를 참조하십시오.