주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
서로 다른 도메인 이름을 사용하여 여러 인스턴스에 액세스하도록 OCI 로드 밸런서 구성
소개
이 사용지침서에서는 허브 및 스포크 네트워크 아키텍처의 OCI(Oracle Cloud Infrastructure) 로드 밸런서를 사용하여 URL 또는 도메인 이름을 기반으로 네트워크 트래픽을 다른 백엔드 집합(인스턴스)으로 재지정합니다.
Spoke VCN을 다른 고객이나 애플리케이션에 전담했다고 가정해 보겠습니다. 단일 로드 밸런서를 사용하여 로드 밸런서의 트래픽을 인터넷에서 외부에서 사용되는 서로 다른 스포크 VCN 기반 URL 내의 서로 다른 고객 인스턴스로 리디렉션하려고 합니다.
다음 이미지는 인터넷에서 다른 인스턴스 또는 애플리케이션에 액세스하기 위해 다른 URL을 사용할 때의 트래픽 플로우를 보여줍니다.
- 파란색 트래픽 플로우: VCN-A의 인스턴스에 액세스하기 위한 URL이
customer-a.iwanhoogendoorn.nl
인 첫번째 고객의 트래픽 플로우입니다. - 자주색 트래픽 플로우: VCN-B의 인스턴스에 액세스하기 위한 URL이
customer-b.iwanhoogendoorn.nl
인 첫번째 고객의 트래픽 플로우입니다. - 녹색 트래픽 플로우: VCN-C의 인스턴스에 액세스하기 위한 URL이
customer-c.iwanhoogendoorn.nl
인 첫번째 고객의 트래픽 플로우입니다.
목표
- 다양한 고객 호스트 이름 또는 URL을 기반으로 트래픽을 재지정할 수 있도록 로드 밸런서를 구성합니다.
필요 조건
-
이 튜토리얼에서 콘텐츠를 재생성하려면 다음 튜토리얼을 완료해야 합니다.
작업 1: OCI WAF(Web Application Firewall) 정책 변경
트래픽을 허용하도록 WAF 정책을 변경합니다.
-
OCI 콘솔에 로그인한 후 웹 애플리케이션 방화벽으로 이동하고 이 자습서에서 생성된 정책(작업 6: OCI 웹 애플리케이션 방화벽 설치 및 구성)을 선택합니다.
-
접근 제어 및 요청 제어 관리를 누릅니다.
- 편집을 눌러 액세스 규칙을 편집합니다.
- 모든 트래픽을 허용하려면 Action name을 Pre-configured Allow Action(작업 이름)으로 변경합니다.
- 변경사항 저장을 누릅니다.
작업 2: 공용 도메인 이름에 대한 DNS(도메인 이름 시스템) 구성
DNS 서버를 사용하여 도메인 이름 또는 호스트 이름 또는 URL을 구성하고 로드 밸런서의 공용 IP 주소에 매핑합니다.
이 자습서의 경우 테스트 중인 도메인 이름은 iwanhoogendoorn.nl
입니다. 다음 매핑이 표시됩니다.
이름 | 유형 | 값 |
---|---|---|
고객-a | A | 144.xxx.xxx.xxx (OCI 로드 밸런서의 공용 IP 주소) |
고객-b | A | 144.xxx.xxx.xxx (OCI 로드 밸런서의 공용 IP 주소) |
고객-c | A | 144.xxx.xxx.xxx (OCI 로드 밸런서의 공용 IP 주소) |
그러면 다음 하위 도메인이 만들어집니다.
customer-a.iwanhoogendoorn.nl
.customer-b.iwanhoogendoorn.nl
.customer-c.iwanhoogendoorn.nl
.
작업 3: 호스트 이름 OCI 로드 밸런서 구성
-
OCI 콘솔로 이동합니다.
- 네트워킹 및 로드 밸런서로 이동합니다.
- 이 자습서에서 생성된 로드 밸런서 작업 5: OCI 로드 밸런서 설치를 선택합니다.
-
로드 밸런서 세부정보가 표시되는지 확인하십시오.
- 호스트 이름을 누릅니다.
- 호스트 이름 생성을 누릅니다.
- 호스트 이름에 대한 이름을 입력합니다.
- 호스트 이름을 입력합니다. 이 자습서에서는
customer-a.iwanhoogendoorn.nl
를 사용합니다. - Create를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 고객 A에 대한 호스트 이름이 성공적으로 생성되었습니다.
- 호스트 이름 생성을 누릅니다.
- 호스트 이름에 대한 이름을 입력합니다.
- 호스트 이름을 입력합니다. 이 자습서에서는
customer-b.iwanhoogendoorn.nl
를 사용합니다. - Create를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- Customer B의 호스트 이름이 성공적으로 생성되었습니다.
- 호스트 이름 생성을 누릅니다.
- 호스트 이름에 대한 이름을 입력합니다.
- 호스트 이름을 입력합니다. 이 자습서에서는
customer-c.iwanhoogendoorn.nl
를 사용합니다. - Create를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- Customer C의 호스트 이름이 성공적으로 생성되었습니다.
- 호스트 이름 생성을 누릅니다.
작업 4: 다중 백엔드 집합 생성
OCI 로드 밸런서에 대한 백엔드 집합을 구성합니다.
-
각 고객에 대해 하나씩 세 개의 백엔드 집합을 생성합니다.
- 백엔드 집합을 누릅니다.
- 백엔드 집합 생성을 누릅니다.
- 고객 A의 백엔드 집합에 대한 이름을 입력합니다.
- 아래로.
- 프로토콜: HTTP를 선택합니다.
- 포트: 포트 80을 입력합니다.
- URL 경로: /를 입력합니다.
- 백엔드 집합 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 백엔드 집합 생성을 누릅니다.
- 고객 B의 백엔드 집합에 대한 이름을 입력합니다.
- 아래로.
- 프로토콜: HTTP를 선택합니다.
- 포트: 포트 80을 입력합니다.
- URL 경로: /를 입력합니다.
- 백엔드 집합 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 백엔드 집합 생성을 누릅니다.
- 고객 C의 백엔드 집합에 대한 이름을 입력합니다.
- 아래로.
- 프로토콜: HTTP를 선택합니다.
- 포트: 포트 80을 입력합니다.
- URL 경로: /를 입력합니다.
- 백엔드 집합 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 모든 고객에 대해 모든 백엔드 집합이 생성됩니다.
- Health에 Incomplete가 표시됩니다. 상태 검사를 수행할 수 있는 실제 백엔드를 지정해야 하기 때문입니다.
-
고객 A에 대한 백엔드 세트를 누릅니다.
-
아래로.
- 백엔드를 누릅니다.
- 백엔드 추가를 누릅니다.
- 스포크 VCN A에 호스트된 인스턴스를 선택합니다.
- 추가를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
-
백엔드에 인스턴스를 추가하면 초기 건전성 상태가 보류 중이 됩니다.
-
몇 분 후 Health 상태가 OK로 변경됩니다.
- 위로 이동.
- 백엔드 집합을 눌러 백엔드 집합 페이지로 돌아갑니다.
-
고객 B에 대한 백엔드 세트를 누릅니다.
- 백엔드를 누릅니다.
- 백엔드 추가를 누릅니다.
- 스포크 VCN B에 호스트된 인스턴스를 선택합니다.
- 추가를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
-
백엔드에 인스턴스를 추가하면 초기 건전성 상태가 보류 중이 됩니다.
-
몇 분 후 Health 상태가 OK로 변경됩니다.
- 위로 이동.
- 백엔드 집합을 눌러 백엔드 집합 페이지로 돌아갑니다.
-
고객 C에 대한 백엔드 세트를 누릅니다.
- 백엔드를 누릅니다.
- 백엔드 추가를 누릅니다.
- 스포크 VCN C에서 호스트된 인스턴스를 선택합니다.
- 추가를 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
-
백엔드에 인스턴스를 추가하면 초기 건전성 상태가 보류 중이 됩니다.
-
몇 분 후 Health 상태가 OK로 변경됩니다.
- 위로 이동.
- 백엔드 집합을 눌러 백엔드 집합 페이지로 돌아갑니다.
작업 5: 다중 리스너 생성
-
도메인 이름을 기준으로 각 고객에 대한 리스너를 구성합니다.
- 리스너를 누릅니다.
- 리스너 생성을 누릅니다.
- 이름: 고객 A의 리스너 이름을 입력합니다.
- 프로토콜: HTTP를 선택합니다.
- 포트: 80을 입력합니다.
- 호스트 이름: 작업 3에서 생성된 고객 A에 대한 호스트 이름을 선택합니다.
- 백엔드 집합: 작업 3에서 생성된 고객 A에 대한 백엔드 집합을 선택합니다.
- 리스너 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 고객 A의 리스너가 성공적으로 생성되었음을 알 수 있습니다.
- 리스너 생성을 누릅니다.
- 이름: 고객 B의 리스너 이름을 입력합니다.
- 프로토콜: HTTP를 선택합니다.
- 포트: 80을 입력합니다.
- 호스트 이름: 작업 3에서 생성된 고객 B에 대한 호스트 이름을 선택합니다.
- 백엔드 집합: 작업 3에서 생성된 고객 B에 대한 백엔드 집합을 선택합니다.
- 리스너 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
- 고객 B의 리스너가 성공적으로 생성되었음을 알 수 있습니다.
- 리스너 생성을 누릅니다.
- 이름: 고객 C의 리스너 이름을 입력합니다.
- 프로토콜: HTTP를 선택합니다.
- 포트: 80을 입력합니다.
- 호스트 이름: 작업 3에서 생성된 고객 C에 대한 호스트 이름을 선택합니다.
- 백엔드 집합: 작업 3에서 생성된 고객 A에 대한 백엔드 집합을 선택합니다.
- 리스너 생성을 누릅니다.
-
작업 요청이 제출되었음을 알 수 있습니다. 닫기를 누르면
-
고객 C의 리스너가 성공적으로 생성되었음을 알 수 있습니다.
작업 6: 다른 공용 도메인 이름으로 연결 테스트
-
새 브라우저 탭을 엽니다.
- 고객 A에 대한 URL(
customer-a.iwanhoogendoorn.nl
)을 입력합니다. - 로드 밸런서는 트래픽을 스포크 VCN A의 인스턴스로 리디렉션합니다.
- 고객 A에 대한 URL(
-
새 브라우저 탭을 엽니다.
- 고객 B의 URL(
customer-b.iwanhoogendoorn.nl
)을 입력합니다. - 로드 밸런서는 트래픽을 스포크 VCN B의 인스턴스로 리디렉션합니다.
- 고객 B의 URL(
-
새 브라우저 탭을 엽니다.
- 고객 C의 URL(
customer-c.iwanhoogendoorn.nl
)을 입력합니다. - 로드 밸런서는 트래픽을 스포크 VCN C의 인스턴스로 리디렉션합니다.
- 고객 C의 URL(
다른 URL 또는 호스트 이름을 기반으로 트래픽을 분산하는 로드 밸런서를 성공적으로 테스트했습니다.
확인
- 작성자 - Iwan Hoogendoorn(OCI 네트워크 전문가)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Configure the OCI Load Balancer to Access Multiple Instances using Different Domain Names
G12148-02
July 2024