Application Load Balancer를 Lightsail 인스턴스에 연결하려면 어떻게 해야 합니까?

5분 분량
0

Amazon Lightsail 인스턴스에서 Amazon Application Load Balancer 기능을 사용하려고 합니다. 어떻게 해야 합니까?

간략한 설명

Lightsail 로드 밸런서를 사용하여 웹 애플리케이션에 중복성을 추가하거나 더 많은 웹 트래픽을 처리할 수 있습니다. Lightsail 로드 밸런서를 사용하여 Lightsail 인스턴스에서 호스트되는 웹 사이트에 대한 Amazon 제공 SSL 인증서를 설치할 수도 있습니다.

하지만 Lightsail 로드 밸런서에는 Amazon Application Load Balancer와 비교되는 제한이 있습니다. Application Load Balancer는 다음과 같은 일부 영역에서 더 높은 유연성을 제공합니다.

  • 로드 밸런서 상태 확인의 유연성
  • 로드 밸런서와 인스턴스 간에 전송되는 데이터의 엔드 투 엔드 암호화
  • AWS WAF와 같은 방화벽 서비스 사용

Lightsail의 웹 사이트에 이러한 기능을 사용하려면 Application Load Balancer를 Lightsail 인스턴스에 연결하면 됩니다. Application Load Balancer를 설정하려면 다음을 수행합니다.

  1. 인스턴스에서 Application Load Balancer와 같은 AWS 리소스에 연결할 수 있도록 Lightsail에서 Amazon VPC 피어링을 구성합니다.
  2. (선택 사항) 웹 사이트에 연결하려는 경우 AWS Certificate Manager(ACM) SSL 인증서를 생성합니다.
  3. 대상 그룹의 대상을 Lightsail 인스턴스의 프라이빗 IP 주소로 설정하여 로드 밸런서를 구성합니다.
  4. 도메인이 DNS의 새 로드 밸런서를 가리키도록 합니다.

해결 방법

Lightsail에서 VPC 피어링 구성

VPC 피어링 구성에 대한 지침은 Lightsail 외부에서 AWS 리소스에 사용할 Amazon VPC 피어링 설정을 참조하세요.

Lightsail 인스턴스가 위치한 리전에 대해 VPC 피어링을 활성화해야 합니다. 이렇게 하려면 해당 리전에 기본 Amazon VPC가 있어야 하며 필요한 AWS Identity and Access Management(IAM) 권한이 있어야 합니다. 자세한 내용은 VPC 피어링을 사용하여 Lightsail과 다른 AWS 서비스 간의 통신을 설정하는 데 필요한 최소 IAM 권한은 무엇입니까?를 참조하세요.

기본 VPC가 있는지 확인하려면 기본 VPC 및 기본 서브넷 보기를 참조하세요.

기본 Amazon VPC가 없는 경우 새로 만들 수 있습니다. 자세한 내용은 기본 VPC 만들기를 참조하세요.

(선택 사항) ACM 인증서 생성

ACM 인증서를 도메인에 연결하고 HTTPS를 사용하여 웹 사이트에 액세스하려면 콘솔을 사용하여 퍼블릭 인증서 요청을 참조하세요.

인증서에 2개의 이름을 지정하는 것이 모범 사례입니다. 예를 들어 example.com*.example.com을 지정합니다. 이렇게 하면 기본 도메인과 하위 도메인(예: www.example.com 또는 xyz.example.com)에 동일한 인증서를 사용할 수 있습니다. 여기에 하위 도메인의 2가지 수준(예: abc.xyz.example.com)에 대한 와일드카드 SSL 인증서는 포함되지 않습니다.

이메일 검증 대신 DNS 도메인 검증을 사용하는 것도 모범 사례입니다. DNS 검증은 이메일 검증에 비해 여러 가지 이점이 있습니다.

DNS 또는 이메일을 사용하여 도메인의 소유권을 검증하는 데 문제가 있는 경우 다음을 참조하세요.

로드 밸런서에 대한 대상 그룹 구성 및 대상 등록

자세한 내용은 대상 그룹 구성을 참조하세요.

