Elastic Load Balancing 계층 - AWS OpsWorks

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

Elastic Load Balancing 계층

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

Elastic Load Balancing은 AWS OpsWorks 스택 레이어와는 약간 다르게 작동합니다. 계층을 생성하고 이 계층에 인스턴스를 추가하는 대신, Elastic Load Balancing 콘솔 또는 API를 사용하여 로드 밸런서를 생성한 후 기존 계층에 연결합니다. 계층의 인스턴스로 트래픽을 분배하는 것 이외에, Elastic Load Balancing이 수행하는 역할은 다음과 같습니다.

  • 비정상 Amazon EC2 인스턴스를 검색하고 비정상 인스턴스가 복원될 때까지 트래픽을 나머지 정상 인스턴스로 다시 라우팅합니다.

  • 수신 트래픽에 맞춰 요청 처리 용량을 자동으로 조정합니다.

  • 연결 드레이닝 기능을 활성화할 경우 로드 밸런서가 비정상이거나 연결 상태를 유지하지만 곧 등록 취소될 인스턴스에 대해서는 지정된 값의 제한 시간 동안 새로운 요청 전송을 중지하여 인스턴스가 인플라이트 요청을 모두 완료하도록 합니다.

로드 밸런서를 레이어에 연결하면 AWS OpsWorks Stacks는 다음을 수행합니다.

  • 현재 등록된 인스턴스를 등록 취소합니다.

  • 온라인 상태가 되면 계층의 인스턴스(로드 기반 및 시간 기반 인스턴스 포함)를 자동으로 등록하고 오프라인 상태가 되면 등록 취소합니다.

  • 해당 가용 영역에서 등록된 인스턴스에 대한 라우팅 요청을 자동으로 시작합니다.

로드 밸런서의 연결 드레이닝 기능을 활성화한 경우 Stacks에서 이를 지원할지 여부를 AWS OpsWorks 지정할 수 있습니다. 연결 드레이닝 지원 (기본 설정) 을 활성화하면 인스턴스가 종료된 후 AWS OpsWorks Stacks는 다음을 수행합니다.

  • 로드 밸런서에서 인스턴스를 등록 해제합니다.

    로드 밸런서는 새 요청 전송을 중지하고 연결 드레이닝을 시작합니다.

  • 로드 밸런서가 연결 드레이닝을 완료할 때까지 Shutdown 수명 주기 이벤트 트리거를 늦춥니다.

연결 드레이닝 지원을 활성화하지 않으면 인스턴스가 여전히 로드 밸런서에 연결되어 있더라도 AWS OpsWorks Stacks는 인스턴스가 종료되는 즉시 Shutdown 이벤트를 트리거합니다.

스택에서 Elastic Load Balancing을 사용하려면 먼저 Elastic Load Balancing 콘솔, CLI 또는 API를 사용하여 동일한 리전에서 하나 이상의 로드 밸런서를 생성해야 합니다. 다음 사항을 숙지해야 합니다.

  • 각 계층에 로드 밸런서를 하나만 연결할 수 있습니다.

  • 각 로드 밸런서는 한 계층만 처리할 수 있습니다.

  • AWS OpsWorks 스택은 Application Load Balancer를 지원하지 않습니다. Classic Load Balancer는 AWS OpsWorks Stacks와 함께만 사용할 수 있습니다.

따라서 밸런싱하려는 각 스택의 각 계층마다 별도의 Elastic Load Balancing 로드 밸런서를 생성하고 각각 해당 목적으로만 사용해야 합니다. AWS OpsWorks Stacks와 함께 사용하려는 각 Elastic Load Balancing 로드 밸런서에 고유한 이름 (예: MyStack 1 RailsLayer - ELB) 을 할당하여 로드 밸런서를 두 가지 이상의 용도로 사용하지 않도록 하는 것이 좋습니다.

중요

AWS OpsWorks 스택 계층에 대해 새 Elastic Load Balancing 로드 밸런서를 생성하는 것이 좋습니다. 기존 Elastic Load Balancing 로드 밸런서를 사용하려는 경우 먼저 해당 로드 밸런서가 다른 목적으로 사용되고 있지 않고 연결된 인스턴스가 없는지 확인해야 합니다. 로드 밸런서가 레이어에 연결되면 기존 인스턴스를 모두 OpsWorks 제거하고 해당 레이어의 인스턴스만 처리하도록 로드 밸런서를 구성합니다. 로드 밸런서를 계층에 연결한 후 Elastic Load Balancing 콘솔 또는 API를 사용하여 로드 밸런서의 구성을 수정하는 것은 기술적으로는 가능하지만 변경 사항이 영구적이지 않으므로 이렇게 하면 안 됩니다.

