여러 위치 및 구역에 격리된 워크로드 배치
이 튜토리얼에서는 비용이 발생할 수 있습니다. Cost Estimator를 사용하여 예상 사용량을 기반으로 비용 추정값을 생성하십시오.
이 튜토리얼에서는 프로비저닝 IBM Cloud® Virtual Private Cloud(VPCs)에 의해 가용성이 높고 분리된 워크로드를 설정하는 단계를 안내합니다. 한 지역 내의 여러 구역에 가상 서버 인스턴스(VSIs)를 작성하여 애플리케이션의 고가용성을 보장합니다. 두 번째 지역에 추가 VSI를 생성하고 글로벌 로드 밸런서(GLB)를 구성하여 지역 간 고가용성을 제공하고 다른 지역에 있는 사용자의 네트워크 지연 시간을 줄입니다.
카탈로그의 GLB로 IBM Cloud Internet Services (CIS) 서비스를 프로비저닝하고 카탈로그에서 IBM Cloud Secrets Manager 서비스를 제공하여 모든 수신 HTTPS 요청에 대해 TLS(Transport Layer Security) 인증서를 관리합니다.
목표
- 가상 프라이빗 클라우드에 사용 가능한 인프라 오브젝트를 통한 워크로드 격리에 대해 이해합니다.
- 지역 내 구역 사이에서 로드 밸런서를 사용하여 가상 서버 사이에 트래픽을 분배합니다.
- 지역 사이에서 글로벌 로드 밸런서를 사용하여 복원성을 늘리고 대기 시간을 줄이도록 고가용성을 구현합니다.
- 관리자(DevOps)가 지역 1의 VPC에 있는 두 개의 다른 구역 아래의 서브넷에 VSI를 프로비저닝하고 지역 2에서 작성된 VPC에서 동일하게 반복합니다.
- 관리자는 지역 1의 여러 구역에 있는 백엔드 서버 풀과 프론트엔드 리스너로 로드 밸런서를 작성합니다. 지역 2에서 동일하게 반복합니다.
- 관리자가 연관된 사용자 정의 도메인이 있는 IBM Cloud Internet Services 인스턴스를 프로비저닝하고 두 개의 다른 VPC에서 작성된 로드 밸런서를 가리키는 글로벌 로드 밸런서를 작성합니다.
- 관리자가 도메인 SSL 인증서를 Secrets Manager 서비스에 추가하여 HTTPS 암호화를 사용으로 설정합니다.
- 사용자가 HTTP/HTTPS 요청을 하면 글로벌 로드 밸런서가 요청을 처리합니다.
- 요청이 글로벌 및 로컬 레벨 모두에서 로드 밸런서에 라우팅됩니다. 그런 다음 사용 가능한 서버 인스턴스에 의해 요청이 이행됩니다.
시작하기 전에
가상 사설 클라우드, 서브넷 및 가상 서버 인스턴스 작성
이 섹션에서는 지역 1의 서로 다른 두 구역에 서브넷을 생성한 후 VSI를 프로비저닝하여 지역 1에 자체 VPC를 생성합니다.
가상 프라이빗 클라우드 작성
- 가상 사설 클라우드 페이지로 이동하여 만들기를 클릭합니다.
- 위치 섹션에서 지역 및 지역(예:
Europe및London) 을 선택하십시오. - VPC 이름에
vpc-region1입력하고 리소스 그룹을 선택한 다음 선택 사항으로 태그를 추가하여 리소스를 정리합니다. - 기본 보안 그룹에서 SSH 허용 및 ping 허용을 선택 취소하십시오. 나중에 SSH 액세스는 유지보수 보안 그룹에 추가됩니다. 유지보수 보안 그룹은 기본 서버에서 SSH 액세스를 허용하기 위해 인스턴스에 추가됩니다. 이 튜토리얼에는 Ping 액세스가 필요하지 않습니다.
- 클래식 리소스에 대한 액세스 사용 을 선택하지 않은 상태로 두고 각 구역에 대한 기본 접두부 작성 을 선택하십시오.
- 서브넷에서 구역 1 서브넷의 이름을 변경하십시오. 연필 아이콘을 클릭하십시오.
- 서브넷의 고유 이름으로
vpc-region1-zone1-subnet을(를) 입력하십시오. - VPC 리소스 그룹과 동일한 리소스 그룹을 선택하십시오.
- 다른 값에는 기본값을 그대로 두십시오.
- 저장을 클릭하십시오.
- 서브넷의 고유 이름으로
- 서브넷에서 구역 2 서브넷의 이름을 변경하십시오. 연필 아이콘을 클릭하십시오.
- 서브넷의 고유 이름으로
vpc-region1-zone2-subnet을(를) 입력하십시오. - VPC 리소스 그룹과 동일한 리소스 그룹을 선택하십시오.
- 다른 값에는 기본값을 그대로 두십시오.
- 저장을 클릭하십시오.
- 서브넷의 고유 이름으로
- 서브넷에서 구역 3의 서브넷을 삭제하십시오. 빼기 아이콘을 클릭하십시오.
- 가상 프라이빗 클라우드 작성을 클릭하여 인스턴스를 프로비저닝하십시오.
애플리케이션에 대한 인바운드 트래픽을 허용하려면 보안 그룹을 작성하십시오.
보안 그룹에서 규칙을 정의하여 애플리케이션에 대한 HTTP(80) 및 HTTPS(443) 포트에 대한 인바운드 규칙을 사용 가능하게 하십시오. 이후 단계에서 VSI를 보안 그룹에 추가합니다.
-
보안 그룹 페이지로 이동하여 작성을 클릭하십시오.
-
이름에
vpc-region1-sg를 입력하고 VPC 리소스 그룹과 동일한 리소스 그룹 을 선택하십시오. -
이전에 작성된 vpc-region1 가상 프라이빗 클라우드를 선택하십시오.
-
아래 테이블에 있는 것과 동일한 인바운드 규칙 을 추가한 후 보안 그룹 작성을 클릭하십시오.
인바운드 규칙 프로토콜 소스 유형 소스 값 TCP 임의 0.0.0.0/0 포트 80-80 TCP 임의 0.0.0.0/0 포트 443-443
가상 서버 인스턴스를 프로비저닝하십시오.
- 서브넷 페이지로 이동하십시오.
- 모든 서브넷의 상태가 사용 가능인지 확인하십시오.
- vpc-region1-zone1-subnet 클릭한 다음 연결된 리소스를 클릭하고 연결된 인스턴스 아래에서 만들기를 클릭합니다.
- 가상 서버의 고유 이름으로
vpc-region1-zone1-vsi을(를) 입력하십시오. - 가상 프라이빗 클라우드, 리소스 그룹, 위치 및 구역 필드를 확인하거나 설정하십시오.
- 가상 서버의 고유 이름으로
- 이미지 및 프로파일 섹션 아래에서 이미지 변경을 클릭하십시오.
- 항목 검색 필드에
Ubuntu를 입력하고 임의의 이미지 버전을 선택한 후 저장을 클릭하십시오. - 프로파일 섹션에서 프로파일 변경을 클릭하십시오.
2 vCPUs및4 GB RAM를 프로파일로 사용하여 계산 을 선택하고 저장을 클릭하십시오.- SSH 키를 이전에 작성한 SSH 키로 설정하십시오.
- 가상 네트워크 인터페이스가 있는 네트워크 첨부아래에서 eth0 인터페이스의 행에 있는 연필 아이콘을 클릭하십시오.
- 다음을 클릭하십시오.
vpc-region1-sg를 확인하고 VPC 기본 보안 그룹을 선택 취소하십시오.- 다음 을 몇 번 클릭한 후 저장을 클릭하십시오.
- 가상 서버 생성을 클릭합니다.
- 위의 단계를 반복하여 vpc-region1-zone2-subnet 서브넷에서 vpc-region1-zone2-vsi 가상 서버를 프로비저닝하십시오.
다른 위치에 자원 작성
1단계의 위 단계를 반복하여 다른 지역 (예: 프랑크푸르트) 에서 서브넷 및 가상 서버 인스턴스가 있는 새 VPC를 프로비저닝하십시오. 위와 동일한 명명 규칙을 따르되 region1 region2 대체합니다.
가상 서버 인스턴스에 웹 서버 설치 및 구성
서버의 보안을 유지하기 위해 기본 호스트를 사용하여 원격 인스턴스에 안전하게 액세스에 언급된 단계를 수행하십시오. jump 서버로 작동하는 기본 호스트 및 이전에 프로비저닝된 VSIs에 대한 유지보수 보안 그룹을 사용하십시오.
각 VPC에 하나의 배스천 호스트가 필요합니다.
지역 1의 구역 1 서브넷에 프로비저닝된 서버로 성공적으로 SSH를 완료했습니다.
- 프롬프트에서 다음 명령을 실행하여 Nginx를 웹 서버로 설치하십시오.
sudo apt-get update sudo apt-get install nginx - 다음 명령을 사용하여 Nginx 서비스의 상태를 확인하십시오.
출력에는 Nginx 서비스가 활성 상태이고 실행 중이라고 표시되어야 합니다.sudo systemctl status nginx - 선택적으로, Nginx가 기대한 대로 작동하는지 확인하십시오.
curl localhost. 기본 Nginx 시작 페이지가 표시되어야 합니다. - 지역 및 구역 세부사항으로 html 페이지를 업데이트하려면 아래 명령을 실행하십시오.
nano /var/www/html/index.nginx-debian.htmlh1태그 인용Welcome to nginx!에 영역 및 구역을 추가하여 이제Welcome to nginx! server running in **zone 1 of region 1**를 읽고 변경사항을 저장하십시오. curl localhost명령을 실행하여 변경사항을 확인하십시오.- 위의 단계를 반복하여 모든 영역의 서브넷에 있는 VSI에 웹 서버를 설치 및 구성하고 해당 지역 및 영역 정보를 포함하도록 HTML을 업데이트하는 것을 잊지 마세요.
로드 밸런서를 사용하여 구역 간에 트래픽 분배
이 절에서는 두 개의 로드 밸런서를 작성합니다. 각각의 지역에 하나씩 있는 이 로드 밸런서는 서로 다른 구역에 있는 각각의 해당 서브넷 아래의 여러 서버 인스턴스 사이에서 트래픽을 분배합니다.
로드 밸런서를 통한 인바운드 및 아웃바운드 트래픽을 허용하는 보안 그룹 작성
애플리케이션으로의 트래픽을 허용하려면 HTTP(80) 및 HTTPS(443) 포트에 대한 인바운드 및 아웃바운드 규칙을 사용으로 설정해야 합니다. 이후 단계에서 로드 밸런서를 작성할 때, 이들을 이러한 규칙을 정의하는 보안 그룹에 추가합니다.
-
보안 그룹 페이지로 이동하여 작성을 클릭하십시오.
-
이전에 작성된 vpc-region1 가상 프라이빗 클라우드를 선택하십시오.
-
이름에
vpc-lb-sg를 입력하고 VPC 리소스 그룹과 동일한 리소스 그룹 을 선택하십시오. -
아래 테이블에 있는 것과 동일한 인바운드 규칙 을 추가하십시오.
인바운드 규칙 프로토콜 소스 유형 소스 값 TCP 임의 0.0.0.0/0 포트 80-80 TCP 임의 0.0.0.0/0 포트 443-443 -
아래 테이블에 있는 것과 동일한 아웃바운드 규칙 을 추가한 후 보안 그룹 작성을 클릭하십시오.
아웃바운드 규칙 프로토콜 소스 유형 소스 값 TCP 임의 0.0.0.0/0 포트 80-80 TCP 임의 0.0.0.0/0 포트 443-443 -
지역 2에서 위 단계를 반복하십시오.
로드 밸런서 구성
- 로드 밸런서 페이지로 이동하여 작성을 클릭하십시오.
- ALB (Application Load Balancer) 를 로드 밸런서 유형으로 선택하십시오.
- 위치 섹션에서 이전에 작성된 vpc-region1 가상 프라이빗 클라우드에 사용한 것과 동일한 지역 및 지역 을 선택하십시오.
- 이름에
vpc-lb-region1를 입력하고 VPC 리소스 그룹과 동일한 리소스 그룹 을 선택하십시오. - 이전에 작성된 vpc-region1 가상 프라이빗 클라우드를 선택하십시오.
- vpc-region1-zone1-subnet 및 vpc-region1-zone2-subnet 서브넷을 선택합니다.
- 풀 작성을 클릭하여 풀에 라우팅된 트래픽을 공유하는 동등한 피어 역할을 수행하는 VSI의 새 백엔드 풀을 작성하십시오. 아래 값으로 매개변수를 설정하고 완료되면 생성을 클릭합니다.
- 이름:
region1-pool - 프로토콜:
HTTP - 세션 고정성:
None - 프록시 프로토콜:
Disabled - 방법:
Round robin - 성능 상태 확인 경로:
/ - 성능 상태 프로토콜:
HTTP - 상태 포트: 공백으로 둠
- 간격(초):
15 - 제한시간(초):
5 - 최대 재시도 수:
2 - 작성을 클릭하십시오.
- 이름:
- 풀에 서버 인스턴스를 추가하려면 서버 연결을 클릭하십시오.
- 서브넷 드롭 다운에서 vpc-region1-zone1-subnet 및 vpc-region1-zone2-subnet 을 선택하십시오.
- 작성한 인스턴스를 선택하고
80를 포트로 설정하십시오. - 접속을 클릭하여 백엔드 풀 작성을 완료하십시오.
- 리스너 작성을 클릭하여 새 프론트엔드 리스너를 작성하십시오. 리스너는 연결 요청을 확인하는 프로세스입니다.
- 백엔드 풀:
region1-pool - 프로토콜:
HTTP - 프록시 프로토콜: 선택되지 않음
- 포트:
80 - 최대 연결 수: 비어 있는 상태로 두고 작성을 클릭하십시오.
- 백엔드 풀:
- 보안 그룹 에서
vpc-lb-sg를 선택하고 기본 보안 그룹을 선택 취소하십시오. - 로드 밸런서 생성을 클릭하여 로드 밸런서를 프로비저닝합니다.
- 지역 2 에서 위의 단계를 반복하십시오. 이번에는 로드 밸런서
vpc-lb-region2및 백엔드 풀region2-pool의 이름을 지정하십시오.
로드 밸런서 테스트
- 로드 밸런서의 상태가 활성으로 변경될 때까지 기다리십시오.
- 웹 브라우저에서 호스트 이름을 여십시오.
- 페이지를 여러 번 새로고침하고 새로고침할 때마다 로드 밸런서가 다른 영역 또는 가상 서버 인스턴스의 결과를 반환하는 것을 확인합니다.
- 나중에 참조할 수 있도록 주소를 저장하십시오.
요청이 암호화되지 않고 HTTP만 지원한다는 것을 눈치채셨을 것입니다. 다음 절에서 SSL 인증서를 구성하고 HTTPS를 사용으로 설정합니다.
다중 위치 로드 밸런싱 구성
현재 애플리케이션이 두 지역에서 실행되고 있지만 사용자가 단일 진입점에서 투명하게 액세스할 수 있는 구성 요소가 하나 누락되어 있습니다.
이 절에서는 두 지역 간에 로드를 분산시키기 위해 IBM Cloud Internet Services(CIS)을(를) 구성합니다. CIS은(는) 애플리케이션을 보호하는 동시에 클라우드 애플리케이션의 안정성과 성능을 보장하기 위해 글로벌 로드 밸런서(GLB), 캐싱, 웹 애플리케이션 방화벽(WAF) 및 _페이지 규칙_을 제공합니다.
글로벌 로드 밸런서를 구성하려면 다음 항목이 필요합니다.
- 사용자 정의 도메인이 CIS 이름 서버를 가리켜야 함
- VPC 로드 밸런서의 IP 주소 또는 호스트 이름을 검색해야 함
- 애플리케이션의 가용성을 유효성 검증하기 위한 상태 확인을 구성해야 함
- VPC 로드 밸런서를 가리키는 오리진 풀을 정의해야 함
IBM Cloud Internet Services에 사용자 정의 도메인 추가
첫 번째 단계는 CIS의 인스턴스를 작성하고 사용자 정의 도메인이 CIS 이름 서버를 가리키도록 하는 것입니다.
-
도메인을 소유하지 않은 경우 등록기관에서 도메인을 구매할 수 있습니다.
-
IBM Cloud 카탈로그에서 IBM Cloud Internet Services 으로 이동하십시오.
-
플랜을 선택하고 서비스 이름 및 리소스 그룹을 설정한 후 작성 을 클릭하여 서비스의 인스턴스를 작성하십시오.
-
서비스 인스턴스가 프로비저닝되고 나면 도메인 추가를 클릭하십시오.
-
도메인 이름을 입력하고 다음을 클릭하십시오.
-
DNS 레코드 설정은 선택적 단계이며 이 학습서에서는 건너뛸 수 있습니다. 다음을 클릭하십시오.
-
이름 서버가 지정되면 나열된 이름 서버를 사용하도록 등록 담당자 또는 도메인 이름 제공자를 구성하십시오.
-
이 시점에서 취소를 클릭하여 기본 페이지로 돌아갈 수 있으며, 등록자 또는 DNS 제공자를 구성한 후 변경사항이 적용되려면 최대 24시간이 필요할 수 있습니다.
개요 페이지의 도메인 상태가 _보류 중_에서 _활성_으로 변경되면
dig <your_domain_name> ns명령을 사용하여 새 이름 서버가 적용되었는지 확인할 수 있습니다.
글로벌 로드 밸런서에 대한 상태 확인 구성
상태 검사는 트래픽이 정상 상태인 풀로 라우팅될 수 있도록 풀의 가용성을 살펴보는 데 도움이 됩니다. 이러한 확인은 주기적으로 HTTP/HTTPS 요청을 전송하고 응답을 모니터합니다.
-
IBM Cloud Internet Services 대시보드에서 신뢰성 > Global Load Balancers로 이동하십시오.
-
상태 확인을 선택하고 작성을 클릭하십시오.
-
이름을
nginx설정합니다. -
모니터 유형으로 HTTP 를 선택하십시오.
-
포트를
80설정합니다. -
경로를
/설정합니다. -
작성을 클릭하십시오.
자체 애플리케이션을 구축할 때 애플리케이션 상태를 보고할 전용 상태 엔드포인트(예: /health )를 정의할 수 있습니다.
오리진 풀 정의
풀은 글로벌 부하 분산 장치에 연결될 때 트래픽이 지능적으로 라우팅되는 오리진 VSI 또는 부하 분산 장치의 그룹입니다. 두 지역에 있는 VPC 로드 밸런서를 사용하는 경우 위치 기반 풀을 정의하고 사용자 요청의 지리적 위치에 따라 가장 가까운 VPC 로드 밸런서로 사용자를 경로 재지정하도록 CIS를 구성할 수 있습니다.
VPC 로드 밸런서의 오리진 풀
- 오리진 풀을 선택하고 작성을 클릭하십시오.
- 풀의 이름을 입력하십시오:
region-1-pool. - 원점 이름을
region-1(으)로 설정하십시오. - 오리진 주소를 region1 VPC 로드 밸런서의 호스트 이름으로 설정하십시오. VPC 로드 밸런서의 개요 페이지를 참조하십시오.
- 기존 상태 검사를 선택하고 이전에 작성된 상태 검사를 선택하십시오.
- 지역 1의 위치에 가까운 상태 검사 지역을 선택하십시오.
- 저장 을 클릭하십시오.
- 지역 2에 대해 위의 단계를 반복하십시오.
글로벌 로드 밸런서 작성
오리진 풀이 정의되었으면 로드 밸런서의 구성을 완료할 수 있습니다.
-
로드 밸런서를 선택하고 작성을 클릭하십시오.
-
사용:
On및 프록시:Off의 기본값을 유지하십시오. -
글로벌 로드 밸런서의 이름(
lb)을 입력합니다. 이 이름은 애플리케이션에 액세스할 하위 도메인의 첫 글자가 됩니다.http://lb``<your_domain_name>). -
라우트 추가를 클릭하십시오.
-
지역:
Default을(를) 선택하십시오. -
방금 생성한 원본 풀, 즉 region-1-pool 및 region-2-pool 선택합니다.
-
추가 를 클릭하십시오.
-
지리적 라우트의 섹션을 펼치면 오리진 지역을 기반으로 트래픽을 분배할 수 있습니다.
원하는 경우 지리적 위치를 기반으로 더 많은 경로를 추가하고 가장 가까운 풀로 트래픽을 보낼 수 있습니다. 경로 추가를 클릭하고 글로벌 로드 밸런서 지역(예: 서유럽 )을 선택한 다음 원하는 풀(예: region-2-pool )을 선택한 후 추가를 클릭합니다. 정의된 경로와 일치하지 않는 요청은 기본 오리진 풀로 리디렉션되며, 정의한 글로벌 로드 밸런서 지역의 사용자는 가장 가까운 로드 밸런서/VSI로 리디렉션됩니다.
-
작성을 클릭하십시오.
HTTPS를 사용한 보안
HTTPS 암호화를 사용하려면 CIS 글로벌 로드밸런서와 VPC 로드밸런서 모두에서 서명된 인증서에 액세스할 수 있어야 합니다. IBM Cloud Secrets Manager 도메인의 인증서를 주문하거나 가져온 다음 관리하는 데 사용됩니다. 그런 다음 원하는 서비스에서 인증서에 대한 읽기 액세스를 허용하도록 IAM(Identity and Access Management) 서비스 권한 부여가 구성됩니다.
Secrets Manager 인스턴스 작성 및 권한 부여
-
기존 Secrets Manager 인스턴스가 있는 경우 이를 이 튜토리얼에 사용하거나 Secrets Manager 서비스 인스턴스 작성에 설명된 단계를 수행하여 필요한 경우 새 인스턴스를 작성할 수 있습니다.
-
SSL 인증서를 포함하는 Secrets Manager 인스턴스에 VPC 로드 밸런서 서비스 액세스를 제공하는 권한을 작성하십시오.
- ID 및 액세스 권한 부여로 이동하십시오.
- 작성을 클릭하고 VPC 인프라 서비스를 소스 서비스로 선택하십시오.
- 특정 리소스, 리소스 유형 을 선택한 후 VPC용 로드 밸랜서를 선택하십시오.
- Secrets Manager Target 서비스로 설정합니다.
- 작성자 서비스 액세스 역할을 지정하십시오.
- 대상 서비스 인스턴스는 모든 리소스일 수도 있고, 원하는 경우 특정 Secrets Manager 인스턴스일 수도 있습니다. 지금 선택한 모든 자원 을 해제하십시오.
- 권한 부여를 클릭하십시오.
-
Continuing in the 권한 관리 page, create an authorization that gives the Secrets Manager access to CIS:
- 작성을 클릭하고 Secrets Manager을(를) 소스 서비스로 선택하십시오.
- 모든 리소스 또는 이전에 만든 Secrets Manager 선택합니다.
- 인터넷 서비스를 대상 서비스로 선택하십시오.
- 모든 리소스 또는 이전에 생성한 CIS 선택합니다.
- 관리자 서비스 액세스 역할을 지정하십시오.
- 권한 부여를 클릭하십시오.
CIS 인스턴스가 다중 도메인을 지원하는 경우, 독자 역할을 CIS 인스턴스에 지정하고 관리자를 솔루션에 사용 중인 특정 도메인에 지정할 수도 있습니다. 특정 도메인에 대한 서비스 액세스 권한 부여 주제를 참조하십시오.
IBM CIS은(는) 글로벌 로드 밸런서에 대해 프록싱을 지원합니다. 로드 밸런서가 프록싱되는 경우, 이는 해당 트래픽이 직접 CIS을(를) 통해 이동함을 의미합니다. 로드 밸런서는 DNS 전용 및 HTTP 프록시 모드를 모두 지원합니다. 트래픽 라우팅 동작이 다음과 같이 다르기 때문에 진행하기 전에 아래 두 가지 대안 중 사용 사례에 가장 적합한 것을 고려하십시오.
- 대안 1: 프록시된 트래픽이 CIS를 통해 플로우됩니다.
- 대안 2: 프록시되지 않은(DNS 전용 모드) 트래픽은 클라이언트에서 오리진으로 직접 플로우됩니다. DNS 전용 모드에서는 CIS 보안, 성능 및 안정성 기능이 적용되지 않습니다.
자세한 정보를 얻으려면 DNS 레코드 및 글로벌 로드 밸런서 프록싱 주제를 읽어보십시오.
대안 1: 프록시, 트래픽이 CIS을(를) 통해 이동함
첫 번째 대안은 사용자 정의 도메인에 대한 와일드카드 인증서를 만든 다음 IBM Cloud Internet Services 프록시하는 것입니다CIS)에 프록시하여 업계 최고의 보안, 보호 및 성능 기능을 활용할 수 있습니다. 아래 단계에서 example.com 를 사용자 정의 도메인 이름으로 바꾸십시오.
현재 인증서 주문은 Let's Encrypt를 사용하는 것이므로 업데이트를 위해 지원되는 인증 기관 주제를 따를 수 있습니다. ** Let's Encryp**를 사용하려면 ACME 계정이 필요합니다. 써드파티 인증서 권한 연결 주제에 설명된 단계에 따라 계정을 작성하거나 등록하십시오. 또한 DNS 공급자 연결 주제의 단계에 따라 DNS 제공자를 추가해야 합니다. 이 튜토리얼에서는 CIS을(를) DNS 제공자로 추가해야 합니다.
처음에 HTTPS는 사용자에서 Secrets Manager(으)로만 구성됩니다.
- Secrets Manager에서 인증서를 주문하십시오.
- Secrets Manager 서비스를 열고 왼쪽에서 시크릿을 선택하십시오.
- 추가 를 클릭하십시오.
- 새 Secrets Manager 인스턴스를 사용하는 경우 인증서를 주문하기 전에 이를 구성해야 합니다. 공용 인증서 주문 준비 에 설명된 단계를 따르십시오.
- 공용 인증서 를 클릭한 후 다음을 클릭하십시오.
- 다음 양식을 완료하십시오.
- 이름 -기억할 수 있는 이름을 입력하십시오.
- 설명 -선택사항에 대한 설명을 입력합니다.
- 다음을 클릭하십시오.
- 인증 기관에서 구성된 Let's Encrypt 인증 기관 엔진을 선택하십시오.
- 키 알고리즘 아래에서 원하는 알고리즘을 선택하십시오.
- 번들 인증서 -중단
- 자동 인증서 순환 - 중단
- DNS 제공자에서 구성된 DNS 제공자 인스턴스를 선택하십시오.
- 도메인 선택을 클릭하고 와일드카드로 선택을 클릭하고 도메인 자체를 선택하지 않은 상태로 두고 완료를 클릭하십시오.
- 다음 을 클릭하십시오.
- 선택사항을 검토하고 추가를 클릭하십시오.
- 다음 단계를 실행하기 위해 활성화가 완료될 때까지 기다릴 필요가 없지만 성공을 확인하기 전에 활성화가 완료될 때까지 기다려야 합니다.
- 클라이언트 웹 브라우저에서 CIS 엔드포인트까지 https를 구성하십시오. CIS에서 TLS 보안을 구성하십시오.
- 보안 패널을 열고 TLS를 선택하십시오.
- 모드에 대해 Client-to-edge를 선택하십시오. 그러면 글로벌 로드 밸런서에서 https 연결이 종료되고 VPC 로드 밸런서에 대한 http 연결로 전환됩니다.
- CIS에서 TLS를 사용하도록 글로벌 로드 밸런서를 구성하십시오.
- 신뢰성 패널을 열고 Global Load Balancers를 선택하십시오.
- 이전에 작성된 글로벌 로드 밸런서를 찾은 후 프록시를 켜십시오.
- 브라우저에서 https://lb.example.com 을 열어 성공 여부를 확인합니다.
다음으로 CIS에서 VPC 로드 밸런서까지 HTTPS를 구성하십시오.
VPC 로드 밸런서에 HTTPS 리스너를 추가하십시오.
-
VPC 다음에 로드 밸런서를 탐색하고 vpc-lb-region1을 클릭하십시오.
-
프론트 엔드 리스너를 선택하십시오.
-
리스너 작성을 누르십시오.
-
기본 백엔드 풀:
region1-pool또는region2-pool을(를) 선택하십시오. -
HTTPS를 선택하고 포트에
443값을 입력합니다. -
이전에 작성한 Secrets Manager 인스턴스를 선택하십시오. SSL 인증서 드롭 다운에서는 암호화에서 Secrets Manager 인스턴스를 사용하여 주문한 인증서 이름을 표시해야 합니다. 작성을 클릭하십시오.
SSL 인증서 드롭다운에 example.com 없는 경우 VPC 부하 분산 장치에 Secrets Manager 서비스에 대한 액세스 권한을 부여하는 위의 인증 단계를 누락한 것일 수 있습니다. Secrets Manager 서비스에 example.com 대한 인증서가 있는지 확인합니다.
-
vpc-lb-region2 로드 밸런서에 대해 위의 단계를 반복하십시오.
생성된 와일드카드 인증서를 통해 vpc-lb-region1 .example.com과 같은 도메인 이름에 액세스할 수 있습니다. VPC 로드 밸런서 vpc-lb-region1의 개요 탭을 열고 호스트 이름이 xxxxxxx-REGION.lb.appdomain.cloud인지 확인하십시오. 와일드카드 인증서는 작동하지 않습니다. 별명을 작성하여 문제점을 수정한 후 구성을 업데이트하십시오.
-
DNS CNAME 레코드를 생성하여 클라이언트가 vpc-lb-region1 .example.com을 조회하고 xxxxxxx-REGION.lb.appdomain.cloud 확인할 수 있도록 할 수 있습니다.
- CIS에서 신뢰도 패널을 열고 DNS를 선택하십시오.
- DNS 레코드로 화면 이동하여 유형: CNAME, 이름: vpc-lb-region1, TTL: 자동 및 별명 도메인 이름: VPC 로드 밸런서 호스트 이름의 레코드를 작성하십시오.
- vpc-lb-region2에 대한 DNS CNAME 레코드를 추가하십시오.
-
이제 새 CNAME 레코드를 사용하도록 글로벌 로드 밸런서를 조정하십시오.
- 신뢰성 패널을 열고 Global Load Balancers를 선택하십시오.
- 오리진 풀을 찾아 편집하여 오리진 오리진 주소를 vpc-lb-region1.example.com 변경합니다.
- vpc-lb-region2.example.com 대해 위의 단계를 반복합니다.
-
엔드 투 엔드 보안을 사용으로 설정하십시오.
- 보안 패널을 열고 TLS를 선택하십시오.
- 모드에 대해 엔드-투-엔드 CA 서명을 선택하십시오. 이렇게 하면 글로벌 로드 밸런서에서는 HTTPS 연결을, VPC 로드 밸런서에서는 HTTPS 연결을 사용합니다.
브라우저에서 https://lb.example.com 을 열어 성공 여부를 확인합니다
대안 2: DNS 한정 모드, 트래픽이 클라이언트에서 VPC 로드 밸런서로 직접 이동함
이 대체 방법에서는 Secrets Manager을(를) 통해 Let's Encrypt로부터 lb.example.com에 대한 SSL 인증서를 주문하며 글로벌 로드 밸런서를 구성합니다.
현재는 CIS 글로벌 로드 밸런서에 대한 인증서를 직접 주문할 수 없지만, CNAME 레코드에 대한 인증서는 주문할 수 있습니다. 따라서 인증서를 주문하기 위해 CNAME을 작성합니다.
-
이전에 작성한 CIS 서비스를 여십시오. 이는 리소스 목록에서 찾을 수 있습니다.
-
신뢰성에 있는 글로벌 로드 밸런서로 이동하여 DNS를 클릭하십시오.
-
DNS 레코드 섹션으로 화면이동하여 새 레코드를 작성하십시오.
- 유형:
CNAME - 이름:
lb - TTL:
default (Automatic) - 별명 도메인 이름:
zzz.example.com - 레코드 추가를 클릭하십시오.
- 유형:
-
Secrets Manager에서 인증서를 주문하십시오.
- Secrets Manager 서비스를 열고 왼쪽에서 시크릿을 선택하십시오.
- 추가 를 클릭한 후 공용 인증서를 클릭하십시오. 다음을 클릭하십시오.
- 다음 양식을 완료하십시오.
- 이름 -
lb-alias. - 설명 -선택사항에 대한 설명을 입력합니다.
- 다음을 클릭하십시오.
- 인증 기관에서 구성된 Let's Encrypt 인증 기관 엔진을 선택하십시오.
- 키 알고리즘에서
RSA4096을(를) 선택하십시오. - 번들 인증서 -중단
- 자동 인증서 순환 - 중단
- DNS 제공자에서 구성된 DNS 제공자 인스턴스를 선택하십시오.
- 도메인 선택을 클릭하십시오.
- 나열된 도메인을 확장하여 하위 도메인 목록을 보고 lb.example.com 옆의 확인란을 선택한 후 완료를 클릭합니다.
- 이름 -
- 다음 을 클릭하십시오.
- 선택사항을 검토하고 추가를 클릭하십시오.
HTTPS 리스너를 작성하십시오.
-
VPC 로드 밸런서 페이지로 이동하십시오.
-
vpc-lb-region1을 선택하십시오.
-
프론트 엔드 리스너 아래에서 작성을 클릭하십시오.
- 프로토콜: HTTPS
- 포트: 443
- 백엔드 풀: 동일한 지역에 있는 풀
- SSL 지역으로 현재 지역을 선택하십시오.
- lb.example.com 대해 방금 생성한 SSL 인증서 주문 이름을 선택합니다
-
저장을 클릭하여 HTTPS 리스너를 구성하십시오.
지역 2의 로드 밸런서에서 위의 단계를 반복하십시오.
브라우저에서 lb.example.com 을 열어 성공 여부를 확인합니다
장애 복구 테스트
이제 대부분 지역 1의 서버에 액세스하고 있다는 것을 알 수 있습니다. 지역 2의 서버에 비해 가중치가 더 높기 때문입니다. 이제 지역 1 원점 풀에 상태 검사 실패를 발생시킵니다.
-
Virtual Server 인스턴스 목록으로 이동하십시오.
-
지역 1의 구역 1에서 실행 중인 서버 옆에 있는 **세 개의 점(...)**을 클릭한 후 중지를 클릭하십시오.
-
지역 1의 구역 2에서 실행 중인 서버에 대해서도 동일하게 반복하십시오.
-
CIS 서비스 아래의 GLB로 돌아가서 상태가 위험으로 변경될 때까지 기다리십시오.
-
이제 도메인 url을 새로 고치면 항상 지역 2에 있는 서버에 연결됩니다.
지역 1의 구역 1 및 구역 2에 있는 서버를 시작하는 것을 잊지 마십시오.
자원 제거
- CIS 서비스 아래에서 글로벌 로드 밸런서, 원본 풀 및 상태 검사를 제거하십시오.
- Secrets Manager 서비스에서 인증서를 제거하십시오.
- 로드 밸런서, VSI, 서브넷 및 VPC를 제거하십시오.
- 리소스 목록 아래에서 이 튜토리얼에 사용된 서비스를 삭제하십시오.