대상을 구성할 때 다음 사항에 유의하세요.

  • 대상 유형으로 IP를 선택해야 합니다.
  • Lightsail 인스턴스 내부에 SSL 인증서가 설치되어 있지 않은 경우 프로토콜을 HTTP로 유지하고 포트를 80으로 유지합니다. 인스턴스 내부에 HTTPS 리디렉션이 구성되지 않았는지 확인합니다. 그렇지 않으면 무한 리디렉션 루프 오류가 발생할 수 있습니다.
  • 프로토콜을 HTTPS로 유지하고 포트는 443으로 유지합니다. Application Load Balancer에서 Lightsail 인스턴스로 전송 중인 데이터를 암호화하려는 경우 인스턴스에 SSL 인증서가 설치되어 있는지 확인합니다.
  • VPC 섹션에서 기본 VPC를 선택합니다.
  • [대상 등록(Register target)] 섹션의 [네트워크(Network)]에서 [기타 프라이빗 IP 주소(Other Private IP addresses)]를 선택하고 Lightsail 인스턴스의 프라이빗 IP 주소를 지정합니다. Lightsail 인스턴스의 프라이빗 IP 주소를 확인하는 방법에 대한 자세한 내용은 인스턴스의 프라이빗 및 퍼블릭 IPv4 주소를 참조하세요.

로드 밸런서 구성

자세한 내용은 로드 밸런서 및 리스너 구성을 참조하세요.

로드 밸런서를 구성할 때 다음 사항에 유의하세요.

  • 기본 VPC와 2개 이상의 가용 영역을 선택해야 합니다. 원하는 가용 영역을 선택할 수 있습니다.
  • 보안 그룹을 선택하거나 새 보안 그룹을 생성합니다. 보안 그룹에 포트 80이 열려 있는지 확인합니다. 또한 로드 밸런서에 ACM 인증서를 연결하는 경우 포트 443을 엽니다.
  • ACM 인증서를 사용하여 HTTPS로 웹 사이트에 액세스하려면 새 HTTPS 리스너를 추가합니다.
  • HTTP와 HTTPS 리스너 모두가 이전 단계에서 생성한 대상 그룹을 가리키도록 설정합니다.

ALB DNS 이름을 가리키도록 도메인의 DNS 항목 업데이트

웹 사이트에서 Application Load Balancer를 사용하는 도메인에 Amazon 이름 서버와 Amazon Route 53을 사용하는 것이 모범 사례입니다. AWS는 IP 주소가 아닌 로드 밸런서의 DNS 이름을 제공하기 때문입니다. 대부분의 이름 서버는 example.com과 같은 정점 도메인에 대한 호스트 이름을 추가하는 것을 지원하지 않습니다. www.example.com이나 blog.example.com과 같은 하위 도메인에 대해서만 이 기능을 지원합니다. 하지만 Route 53는 정점 도메인인 example.com에서 로드 밸런서 DNS 이름을 직접 가리킬 수 있는 별칭 기능을 제공합니다.

참고: 도메인에 Lightsail DNS를 사용하는 경우에도 DNS를 Route 53로 전환해야 합니다. 이는 정점 도메인에서 Lightsail DNS의 Application Load Balancer DNS 이름을 가리킬 수 없기 때문입니다.

아직 Amazon을 사용하고 있지 않은 경우 도메인의 이름 서버를 Amazon으로 업데이트하려면 Route 53를 사용 중인 도메인의 DNS 서비스로 만들기를 참조하세요.

로드 밸런서의 DNS 이름을 가져오려면 ELB 로드 밸런서의 DNS 이름 가져오기를 참조하세요.

도메인이 로드 밸런서 DNS 이름을 가리키도록 Route 53 호스팅 영역을 업데이트하려면 ELB 로드 밸런서로 트래픽 라우팅을 참조하세요.

참고: Route 53에 EC2 인스턴스 IP 주소를 가리키는 도메인에 대한 DNS 레코드가 이미 있는 경우 새 레코드를 추가하는 대신 해당 레코드를 편집합니다.

최종 확인

브라우저에서 도메인에 액세스하여 웹 사이트가 올바르게 로드되고 있는지 확인합니다. 이제 Application Load Balancer가 Lightsail 인스턴스에 연결되었으므로 Lightsail 로드 밸런서에 없는 다양한 기능을 사용할 수 있습니다. AWS WAF와 같은 방화벽 서비스를 설정할 수도 있습니다.


AWS 공식
AWS 공식업데이트됨 3년 전