Elastic Load Balancing 로드 밸런서를 계층에 연결하려면
  1. 아직 연결하지 않은 경우 Elastic Load Balancing 콘솔, API 또는 CLI를 사용하여 스택의 리전에서 로드 밸런서를 생성합니다. 로드 밸런서를 생성할 때 다음 작업을 수행합니다.

    • 애플리케이션에 적합한 상태 확인 ping 경로를 지정해야 합니다.

      기본 ping 경로는 /index.html이고, 애플리케이션 루트에 index.html이 포함되지 않은 경우 적절한 ping 경로를 지정해야 상태 확인에 실패하지 않습니다.

    • 연결 드레이닝을 사용하려는 경우 이 기능이 활성화되어 있고 이 기능에 적절한 제한 시간 값이 설정되어 있어야 합니다.

    자세한 내용은 Elastic Load Balancing을 참조하세요.

  2. 균형을 맞추려는 계층을 생성하거나 기존 계층의 네트워크 설정을 편집합니다.

    참고

    사용자 지정 계층을 생성하는 경우 로드 밸런서를 연결할 수 없습니다. 계층의 설정을 편집해야 합니다.

  3. Elastic Load Balancing에서 계층에 연결할 로드 밸런서를 선택하고 AWS OpsWorks 스택에서 연결 드레이닝을 지원할지 여부를 지정합니다.

로드 밸런서를 계층에 연결하면 AWS OpsWorks Stacks는 스택 인스턴스에서 Configure 수명 주기 이벤트를 트리거하여 변경 사항을 알립니다. AWS OpsWorks 또한 로드 밸런서를 분리하면 스택이 구성 이벤트를 트리거합니다.

참고

인스턴스가 부팅된 후 AWS OpsWorks Stacks는 설치 및 배포 레시피를 실행하여 패키지를 설치하고 애플리케이션을 배포합니다. 레시피가 완료되면 인스턴스가 온라인 상태가 되고 AWS OpsWorks Stacks는 해당 인스턴스를 Elastic Load Balancing에 등록합니다. AWS OpsWorks 또한 스택은 인스턴스가 온라인 상태가 된 후 구성 이벤트를 트리거합니다. 이는 Elastic Load Balancing 등록과 Configure 레시피가 동시에 실행될 수 있으며, Configure 레시피가 완료되기 전에 인스턴스가 등록될 수 있다는 의미입니다. 인스턴스가 Elastic Load Balancing에 등록되기 전에 레시피가 완료되도록 레시피를 계층의 설정 또는 Deploy 수명 주기 이벤트에 추가해야 합니다. 자세한 정보는 레시피 실행을 참조하세요.

인스턴스를 로드 밸런서에서 제거하는 것이 유용할 때가 가끔 있습니다. 예를 들어 앱을 업데이트할 때 앱을 단일 인스턴스에 배포하고 앱이 올바로 작동하는지 확인한 후에 모든 인스턴스로 배포하는 것이 좋습니다. 일반적으로 업데이트가 검증될 때까지 사용자 요청을 수신하지 않도록 해당 인스턴스를 로드 밸런서에서 제거합니다.

온라인 인스턴스를 일시적으로 로드 밸런서에서 제거하려면 Elastic Load Balancing 콘솔 또는 API를 사용해야 합니다. 다음 섹션에서는 콘솔 사용 방법을 설명합니다.

인스턴스를 로드 밸런서에서 일시적으로 제거하려면
  1. Amazon EC2 콘솔을 열고 로드 밸런서를 선택합니다.

  2. 해당 로드 밸런서를 선택하고 [인스턴스] 탭을 엽니다.

  3. 인스턴스의 작업 열에서 로드 밸런서에서 제거를 선택합니다.

  4. 마치면 [인스턴스 편집]을 선택하여 인스턴스를 로드 밸런서로 반환합니다.

중요

Elastic Load Balancing 콘솔 또는 API를 사용하여 로드 밸런서에서 인스턴스를 제거하는 경우 Elastic Load Balancing을 사용하여 인스턴스를 되돌려 놓아야 합니다. AWS OpsWorks 스택은 사용자가 다른 서비스 콘솔이나 API로 수행하는 작업을 인식하지 못하며 인스턴스를 로드 밸런서로 반환하지 않습니다. 경우에 따라 AWS OpsWorks 스택이 인스턴스를 ELB에 다시 추가할 수 있지만 이는 보장된 동작이 아니며 모든 경우에 발생하지는 않습니다.

다음과 같이 특정 인스턴스 집합에 여러 로드 밸런서를 연결할 수 있습니다.

여러 로드 밸런서를 연결하려면
  1. Elastic Load Balancing 콘솔, API 또는 CLI를 사용하여 로드 밸런서 세트를 생성합니다.

  2. 각 로드 밸런서에 대해 사용자 지정 계층을 생성하고 해당 계층에 로드 밸런서 중 하나를 연결합니다. 이러한 계층에 대해 사용자 지정 레시피를 구현할 필요가 없습니다. 기본 사용자 지정 계층이면 충분합니다.

  3. 각 사용자 지정 계층에 인스턴스 세트를 추가합니다.

[인스턴스] 페이지로 이동하여 해당 로드 밸런서 이름을 클릭하면 로드 밸런서의 속성을 확인할 수 있습니다.

[ELB] 페이지에는 연결된 인스턴스의 DNS 이름 및 상태를 비롯해 로드 밸런서의 기본 속성이 표시됩니다. 스택이 VPC에서 실행되는 경우 이 페이지에는 가용 영역이 아니라 서브넷이 표시됩니다. 녹색 확인 표시는 정상 인스턴스를 나타냅니다. 이름을 클릭하면 로드 밸런서를 통해 서버에 연결할 수 있습니다.