OCI에서 웹 계층 준비
기본 온프레미스 사이트와 일치하도록 OCI(Oracle Cloud Infrastructure)에서 보조 사이트를 프로비저닝하고 구성합니다.
참고:
다운로드 코드에서 Terraform 코드를 찾아 이 섹션에 설명된 리소스(OCI 로드 밸런서, SSL 인증서, 백엔드 집합 및 백엔드, 경로 지정 정책, 리스너 및 규칙 집합)를 생성할 수 있습니다.
(선택 사항) Oracle HTTP Server 호스트 준비
주:
Oracle HTTP Server 생성 및 구성은 선택 사항입니다. OCI 로드 밸런서(Oracle HTTP Server 사용 안함)만 사용하여 OCI에서 웹 계층을 구성할 수 있습니다.
Oracle HTTP Server 호스트 프로비전
OCI에서 실행되는 각 Oracle HTTP Server에는 온프레미스에서 실행되는 Oracle HTTP Server를 다루는 데 사용되는 라이센스 및 지원 계약 외에도 유효한 라이센스 및 지원 계약이 있어야 합니다. OCI용 Oracle WebLogic Server 이미지를 사용하여 Oracle Cloud에서 Oracle HTTP Server용 컴퓨트 인스턴스를 생성할 수 있습니다. 이러한 이미지로 생성된 컴퓨트 인스턴스에는 Oracle HTTP Server 실행 자격이 포함되며, 실행 중 상태일 때 WebLogic 소프트웨어를 실행할 수 있는 권한에 대해 OCPU/시간당 비용이 청구됩니다. OCI용 Oracle WebLogic Server로 컴퓨트 인스턴스를 생성할 때는 컴퓨트 인스턴스 콘솔 또는 마켓플레이스를 사용할 수 있습니다. 이러한 이미지는 Oracle Linux 7.9 및 Oracle Linux 8.5 운영 체제에서 사용할 수 있습니다.
이 예에서는 표에 표시된 것처럼 구획 내의 단일 가용성 도메인에서 두 개의 컴퓨트 인스턴스를 사용합니다.
이름 | 구획 | 가용성 도메인 | 이미지 | 모양 | VCN | 서브넷 |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 이미지(Oracle Linux 7.9) | VM.Standard2.2 | 하이드르브cn | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 이미지(Oracle Linux 7.9) | VM.Standard2.2 | 하이드르브cn | webTierSubnet |
다음을 수행하여 컴퓨트 인스턴스 콘솔을 통해 컴퓨트 인스턴스를 프로비전합니다.
운영 체제 사용자 및 그룹 준비
보조 컴퓨트 인스턴스에 기본 온프레미스 Oracle 소프트웨어에서 사용하는 사용자와 그룹이 동일한 필요합니다.
Oracle WebLogic Server for Oracle Cloud Infrastructure 이미지에는 이미 oracle 사용자 및 그룹이 있습니다. 그러나 이러한 값(사용자 이름, 그룹 이름, uid
및 gid
)은 primary instance에 있는 값과 일치하지 않을 수 있으므로 primary oracle 유저 및 그룹의 값과 일치하도록 보조 호스트를 구성해야 합니다. 다음 예제는 이 계층의 보조 호스트를 primary oracle 유저 및 그룹의 값과 일치하도록 구성하는 방법을 보여줍니다.
운영 체제 요구 사항 준비
runinstaller
를 실행할 필요가 없습니다. Oracle WebLogic Server for Oracle Cloud Infrastructure 이미지는 WebLogic 소프트웨어용으로 준비되었으므로 WebLogic에 대한 패키지를 수동으로 추가할 필요가 없습니다. 그러나 이러한 Oracle HTTP Server 호스트는 Oracle HTTP Server 제품을 실행합니다. 보조 호스트가 Oracle HTTP Server에 대한 요구 사항을 충족하는지 확인하십시오.Oracle HTTP Server에 대한 호스트 이름 별칭 준비
다음 두 가지 방법으로 구현할 수 있습니다.
- Oracle WebLogic Server for OCI 컴퓨트 인스턴스의
/etc/hosts
파일에 별칭으로 호스트 이름을 추가합니다. - 보조 OCI VCN에서 전용 DNS 뷰를 사용합니다.
/etc/hosts
파일 사용
/etc/hosts
파일에 추가됩니다. 이 모드는 기본 온프레미스 및 보조 Oracle Cloud Infrastructure(OCI) 사이트에서 DNS 서버가 동일한 경우와 기본 및 보조 사이트에서 별도의 DNS 서버가 사용되는 경우 모든 시나리오에서 유효합니다. /etc/hosts
파일의 항목은 /etc/nsswitch.conf
파일의 지시어 "hosts"에 미리 정의된 우선 순위이므로 DNS 확인보다 우선합니다.
그러나 이 방법을 사용하려면 모든 Oracle HTTP Server 호스트에 항목을 수동으로 추가해야 합니다.
DNS(Domain Name System) 사용
/etc/hosts
파일에 항목을 추가하는 대신 개인 DNS 뷰에 모든 항목을 추가할 수 있다는 것입니다.
OCI의 중간 계층 준비 단계에서 OCI에서 생성된 전용 뷰에 Oracle HTTP Server 가상 호스트 이름에 대한 항목을 추가합니다.
OCI 호스트 방화벽에서 필요한 포트 열기
ssh
, dhcp
)을 제외한 모든 포트에 대한 연결을 거부하는 것입니다. Oracle HTTP Server에서 사용하는 포트를 열어야 합니다.
Oracle HTTP Server에 대한 oracle
사용자 환경 변수 생성
oracle
사용자 프로파일에 Oracle HTTP Server 관련 환경 변수가 있습니다. ORACLE_HOME
, JDK_HOME
, PATH
, WEB_DOMAIN_HOME
등을 예로 들 수 있습니다.
기본 서버에서 Oracle HTTP Server 제품 및 구성 복제
rsync
를 사용하여 기본 Oracle HTTP Server 노드에서 바이너리 및 Oracle HTTP Server 구성을 복사할 수 있습니다.
또는 Oracle HTTP Server 소프트웨어를 다운로드하여 OCI Oracle HTTP Server 컴퓨팅 인스턴스의 0에서 설치하고 구성할 수 있습니다. 이 접근 방식은 이 문서의 범위를 벗어납니다. 그러나 Oracle HTTP Server OCI 컴퓨팅 인스턴스가 기본 Oracle HTTP Server 호스트와 다른 운영 체제를 사용하는 경우 이 접근 방식을 사용해야 합니다.
Oracle HTTP Server 이진 및 구성 파일은 일반적으로 전용 저장 영역에 상주합니다. OCI에서는 컴퓨팅 인스턴스가 기본적으로 가지는 블록 볼륨을 사용할 수 있습니다. 또는 각 Oracle HTTP Server 컴퓨트(OCI 블록 볼륨 준비 참조)에 대해 새 블록 볼륨을 생성하고 Oracle HTTP Server 컴퓨트 인스턴스(OCI 블록 볼륨 마운트 참조)에서 각 블록 볼륨을 마운트할 수 있습니다.
이 예에서는 추가 블록 볼륨을 만들지 않고 Oracle HTTP Server 컴퓨트 인스턴스의 기본 블록 볼륨을 사용합니다.
Oracle HTTP Server 구성 및 이진은 초과 근무를 자주 변경하지 않습니다. 이 초기 복제 후에 수명 주기 동안 동일한 복제를 반복할 수 있습니다. 또는 두 사이트 모두에서 Oracle HTTP Server 구성 변경을 구현하여 기본 및 보조 사이트에서 Oracle HTTP Server의 구성을 수동으로 유지 관리할 수 있습니다.
OCI 로드 밸런서 준비
클라우드에서 Oracle Cloud Infrastructure 로드 밸런서를 생성하고 구성합니다.
참고:
다운로드 코드에서 Terraform 코드를 찾아 이 섹션에 설명된 리소스(OCI 로드 밸런서, SSL 인증서, 백엔드 집합 및 백엔드, 경로 지정 정책, 리스너 및 규칙 집합)를 생성할 수 있습니다.
OCI 로드 밸런서 프로비전
기본 온프레미스 사이트와 일관성을 유지하려면 보조 사이트에서 Oracle Cloud Infrastructure(OCI)의 로드 밸런서를 시스템의 시작점으로 프로비전합니다.
백엔드 집합 생성
백엔드 집합은 동일한 애플리케이션을 실행하는 백엔드 서버 목록을 포함하는 논리적 엔티티입니다. 백엔드 집합을 정의할 때는 로드 밸런싱 정책과 건전성 검사 테스트를 지정해야 합니다. 그런 다음 백엔드 서버 목록을 추가할 수 있습니다.
백엔드 집합의 구성은 WebLogic Server 호스트 앞에서 Oracle HTTP Server를 사용하는지 여부에 따라 달라집니다.
Oracle HTTP Server를 사용하는 경우 OCI(Oracle Cloud Infrastructure) 로드 밸런서가 요청을 HTTPS 서버로 전송합니다. HTTPS 서버가 노출하는 각 포트에 대해 백엔드 집합을 생성합니다. 예를 들어, 애플리케이션에 대한 액세스를 제공하는 Oracle HTTP Server 리스너에 대해 하나의 백엔드 집합을 생성하고, 각 Oracle WebLogic Server 관리 콘솔에 대한 액세스를 제공하는 Oracle HTTP Server 리스너에 대해 다른 백엔드 집합을 생성합니다.
Oracle HTTP Server를 사용하지 않는 경우 OCI 로드 밸런서가 요청을 WebLogic 서버로 직접 전송합니다. 각 Oracle WebLogic Server 클러스터에 대한 백엔드 집합과 관리 서버에 대한 다른 백엔드 집합을 생성합니다.
- OCI 콘솔에 로그인합니다.
- 적절한 지역 및 구획을 선택합니다.
- 탐색 메뉴에서 네트워킹, 로드 밸런서를 차례로 누릅니다.
- 백엔드를 추가할 로드 밸런서를 누릅니다.
- 리소스 메뉴 아래의 백엔드 집합을 누른 다음 백엔드 집합 생성을 누릅니다.
- Create Backend Set 대화상자에서 다음을 입력합니다.
- 생성을 누릅니다.
Oracle HTTP Server가 다른 서비스에 대한 추가 포트를 수신하는 경우 유사한 방식으로 각 서비스에 대한 백엔드 집합을 생성합니다.
다음은 Oracle HTTP Server를 사용할 때의 백엔드 집합 예입니다.
구성요소 | 백엔드 집합 이름 | 트래픽 분배 정책 | 세션 지속성 | 쿠키 이름 (예제) | 속성: secure | 건전성 검사 |
---|---|---|---|---|---|---|
관리 서버 | OHS_Admin_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-ADMIN-Backendset |
선택되지 않음 | TCP 또는 HTTP |
모든 SOA 구성요소
|
OHS_HTTP_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-OHS-HTTP-Backendset |
선택됨 | TCP 또는 HTTP |
Oracle Web Services Manager | OHS_HTTP_internal_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-OHS-Internal-HTTP-Backendset |
선택되지 않음 | TCP 또는 HTTP |
Oracle HTTP Server가 다른 서비스에 대한 추가 포트를 수신하는 경우 유사한 방식으로 각 서비스에 대한 백엔드 집합을 생성합니다.
다음은 Oracle HTTP Server를 사용하지 않는 경우의 백엔드 집합 예입니다.
구성요소 | 백엔드 집합 이름 | 트래픽 분배 정책 | 세션 지속성 | 쿠키 이름(예) | 속성: secure | 상태 검사 |
---|---|---|---|---|---|---|
모든 제품(관리자) | Admin_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-ADMIN-Backendset |
선택 취소됨 | TCP 또는 HTTP |
Oracle Web Services Manager | WSM_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-WSM-Backendset |
선택 취소됨 | TCP 또는 HTTP |
Oracle SOA Suite, Business Process Management, and Oracle B2B | SOA_backendset |
가중치 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-SOA-Backendset |
선택됨 | TCP 또는 HTTP |
Oracle Service Bus | OSB_backendset |
가중 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-OSB-Backendset |
선택됨 | TCP 또는 HTTP |
Oracle Enterprise Scheduler(ESS) | ESS_backendset |
가중 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-ESS-Backendset |
선택됨 | TCP 또는 HTTP |
BAM(Business Activity Monitoring) | BAM_backendset |
가중 라운드 로빈 | 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. | X-Oracle-LBR-BAM-Backendset |
선택됨 | TCP 또는 HTTP |
추가 WebLogic 클러스터가 있는 경우 유사한 방식으로 각 클러스터에 대한 백엔드 집합을 생성합니다.
각 백엔드 집합에 대한 백엔드 정의
Oracle Cloud Infrastructure(OCI) 로드 밸런서에서 각 백엔드 집합에 대한 백엔드를 정의합니다.
Oracle HTTP Server를 사용하는 경우 Oracle HTTP Server 노드와 적합한 포트를 각 백엔드 집합의 백엔드로 추가합니다.
Oracle HTTP Server를 사용하지 않는 경우 Oracle WebLogic Server 노드와 적합한 포트를 각 백엔드 집합에 백엔드로 추가합니다.
- 콘솔에서 백엔드 집합을 선택합니다. 백엔드를 누른 다음 백엔드 추가를 누릅니다.
- 백엔드인 서버에 대한 IP 주소 및 포트를 입력하십시오.
이 표에서는 Oracle HTTP Server를 사용할 때 이 문서 예에서 생성된 백엔드 집합을 보여줍니다.
백엔드 집합 이름 | 백엔드 |
---|---|
OHS_Admin_backendset |
컴퓨트 인스턴스:
|
OHS_HTTP_backendset |
컴퓨트 인스턴스:
|
OHS_HTTP_internal_backendset |
컴퓨트 인스턴스:
|
이 표에서는 Oracle HTTP Server를 사용하지 않을 때 이 문서 예에서 생성된 백엔드 집합을 보여줍니다.
백엔드 집합 이름 | 백엔드 |
---|---|
Admin_backendset |
IP 주소:
|
WSM_backendset |
컴퓨트 인스턴스:
|
SOA_backendset |
컴퓨트 인스턴스:
|
OSB_backendset |
컴퓨트 인스턴스:
|
ESS_backendset |
컴퓨트 인스턴스:
|
BAM_backendset |
컴퓨트 인스턴스:
|
경로 지정 정책 정의 및 규칙 구성
라우팅 정책은 수신되는 요청을 올바른 백엔드 집합으로 디스패치하는 데 사용됩니다. 예를 들어, /console
에 대한 요청이 관리 백엔드 집합으로 전달되고 /app1
에 대한 요청이 app1
가 실행 중인 클러스터의 백엔드 집합으로 전달됩니다.
Oracle HTTP Server를 사용하는 경우 일반적으로 Oracle HTTP Server 구성에서 경로(예: /app1
, /app2
, /console
등)를 정의합니다. 이 경우 Oracle Cloud Infrastructure(OCI) 로드 밸런서에서 경로 지정 정책 및 규칙을 정의할 필요가 없습니다.
Oracle HTTP Server를 사용하지 않는 경우 요청을 해당 백엔드 집합으로 전달하려면 OCI 로드 밸런서에서 경로 지정 정책 및 규칙을 정의해야 합니다.
구성요소 | 경로 지정 정책 이름 | 규칙 | 조건: 임의의 일치 경로가 다음으로 시작하는 경우 | 작업: 백엔드 집합으로 경로 지정 |
---|---|---|---|---|
모든 제품(관리자) | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Oracle Service Bus(관리자) | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Oracle Web Services Manager | Internal_Rules |
WSM_routerule |
|
WSM_backendset |
Oracle Service Bus | SOA_Rules |
OSB_routerule |
|
OSB_backendset |
Oracle SOA Suite | SOA_Rules |
SOA_routerule |
(*) 사용자정의 작업에는 사용자정의 별칭이 필요할 수 있음 |
SOA_backendset |
비즈니스 프로세스 관리 | SOA_Rules |
SOA_routerule |
|
SOA_backendset |
Oracle Enterprise Scheduler(ESS) | SOA_Rules |
ESS_routerule |
|
ESS_backenset |
BAM(Business Activity Monitoring) | SOA_Rules |
BAM_routerule |
|
BAM_backendset |
Oracle B2B | SOA_Rules |
B2B_routerule |
|
SOA_backendset |
환경에 필요한 만큼 경로 지정 정책, 규칙 및 조건을 만들 수 있습니다.
리스너 생성
시스템에 액세스하는 데 사용되는 프런트엔드 이름과 포트의 각 조합에 대해 리스너를 생성합니다. 기본 로드 밸런서에서 사용하는 것과 동일한 호스트 이름(가상 프론트엔드 이름) 및 포트를 사용해야 합니다.
- Oracle Cloud Infrastructure 로드 밸런서에서 가상 프론트 엔드 호스트 이름을 호스트 이름으로 추가합니다.
- 리스너를 생성합니다.
다음 표는 이 문서 예제에서 생성된 리스너와 연관된 프로토콜, 포트, 백엔드 집합, 경로 지정 정책, 호스트 이름 및 SSL 사용량을 요약한 것입니다. 이는 참조 예제와 같습니다. 시스템에서 기본 Oracle WebLogic Server 시스템의 추가 프론트 엔드 호스트 이름, 포트 또는 프로토콜을 사용하는 경우 필요에 따라 해당 리스너 및 호스트 이름을 생성해야 합니다. 예를 들어, 대체 프론트 엔드를 사용하여 Oracle WebLogic Server 콘솔 및 Oracle Enterprise Manager 콘솔에 액세스하는 경우
리스너 | 프로토콜 | 포트 | 백엔드 집합 | 경로 지정 정책 | 호스트 이름 | SSL 사용 |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
mysoa.example.com | 아닙니다 |
HTTPS_listener |
HTTPS | 443 |
|
SOA_Rules |
mysoa.example.com | 예 |
HTTP_listener |
HTTP | 80 | 해당 사항 없음* | 해당 사항 없음 | mysoa.example.com | 아닙니다 |
Internal_listener |
HTTP | 8888 |
|
Internal_Rules |
mysoa.example.com | 아닙니다 |
* 이 예에서 HTTP_listener
는 요청을 HTTPS_listener
(HTTPS)로 재지정하는 데만 사용됩니다. 지정된 백엔드가 사용되지 않습니다. 그러나 데이터 제공은 필수이므로 SSL을 확인하지 않은 경우 제공해야 합니다(기본 빈 백엔드 집합 사용).
SSL 헤더에 대한 규칙 집합 생성
OCI(Oracle Cloud Infrastructure) 로드 밸런서에서 SSL 헤더에 대한 규칙 집합을 생성하고 HTTPS 리스너에 연관시킵니다.
HTTP 프로토콜을 HTTPS로 재지정하는 규칙 집합 생성
재지정 규칙을 생성하고 HTTP_listener와 연관시켜 포트 80을 포트 443으로 재지정합니다. EDG 토폴로지의 경우 로드 밸런서에서 포트 80(HTTP)에 도달하는 모든 요청을 포트 443(HTTPS)으로 재지정해야 합니다.
SOA 컴퓨트 인스턴스에 가상 프론트엔드 이름 및 IP 추가
재해 복구 토폴로지에서 클라이언트는 데이터 센터에 영향을 주지 않는 프론트엔드 FQDN(가상 프론트 엔드 이름 또는 고유 URL)을 사용하여 시스템에 액세스해야 합니다. 이 가상 프론트 엔드 이름은 현재 활성(기본) 사이트의 로드 밸런서 IP 주소로 분석되어야 합니다.
기본 시스템은 기본 로드 밸런서의 IP로 DNS에서 확인된 프론트엔드 가상 이름을 이미 사용하고 있어야 합니다. 그러나 각 사이트의 Oracle SOA Suite 호스트는 DNS를 통한 클라이언트 대면 분석에 관계없이 항상 로컬 로드 밸런서를 사용하여 프론트 엔드 이름을 확인해야 합니다. 이를 위해 각 사이트의 적절한 IP 주소를 사용하여 /etc/hosts
파일에 가상 프론트 엔드 이름이 추가됩니다. 각 사이트의 서로 다른 DNS 서버를 사용하여 이 작업을 수행할 수도 있습니다. 이 경우 로컬 DNS 서버는 각 사이트에서 적절한 로드 밸런서 IP를 사용하여 프론트 엔드 이름을 확인합니다.
/etc/hosts
파일 사용
/etc/hosts
파일을 변경하면 안됩니다. Oracle WebLogic Server 호스트는 항상 프론트 엔드 IP를 사용하여 가상 프론트 엔드 이름을 분석합니다. 전환 및 페일오버 절차 중 필요한 DNS 업데이트는 Oracle WebLogic Server 클라이언트에서 사용하는 DNS 또는 호스트 파일에서 수행됩니다.
DNS(Domain Name System) 사용
이 접근 방식을 따르는 경우 보조 로드 밸런서 IP를 가리키는 프론트엔드 이름을 보조 중간 계층에서 사용되는 DNS 서비스에 추가할 수 있습니다. 기본 로드 밸런서 IP를 가리키는 프론트 엔드 이름이 이미 분석되어 있을 것으로 예상됩니다.
기본 로드 밸런서 IP를 가리키는 프론트 엔드 이름이 이미 분석되어 있을 것으로 예상됩니다.