OCI에서 웹 계층 준비

기본 온프레미스 사이트와 일치하도록 OCI(Oracle Cloud Infrastructure)에서 보조 사이트를 프로비저닝하고 구성합니다.

참고:

다운로드 코드에서 Terraform 코드를 찾아 이 섹션에 설명된 리소스(OCI 로드 밸런서, SSL 인증서, 백엔드 집합 및 백엔드, 경로 지정 정책, 리스너 및 규칙 집합)를 생성할 수 있습니다.

(선택 사항) Oracle HTTP Server 호스트 준비

Oracle Cloud Infrastructure에서 Oracle HTTP Server 컴퓨트 인스턴스를 생성하고 구성합니다.

주:

Oracle HTTP Server 생성 및 구성은 선택 사항입니다. OCI 로드 밸런서(Oracle HTTP Server 사용 안함)만 사용하여 OCI에서 웹 계층을 구성할 수 있습니다.

Oracle HTTP Server 호스트 프로비전

Create a compute instance on the Oracle Cloud Infrastructure (OCI) web-tier subnet for each primary, on-premises Oracle HTTP Server host. 컴퓨트 인스턴스는 온프레미스 Oracle HTTP Server 호스트에서 사용되는 이미지 및 구성과 가장 유사한 OS 이미지 및 컴퓨트 구성을 사용해야 합니다.

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

다음을 수행하여 컴퓨트 인스턴스 콘솔을 통해 컴퓨트 인스턴스를 프로비전합니다.

  1. 테넌시의 OCI 콘솔에 로그인합니다.
  2. 적절한 영역을 선택합니다.
  3. 탐색 메뉴를 누르고 계산을 선택합니다. 인스턴스를 누른 후 인스턴스 생성을 누릅니다.
  4. 컴퓨트 인스턴스 및 구획의 이름을 입력합니다.
  5. 배치에서 인스턴스를 생성할 가용성 도메인을 선택합니다. OCI 지역에 둘 이상의 가용성 도메인이 있으면 WebLogic 컴퓨트 인스턴스를 다른 가용성 도메인에 배치할 수 있습니다.
  6. 이미지 및 구성에서 이미지 변경을 누르고 다음을 수행합니다.
    1. [이미지 소스] 드롭다운 목록에서 Oracle 이미지를 선택한 다음 Oracle WebLogic Server for OCI 이미지 목록에서 Oracle WebLogic Server Enterprise Edition UCM 이미지를 선택합니다.
    2. 선택한 이미지에 대해 오른쪽의 화살표를 누른 다음 유료 이미지의 이미지 빌드 버전을 선택합니다.
      • Oracle Linux 7.9(release-ol7.9-build-timestamp로 레이블이 지정됨)
      • Oracle Linux 8.5(release-ol8.5-build-timestamp로 레이블이 지정됨)
    3. 조건 및 조항을 검토하십시오. Oracle 이용약관 체크 박스를 선택하고 이미지 선택을 누릅니다.
  7. 이미지 및 구성에서 구성 변경을 누릅니다. 인스턴스 유형을 선택하고 기본 호스트와 가장 유사한 구성을 선택합니다.
    지원되는 구성 목록은 OCI용 Oracle WebLogic Server 이미지를 참조하십시오.
  8. 환경의 VCN, 서브넷(웹 계층 서브넷) 및 가용성 도메인을 선택합니다.
    용량 유형 및 결함 도메인을 지정하려면 고급 옵션 표시를 누릅니다.
  9. 인스턴스에 대한 네트워크를 구성합니다. 고급 네트워크 설정을 지정하려면 고급 옵션 표시를 누릅니다.
  10. SSH 키 추가에서 키를 생성하거나, 공용 키를 업로드하거나, 키를 붙여 넣습니다.
  11. Boot Volume 아래에서 인스턴스의 부트 볼륨에 대한 크기 및 암호화 옵션을 지정합니다.
  12. 고급 설정을 구성하려면 고급 옵션 표시를 누릅니다.
  13. 생성을 누릅니다.
  14. 이 단계를 반복하여 다른 컴퓨트 인스턴스를 생성합니다.

운영 체제 사용자 및 그룹 준비

보조 컴퓨트 인스턴스에 기본 온프레미스 Oracle 소프트웨어에서 사용하는 사용자와 그룹이 동일한 필요합니다.

Oracle WebLogic Server for Oracle Cloud Infrastructure 이미지에는 이미 oracle 사용자 및 그룹이 있습니다. 그러나 이러한 값(사용자 이름, 그룹 이름, uidgid)은 primary instance에 있는 값과 일치하지 않을 수 있으므로 primary oracle 유저 및 그룹의 값과 일치하도록 보조 호스트를 구성해야 합니다. 다음 예제는 이 계층의 보조 호스트를 primary oracle 유저 및 그룹의 값과 일치하도록 구성하는 방법을 보여줍니다.

OCI 컴퓨팅 인스턴스의 각 그룹 및 사용자는 모든 노드에서 기본 노드와 동일한 ID를 가져야 합니다.
  1. oracle 유저로 온-프레미스(On-Premise) 호스트에 로그인하여 기본 호스트에서 oracle 유저의 유저, 그룹 및 ID를 확인한 다음 id 명령을 사용합니다.
    [oracle@host3.myopnetwork.com ~]$ id
    uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
    
    [oracle@host3.myopnetwork.com ~]$ more /etc/passwd | grep oracle
    oracle:x:1001:1002::/home/oracle:/bin/bash

    다음 표는 일반적인 온프레미스 환경에 대한 샘플 사용자 및 그룹을 보여줍니다.

    사용자 또는 그룹 이름 ID 설명
    사용자 oracle 1001 Oracle 소프트웨어 소유자
    그룹 oinstall 1002 oracle 사용자의 주체 그룹
    dba 1001 oracle 사용자의 보조 그룹
  2. SSH를 통해 최근에 생성된 인스턴스에 opc 사용자로 액세스하여 보조 호스트에 존재하는 사용자, 그룹 및 ID를 식별합니다. opc 사용자, sudo 사용자, oracle 사용자 순으로 보조 호스트에 로그인한 다음 id 명령을 실행합니다.
    [opc@hydrsoa1 ~]$ sudo su - oracle
    [oracle@hydrsoa1 ~]$ id
    uid=1001(oracle) gid=1001(oracle) groups=1001(oracle),1002(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

    다음 표에서는 보조 컴퓨트 인스턴스에 이미 있는 oracle 사용자 및 그룹을 보여줍니다.

    사용자 또는 그룹 이름 ID 설명
    사용자 oracle 1001 Oracle 소프트웨어 소유자
    그룹 oracle 1001 oracle 사용자의 주체 그룹
    docker 1002 oracle 사용자의 보조 그룹
  3. 가능한 시나리오 및 솔루션은 다음과 같습니다.
    • 보조의 사용자 및 그룹은 기본 사용자와 다른 이름 및 ID입니다.

      해답: primary에 존재하는 것처럼 보조 클러스터에 유저 및 그룹을 생성합니다.

    • 2차 사용자 및 그룹은 이름이 같지만 1차 사용자와 다른 ID입니다.

      해결 방법: 주 ID와 일치하도록 보조 ID를 변경합니다.

    • 2차 사용자 및 그룹의 이름은 1차 ID의 이름과 다르지만 ID는 동일합니다.

      해결 방법: 보조 그룹의 사용자 및 그룹 이름을 변경합니다.

    • 충돌이 있습니다. 기본 사용자 또는 그룹의 일부 ID가 다른 사용자 또는 보조 그룹의 그룹에 의해 사용됩니다.

      해결 방법: 2차에서 충돌하는 사용자 또는 그룹의 ID를 변경하여 충돌을 해결한 다음 1차 사용자 또는 그룹의 ID와 일치하도록 2차 사용자 또는 그룹을 만듭니다.

    다음 표에는 충돌을 해결하기 위해 사용할 수 있는 명령이 요약되어 있습니다.

    작업 명령(루트로 실행)
    새 그룹을 생성하려면 다음을 수행합니다. groupadd group_name -g group_id

    예제:

    groupadd oinstall -g 1002 groupadd dba -g 1001
    새 사용자를 생성하려면 useradd -u user_id user_name -g principal_group -G other groups

    예제:

    useradd -u 1001 oracleuser -g oinstall -G dba
    사용자의 기본 그룹을 변경하려면 usermod -g new_primary_groupname user_name
    그룹에 사용자를 추가하려면 usermod -a -G secondary_groupname user_name
    사용자 ID를 변경하려면

    usermod -u new_id user_name

    find / -user old_uid -exec chown -h user_name {} \;

    예를 들어, 다음은 사용자 oracle의 ID를 1001에서 501로 변경합니다.

    usermod -u 501 oracle

    find / -user 1001 -exec chown -h oracle {} \;

    그룹의 ID를 변경하려면

    groupmod -g new_id group_name

    find / -group old_id -exec chgrp -h group_name {} \;

    예를 들어, 다음은 그룹 oracle의 ID를 1001에서 501로 변경합니다.

    groupmod -g 501 oracle

    find / -user 1001 -exec chgrp -h oracle {} \;

    참고:

    Oracle은 보조 OCI 컴퓨트 인스턴스의 변경사항을 수행할 것을 권장합니다. 주 ID 값은 수정하지 마십시오.

    다음은 주 호스트에서 사용되는 그룹의 ID가 보조 호스트의 다른 그룹에서 이미 사용되는 예입니다. 이 충돌을 해결하려면 다음 작업이 필요합니다.

    1. 보조 그룹의 docker 그룹은 기본 그룹 oinstall의 ID와 충돌하는 ID 1002를 사용합니다.
      충돌을 해결하려면 보조 호스트에서 그룹 docker의 ID를 충돌하지 않는 다른 ID로 변경합니다. 예를 들어, 새 ID로 1005를 선택하고 해당 ID가 /etc/group 파일에 나타나지 않는지 확인하여 사용되지 않는지 확인합니다.
      [opc@hydrsoa1 ~]$ sudo -s  
      [root@hydrsoa1 ~]$ more /etc/group | grep 1005
      ID가 사용되지 않음을 확인하면 그룹의 ID를 새 ID로 변경합니다.
      [opc@hydrsoa1 ~]$ sudo -s 
      [root@hydrsoa1 ~]$ groupmod -g 1005 docker
      [root@hydrsoa1 ~]$ find / -group 1002 -exec chgrp -h docker {} \;
    2. 보조 그룹의 그룹 oracle은 기본 그룹 dba의 ID와 충돌하는 ID 1001을 사용합니다.
      충돌을 해결하려면 보조 호스트에서 그룹 oracle의 ID를 충돌하지 않는 다른 ID로 변경합니다. 예를 들어, 새 ID로 1006을 선택하고 이 ID가 /etc/group 파일에 나타나지 않는지 확인하여 사용되지 않는지 확인합니다.
      [opc@hydrsoa1 ~]$ sudo -s 
      [root@hydrsoa1 ~]$ more /etc/group | grep 1006
      ID가 사용되지 않음을 확인하면 그룹의 ID를 새 ID로 변경합니다.
      [opc@hydrsoa1 ~]$ sudo -s 
      [root@hydrsoa1 ~]$ groupmod -g 1006 oracle
      [root@hydrsoa1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. 보조 호스트에서 기본 ID와 동일한 ID를 사용하여 오라클 사용자의 그룹 oinstalldba를 생성합니다.
      [opc@hydrsoa1 ~]$ sudo -s
      [root@hydrsoa1 ~]$ groupadd oinstall -g 1002
      [root@hydrsoa1 ~]$ groupadd dba -g 1001
    4. 기본 및 대기에서 사용자 oracle의 이름과 ID가 동일하므로 변경할 필요가 없습니다.
      그러나 보조 호스트에서 사용자의 기본 그룹을 oinstall로 변경해야 합니다.
      [root@hydrsoa1 ~]$ usermod -g oinstall oracle
      그런 다음 사용자를 dba 그룹에 추가합니다.
      [root@hydrsoa1 ~]$ usermod -a -G dba oracle
    5. 보조 호스트의 oracle 사용자에 대한 id 명령의 출력이 기본 및 보조 그룹의 기본과 일치하는지 확인합니다.
      기본 데이터베이스의 출력:
      [oracle@host3.myopnetwork.com ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
      보조의 출력(보조는 추가 그룹을 가질 수 있음):
      oracle@hydrsoa1 ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba),1005(docker)
              …
    6. (권장 사항) 변경 후 호스트를 재부트합니다.
  4. (선택 사항이지만 권장됨) oracle 유저에 대한 SSH 액세스를 활성화합니다.
    이 DR 토폴로지는 oracle 사용자가 직접 연결을 사용으로 설정하여 파일 시스템 컨텐츠를 기본에서 보조로 복사하는 데 사용되는 명령을 실행하므로 이 DR 토폴로지에 유용합니다.
    1. 컴퓨트 인스턴스에 접속하는 데 사용하는 공용 키를 텍스트 파일로 복사합니다. 이 절차의 뒷부분에서 사용할 것입니다.
    2. instance에 로그인하고 root 유저에게 sudo을 로그인합니다.
    3. 새 사용자의 홈 디렉토리에 .ssh 디렉토리를 만듭니다.
      mkdir -p /home/oracle/.ssh
    4. 컴퓨트에 접속하는 데 사용하는 SSH 공용 키를 파일로 복사합니다.
      /home/oracle/.ssh/authorized_keys
    5. /home/oracle/.ssh 디렉토리의 소유자 및 그룹을 oracle 사용자로 변경합니다.
      chown -R oracle:oinstall /home/oracle/.ssh
    6. oracle 사용자 및 전용 키를 사용하여 SSH에 접속하여 접속을 확인합니다.
    7. authorized_keys 파일의 권한을 600으로 설정합니다.
      chmod 600 /home/oracle/.ssh/authorized_keys

운영 체제 요구 사항 준비

Oracle HTTP Server 이진은 기본 Oracle HTTP Server 호스트에서 보조 Oracle HTTP Server 호스트로 복사됩니다. 따라서 보조 호스트에서 runinstaller를 실행할 필요가 없습니다. Oracle WebLogic Server for Oracle Cloud Infrastructure 이미지는 WebLogic 소프트웨어용으로 준비되었으므로 WebLogic에 대한 패키지를 수동으로 추가할 필요가 없습니다. 그러나 이러한 Oracle HTTP Server 호스트는 Oracle HTTP Server 제품을 실행합니다. 보조 호스트가 Oracle HTTP Server에 대한 요구 사항을 충족하는지 확인하십시오.
  1. 환경이 기본 호스트에 설치된 제품의 최소 설치 요구 사항을 충족하는지 확인합니다. Oracle Fusion Middleware System Requirements and Specifications에서 해당 문서를 확인합니다.
  2. 사용 중인 버전 및 OS에 필요한 시스템 패키지를 확인합니다.
  3. yum과 함께 누락된 시스템 패키지를 설치합니다.

    이 예에서는 Oracle HTTP Server 12.2.1.4 및 Oracle Linux 7을 사용합니다. 필요한 패키지 중 일부는 Oracle Cloud Infrastructure(OCI) 중간 계층 컴퓨트 인스턴스에 이미 설치되어 있습니다. 이 예에서는 다음 항목이 누락되었으며 yum을 사용하여 설치해야 했습니다.

    yum install compat-libcap1.x86_64
    yum install compat-libstdc++-33.x86_64
    yum install compat-libstdc++-33.i686 
    yum install gcc-c++.x86_64
    yum install libaio-devel.x86_64
    yum install libstdc++.i686    
    yum install libstdc++-devel.x86_64
    yum install dejavu-serif-fonts
    yum install numactl.x86_64
    yum install numactl-devel.x86_64
    yum install motif.x86_64
    yum install motif-devel.x86_64
    yum install redhat-lsb.x86_64
    yum install xorg-x11-utils.x86_64
    
  4. /etc/security/limits.conf 파일에서 파일 및 proc 제한을 구성합니다. 온-프레미스 Oracle HTTP Server 호스트의 제한을 검토하고 그에 따라 OCI Oracle HTTP Server 컴퓨트 인스턴스에서 값을 설정합니다.

Oracle HTTP Server에 대한 호스트 이름 별칭 준비

기본 환경의 Oracle HTTP Server 호스트에서 사용하는 것과 동일한 가상 호스트 이름을 보조 Oracle Cloud Infrastructure(OCI) Oracle HTTP Server 컴퓨트 인스턴스의 별칭으로 구성하되 보조 호스트의 IP 주소를 가리킵니다.

다음 두 가지 방법으로 구현할 수 있습니다.

  • Oracle WebLogic Server for OCI 컴퓨트 인스턴스의 /etc/hosts 파일에 별칭으로 호스트 이름을 추가합니다.
  • 보조 OCI VCN에서 전용 DNS 뷰를 사용합니다.
/etc/hosts 파일 사용
기본 서버에서 별칭으로 사용되는 가상 호스트 이름이 보조 호스트의 IP 주소를 가리키는 보조 호스트의 /etc/hosts 파일에 추가됩니다. 이 모드는 기본 온프레미스 및 보조 Oracle Cloud Infrastructure(OCI) 사이트에서 DNS 서버가 동일한 경우와 기본 및 보조 사이트에서 별도의 DNS 서버가 사용되는 경우 모든 시나리오에서 유효합니다. /etc/hosts 파일의 항목은 /etc/nsswitch.conf 파일의 지시어 "hosts"에 미리 정의된 우선 순위이므로 DNS 확인보다 우선합니다.

그러나 이 방법을 사용하려면 모든 Oracle HTTP Server 호스트에 항목을 수동으로 추가해야 합니다.

  1. Oracle HTTP Server 컴퓨팅 인스턴스의 /etc/oci-hostname.conf 파일을 편집하고 인스턴스 재부트 시 /etc/hosts 항목을 보존하도록 PRESERVE_HOSTINFO=3 속성을 설정합니다.
  2. hostname --fqdn 명령을 사용하여 OCI 컴퓨트 인스턴스의 전체 호스트 이름을 식별합니다.
  3. OCI Oracle HTTP Server 컴퓨팅 인스턴스의 /etc/hosts 파일에 다음 항목을 추가합니다.
    #################################
    # ALIASES for SOA DR
    #################################
    # Aliases of the Oracle HTTP Server hosts
    ohshost1_compute_instance_IP  ohshost1_fqdn  ohshost1_hostname    ALIASES_OF_WEBHOST1
    ohshost2_compute_instance_IP  ohshost2_fqdn  ohshost2_hostname    ALIASES_OF_WEBHOST2
    # The aliases for SOA are added too
    virtual_IP_for_admin          virtualIP_fqdn  virtualIP_hostname    ALIASES_OF_ADMINVHN
    soahost1_compute_instance_IP  soahost1_fqdn   soahost1_hostname     ALIASES_OF_SOAHOST1
    soahost2_compute_instance_IP  soahost2_fqdn   soahost2_hostname     ALIASES_OF_SOAHOST2

    참고:

    Oracle HTTP Server 호스트의 가상 이름을 별칭으로 추가하는 것 외에도 보조 WebLogic Server 호스트의 IP를 가리키는 Oracle WebLogic Server 호스트의 가상 이름이 추가됩니다. Oracle HTTP Server는 가상 호스트 이름을 사용하여 WebLogic Server 호스트와 통신하기 때문입니다.
    다음은 보조 Oracle HTTP Server 컴퓨팅 인스턴스의 /etc/hosts 파일 예입니다.
    #################################
    # ALIASES for SOA DR - SECONDARY
    #################################
    # The aliases of the Oracle HTTP Server hosts
    100.60.10.11 hydrohs1.webTiersubnet.hydrvcn.oraclevcn.com    hydrohs1    WEBHOST1.example.com WEBHOST1
    100.60.10.12 hydrohs2.webTiersubnet.hydrvcn.oraclevcn.com    hydrohs2    WEBHOST2.example.com WEBHOST2
    # The aliases of the SOA hosts
    100.70.10.20 hydrsoa-vip.midTiersubnet.hydrvcn.oraclevcn.com hydrsoa-vip ADMINVHN.example.com ADMINVHN
    100.70.10.13 hydrsoa1.midTiersubnet.hydrvcn.oraclevcn.com    hydrsoa1    SOAHOST1.example.com SOAHOST1
    100.70.10.14 hydrsoa2.midTiersubnet.hydrvcn.oraclevcn.com    hydrsoa2    SOAHOST2.example.com SOAHOST2
    다음은 기본 Oracle HTTP Server 호스트의 기존 /etc/hosts 파일에 대한 예입니다.
    #################################
    # ALIASES for SOA DR - PRIMARY
    #################################
    # The aliases of the Oracle HTTP Server hosts
    100.10.10.11 host1.myopnetwork.com    host1    WEBHOST1.example.com WEBHOST1
    100.10.10.12 host2.myopnetwork.com    host2    WEBHOST2.example.com WEBHOST2
    # The aliases of the SOA hosts
    10.10.10.20    host-vip1.myopnetwork.com         host-vip1       ADMINVHN.example.com   ADMINVHN
    10.10.10.13    host3.myopnetwork.com             host3           SOAHOST1.example.com   SOAHOST1
    10.10.10.14    host4.myopnetwork.com             host4           SOAHOST2.example.com   SOAHOST2
DNS(Domain Name System) 사용
기본 Oracle HTTP Server 호스트에서 사용하는 가상 호스트 이름이 보조 Oracle HTTP Server 호스트의 VCN에서 사용되는 DNS 분석기에 추가되어 보조 Oracle HTTP Server 호스트의 IP 주소를 가리킵니다. 이 모드는 별도의 DNS 서버가 기본 온프레미스에서 사용되고 보조 서버가 Oracle Cloud Infrastructure(OCI)에서 사용되는 경우 유효합니다. 그렇지 않으면 이름 지정 분석에 충돌이 발생할 수 있습니다. 각 사이트의 서버는 고유한 IP를 사용하여 이러한 이름을 확인해야 합니다.
이 방법의 장점은 모든 호스트의 /etc/hosts 파일에 항목을 추가하는 대신 개인 DNS 뷰에 모든 항목을 추가할 수 있다는 것입니다.

OCI의 중간 계층 준비 단계에서 OCI에서 생성된 전용 뷰에 Oracle HTTP Server 가상 호스트 이름에 대한 항목을 추가합니다.

  1. OCI 콘솔에서 보조 영역으로 이동하여 전용 뷰를 찾습니다.
    1. 네트워킹, DNS 관리, 개인 뷰를 누릅니다.
      예: HYBRID_DR_VIRTUAL_HOSTNAMES
    2. 개인 보기에서 가상 호스트를 추가하기 위해 만든 영역 이름을 누릅니다.
      이 예에서는 example.com입니다.
    3. Oracle HTTP Server 가상 호스트 이름을 이 영역에 추가하되, 보조 Oracle HTTP Server 호스트의 IP로 분석합니다.

      레코드를 추가하려면 OCI 콘솔 메뉴에 비fqdn 이름을 제공하면 됩니다. 영역의 DNS 도메인이 레코드에 자동으로 추가됩니다.

    4. 변경 사항 게시를 누릅니다.
  2. 추가된 가상 호스트 이름의 pingnslookup를 수행하여 해결 SECONDARY 호스트를 검증합니다.
    동등한 SECONDARY IP를 사용하여 이 문제를 해결해야 합니다.

OCI 호스트 방화벽에서 필요한 포트 열기

각 컴퓨팅 인스턴스에는 로컬 방화벽 서비스가 있습니다. 보안상의 이유로 기본 구성은 필요한 최소값(ssh, dhcp)을 제외한 모든 포트에 대한 연결을 거부하는 것입니다. Oracle HTTP Server에서 사용하는 포트를 열어야 합니다.
  1. 방화벽 서비스 상태 및 규칙을 확인합니다.
    bash-4.2# firewall-cmd --state
    running
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    이 출력은 22개를 제외하고 열린 포트가 없음을 의미합니다.
  2. 루트 사용자로 firewall-cmd 명령을 사용하여 각 Oracle HTTP Server 컴퓨트 인스턴스에서 Oracle HTTP Server에 의해 수신 포트로 사용되는 포트를 엽니다.
    예제:
    firewall-cmd --permanent --add-port=7001/tcp 
    firewall-cmd --permanent --add-port=8890/tcp 
    service firewalld reload
  3. 방화벽 서비스 상태 및 규칙을 확인합니다.
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports: 7001/tcp 8890/tcp 8888/tcp
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:

Oracle HTTP Server에 대한 oracle 사용자 환경 변수 생성

일반적으로 Oracle HTTP Server 호스트의 oracle 사용자 프로파일에 Oracle HTTP Server 관련 환경 변수가 있습니다. ORACLE_HOME, JDK_HOME, PATH, WEB_DOMAIN_HOME 등을 예로 들 수 있습니다.
  1. 기본 Oracle HTTP Server 호스트에서 oracle 사용자의 프로파일 파일을 검토합니다.
  2. 보조 인터페이스에서 동일한 Oracle HTTP Server 관련 환경 변수를 oracle 사용자의 프로파일 파일(.bashrc 또는 .bash_profile)에 추가합니다.

    Oracle HTTP Server 호스트에 있는 oracle 사용자의 .bashrc 파일은 이미 정의된 변수(MIDDLEWARE_HOME, WLS_HOME 등)를 포함할 수 있지만, 해당 환경의 폴더에 대한 것이므로 적합하지 않습니다. 환경 폴더에 따라 제거하거나 수정해야 합니다.

기본 서버에서 Oracle HTTP Server 제품 및 구성 복제

보조 Oracle HTTP Server OCI 컴퓨팅 인스턴스는 기본 Oracle HTTP Server 호스트(동일한 OS, 사용자 ID, 호스트 이름 별칭 등)로 생성되므로 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 컴퓨트 인스턴스의 기본 블록 볼륨을 사용합니다.

  1. 기본 Oracle HTTP Server 노드에서 Oracle HTTP Server 이진 및 구성의 폴더를 식별합니다.
    예제:
  2. OCI Oracle HTTP Server 컴퓨팅 인스턴스에 동일한 폴더를 생성합니다. 기본에 사용된 것과 동일한 경로를 사용해야 합니다.
    1. OS 컴퓨트 인스턴스에 SSH로 접속하고 sudoroot 사용자에게 SSH로 접속합니다.
    2. 폴더를 생성하고 oracle을 소유자로 설정합니다.
      예제:
      bash-4.2# mkdir -p /u02/oracle/products/ohs_12214
      bash-4.2# mkdir -p /u02/oracle/config/ohsdomain_12214
      bash-4.2# chown -R oracle:oinstall /u02
    3. Oracle HTTP Server OCI 컴퓨팅 인스턴스에 대해 반복합니다.
  3. rsync를 사용하여 온-프레미스 기본 WEBHOST1의 제품 폴더를 원격 WEBHOST1에 복사합니다. 단계를 반복하여 products 폴더를 WEBHOST2에서 원격 WEBHOST2로 복사합니다. 또한 다른 Oracle HTTP Server 컴퓨팅 인스턴스에 대해서도 이 단계를 반복합니다.

    참고:

    온-프레미스 기본 WEBHOST1에서 원격 WEBHOST1로 Oracle HTTP Server 제품 폴더를 복사하는 데 사용할 수 있는 예제 스크립트가 있습니다.

    코드 다운로드로 이동하여 스크립트를 다운로드합니다.

  4. rsync를 사용하여 Oracle HTTP Server 구성 폴더를 온-프레미스 기본 WEBHOST1에서 원격 WEBHOST1로 복사합니다. 이 단계를 반복하여 구성 폴더를 WEBHOST2에서 원격 WEBHOST2로 복사합니다. 또한 다른 Oracle HTTP Server 컴퓨팅 인스턴스에 대해서도 이 단계를 반복합니다.

    참고:

    온-프레미스 기본 WEBHOST1에서 원격 WEBHOST1로 Oracle HTTP Server 구성 폴더를 복사하는 데 사용할 수 있는 예제 스크립트가 있습니다.

    코드 다운로드로 이동하여 스크립트를 다운로드합니다.

  5. 기본 Oracle HTTP Server 호스트에서 /etc/oraInst.loc 파일을 복사하여 보조 호스트에 저장합니다.
    이 파일은 oraInventory의 위치만 포함하며 시간이 지남에 따라 변경되지 않으므로 이 복사본은 일회성 작업입니다.
  6. oraInventory 폴더가 products 폴더 아래에 있으면 Oracle HTTP Server Oracle 홈과 함께 복사됩니다. oraInventory 폴더가 다른 위치에 있는 경우 보조 호스트에도 복사해야 합니다.

Oracle HTTP Server 구성 및 이진은 초과 근무를 자주 변경하지 않습니다. 이 초기 복제 후에 수명 주기 동안 동일한 복제를 반복할 수 있습니다. 또는 두 사이트 모두에서 Oracle HTTP Server 구성 변경을 구현하여 기본 및 보조 사이트에서 Oracle HTTP Server의 구성을 수동으로 유지 관리할 수 있습니다.

OCI 로드 밸런서 준비

클라우드에서 Oracle Cloud Infrastructure 로드 밸런서를 생성하고 구성합니다.

참고:

다운로드 코드에서 Terraform 코드를 찾아 이 섹션에 설명된 리소스(OCI 로드 밸런서, SSL 인증서, 백엔드 집합 및 백엔드, 경로 지정 정책, 리스너 및 규칙 집합)를 생성할 수 있습니다.

OCI 로드 밸런서 프로비전

기본 온프레미스 사이트와 일관성을 유지하려면 보조 사이트에서 Oracle Cloud Infrastructure(OCI)의 로드 밸런서를 시스템의 시작점으로 프로비전합니다.

  1. OCI 콘솔에 로그인합니다.
  2. 적절한 영역 및 구획을 선택합니다.
  3. 네트워킹, 로드 밸런서로 이동합니다. 로드 밸런서 생성을 누릅니다.
  4. 로드 밸런서 유형을 선택합니다.
  5. 로드 밸런서의 이름을 제공합니다.
    예: hyDRlbr.
  6. 가시성 유형(public 또는 private) 및 요구 사항에 맞는 대역폭을 선택합니다.
    • 인터넷을 통해 외부 클라이언트에서 시스템에 액세스할 경우 공용 표시 여부를 선택합니다. OCI 로드 밸런서는 공용 IP를 사용합니다.
    • 클라이언트에서 내부적으로만 시스템에 액세스할 경우 전용 표시 여부를 선택하여 전용 IP로만 로드 밸런서를 프로비전할 수 있습니다.
  7. 적합한 VCN 및 서브넷을 선택합니다.
    예: hydrvcnwebTierSubnet.
  8. 이 시점에서 백엔드를 추가하지 마십시오.
  9. 기본값을 사용하는 기본 리스너 유지
  10. 제출을 누릅니다.
OCI 로드 밸런서의 IP를 저장합니다(예: 100.100.100.10).

인증서 업로드

기본 로드 밸런서에서 사용되는 인증서를 업로드합니다.

  1. 콘솔에서 로드 밸런서, 인증서, 인증서 추가를 차례로 누릅니다.
  2. 기본 로드 밸런서가 사용하는 인증서의 공용 SSL 인증서 및 전용 키를 업로드합니다. CA(인증 기관) 인증서를 업로드합니다(사용되는 경우).
  3. 인증서의 이름을 입력하고 인증서 추가를 누릅니다.
    로드 밸런서의 인증서 목록에 새 인증서가 나타납니다.
  4. 둘 이상의 인증서를 사용하여 기본 시스템에 액세스하는 경우 이 단계를 반복하여 모든 인증서를 업로드합니다.

백엔드 집합 생성

백엔드 집합은 동일한 애플리케이션을 실행하는 백엔드 서버 목록을 포함하는 논리적 엔티티입니다. 백엔드 집합을 정의할 때는 로드 밸런싱 정책과 건전성 검사 테스트를 지정해야 합니다. 그런 다음 백엔드 서버 목록을 추가할 수 있습니다.

백엔드 집합의 구성은 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 클러스터에 대한 백엔드 집합과 관리 서버에 대한 다른 백엔드 집합을 생성합니다.

  1. OCI 콘솔에 로그인합니다.
  2. 적절한 지역 및 구획을 선택합니다.
  3. 탐색 메뉴에서 네트워킹, 로드 밸런서를 차례로 누릅니다.
  4. 백엔드를 추가할 로드 밸런서를 누릅니다.
  5. 리소스 메뉴 아래의 백엔드 집합을 누른 다음 백엔드 집합 생성을 누릅니다.
  6. Create Backend Set 대화상자에서 다음을 입력합니다.
    1. 이름: 백엔드 집합의 이름을 지정합니다.
      적합한 백엔드 집합 이름에는 영숫자, 대시 및 밑줄만 포함됩니다.
    2. 트래픽 분배 정책: 가중 라운드 로빈을 선택합니다.
    3. 세션 지속성: 로드 밸런서 쿠키 지속성을 사용으로 설정을 선택합니다.
    4. 쿠키 이름: 세션 지속성을 사용으로 설정하는 데 사용되는 쿠키의 이름을 입력합니다.
    5. 속성: 보안을 선택합니다.
    6. 건전성 검사: 포트를 확인하려면 TCP를 선택하고, URL 경로(URI) 및 예상 응답 코드를 확인하려면 HTTP를 선택합니다.
      다음은 건전성 검사의 HTTP 예입니다.
      • OHS_Admin_backendset: URL 경로 /console, 상태 코드 302
      • OHS_HTTP_backendset:
        • URL 경로 /, 상태 코드 200(또는 Oracle HTTP Server 구성에 따라 404)
        • URL 경로 /app1, 상태 코드 200
  7. 생성을 누릅니다.

Oracle HTTP Server가 다른 서비스에 대한 추가 포트를 수신하는 경우 유사한 방식으로 각 서비스에 대한 백엔드 집합을 생성합니다.

다음은 Oracle HTTP Server를 사용할 때의 백엔드 집합 예입니다.

구성요소 백엔드 집합 이름 트래픽 분배 정책 세션 지속성 쿠키 이름 (예제) 속성: secure 건전성 검사
관리 서버 OHS_Admin_backendset 가중치 라운드 로빈 로드 밸런서 쿠키 지속성을 사용으로 설정합니다. X-Oracle-LBR-ADMIN-Backendset 선택되지 않음 TCP 또는 HTTP
모든 SOA 구성요소
  • Oracle SOA Suite
  • Oracle Service Bus
  • Oracle B2B
  • 비즈니스 프로세스 관리
  • Oracle Enterprise Scheduler(ESS)
  • BAM(Business Activity Monitoring)
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 노드와 적합한 포트를 각 백엔드 집합에 백엔드로 추가합니다.

  1. 콘솔에서 백엔드 집합을 선택합니다. 백엔드를 누른 다음 백엔드 추가를 누릅니다.
  2. 백엔드인 서버에 대한 IP 주소 및 포트를 입력하십시오.

이 표에서는 Oracle HTTP Server를 사용할 때 이 문서 예에서 생성된 백엔드 집합을 보여줍니다.

백엔드 집합 이름 백엔드
OHS_Admin_backendset 컴퓨트 인스턴스:
  • hydrohs1 - 콘솔 리스너용 Oracle HTTP Server 포트(예: 7001)
  • hydrohs2 - 콘솔 리스너용 Oracle HTTP Server 포트(예: 7001)
OHS_HTTP_backendset 컴퓨트 인스턴스:
  • hydrohs1 - HTTP 리스너에 대한 Oracle HTTP Server 포트(예: 8890)
  • hydrohs2 - HTTP 리스너에 대한 Oracle HTTP Server 포트(예: 8890)
OHS_HTTP_internal_backendset 컴퓨트 인스턴스:
  • hydrohs1 - HTTP 내부 리스너용 Oracle HTTP Server 포트(예: 8891)
  • hydrohs2 - HTTP 내부 리스너용 Oracle HTTP Server 포트(예: 8891)

이 표에서는 Oracle HTTP Server를 사용하지 않을 때 이 문서 예에서 생성된 백엔드 집합을 보여줍니다.

백엔드 집합 이름 백엔드
Admin_backendset IP 주소:
  • 이전에 생성된 관리 서버 가상 IP, 관리 서버 포트(7001)
WSM_backendset 컴퓨트 인스턴스:
  • hydrsoa1, WSM server1 포트(7010)
  • hydrsoa2, WSM server2 포트(7010)
SOA_backendset 컴퓨트 인스턴스:
  • hydrsoa1, SOA server1 포트(8001)
  • hydrsoa2, SOA server2 포트(8001)
OSB_backendset 컴퓨트 인스턴스:
  • hydrsoa1, OSB server1 포트(8010)
  • hydrsoa2, OSB server2 포트(8010)
ESS_backendset 컴퓨트 인스턴스:
  • hydrsoa1, ESS server1 포트(8021)
  • hydrsoa2, ESS server2 포트(8021)
BAM_backendset 컴퓨트 인스턴스:
  • hydrsoa1, BAM server1 포트(9001)
  • hydrsoa2, BAM server2 포트(9001)

경로 지정 정책 정의 및 규칙 구성

라우팅 정책은 수신되는 요청을 올바른 백엔드 집합으로 디스패치하는 데 사용됩니다. 예를 들어, /console에 대한 요청이 관리 백엔드 집합으로 전달되고 /app1에 대한 요청이 app1가 실행 중인 클러스터의 백엔드 집합으로 전달됩니다.

Oracle HTTP Server를 사용하는 경우 일반적으로 Oracle HTTP Server 구성에서 경로(예: /app1, /app2, /console 등)를 정의합니다. 이 경우 Oracle Cloud Infrastructure(OCI) 로드 밸런서에서 경로 지정 정책 및 규칙을 정의할 필요가 없습니다.

Oracle HTTP Server를 사용하지 않는 경우 요청을 해당 백엔드 집합으로 전달하려면 OCI 로드 밸런서에서 경로 지정 정책 및 규칙을 정의해야 합니다.

  1. Oracle Cloud Infrastructure 콘솔에서 로드 밸런서를 누릅니다.
  2. 경로 지정 정책을 누른 다음 경로 지정 정책 생성을 눌러 정책을 정의합니다.
    경로 지정 정책은 나중에 로드 밸런서 리스너에 추가됩니다.
  3. 경로 지정 정책의 이름(규칙 집합)을 입력합니다.
    예: Admin_Rules.
  4. 경로 정책에 규칙을 생성하려면 규칙 이름을 입력합니다.
    예: Admin_routerule.
  5. 요청을 다른 백엔드 집합으로 경로 지정하는 규칙 조건을 정의합니다. 일치하는 경우를 선택하고 조건 유형: 경로를 선택한 다음 연산자: 다음으로 시작을 선택하고 URL 문자열을 입력합니다.
    예를 들어 일치 항목, 경로, 다음으로 시작인 경우 /console입니다.
  6. 메뉴에서 백엔드 집합을 선택하여 작업을 구성합니다.
    예: OHS_Admin_backendset.
이 표는 Oracle HTTP Server가 사용되지 않을 때 이 문서의 예에 따라 생성된 Oracle Cloud Infrastructure 로드 밸런서의 경로 지정 정책 및 규칙을 보여줍니다.
구성요소 경로 지정 정책 이름 규칙 조건: 임의의 일치 경로가 다음으로 시작하는 경우 작업: 백엔드 집합으로 경로 지정
모든 제품(관리자) Admin_Rules Admin_routerule

/console

/em

Admin_backendset
Oracle Service Bus(관리자) Admin_Rules Admin_routerule

/sbconsole

/servicebus

Admin_backendset
Oracle Web Services Manager Internal_Rules WSM_routerule

/wsm-pm

WSM_backendset
Oracle Service Bus SOA_Rules OSB_routerule

/sbinspection.wsil

/sbresource

/osb

/alsb

OSB_backendset
Oracle SOA Suite SOA_Rules SOA_routerule

/soa-infra

/integration

/sdpmessaging

/userprefs-ui

/DefaultToDoTaskFlow

/workflow

/ADFAttachmentHelper

/soa/composer

(*) 사용자정의 작업에는 사용자정의 별칭이 필요할 수 있음

SOA_backendset
비즈니스 프로세스 관리 SOA_Rules SOA_routerule

/bpm/composer

/bpm/workspace

/bpm/casemgmt

SOA_backendset
Oracle Enterprise Scheduler(ESS) SOA_Rules ESS_routerule

/ess

/EssHealthCheck

/ess-async

/ess-wsjob

ESS_backenset
BAM(Business Activity Monitoring) SOA_Rules BAM_routerule

/bam

/composer

/OracleBAMWS

/oracle/bam

BAM_backendset
Oracle B2B SOA_Rules B2B_routerule

/b2bconsole

/b2b/services

/b2b/httpreceiver

SOA_backendset

환경에 필요한 만큼 경로 지정 정책, 규칙 및 조건을 만들 수 있습니다.

리스너 생성

시스템에 액세스하는 데 사용되는 프런트엔드 이름과 포트의 각 조합에 대해 리스너를 생성합니다. 기본 로드 밸런서에서 사용하는 것과 동일한 호스트 이름(가상 프론트엔드 이름) 및 포트를 사용해야 합니다.

  1. Oracle Cloud Infrastructure 로드 밸런서에서 가상 프론트 엔드 호스트 이름을 호스트 이름으로 추가합니다.
  2. 리스너를 생성합니다.

다음 표는 이 문서 예제에서 생성된 리스너와 연관된 프로토콜, 포트, 백엔드 집합, 경로 지정 정책, 호스트 이름 및 SSL 사용량을 요약한 것입니다. 이는 참조 예제와 같습니다. 시스템에서 기본 Oracle WebLogic Server 시스템의 추가 프론트 엔드 호스트 이름, 포트 또는 프로토콜을 사용하는 경우 필요에 따라 해당 리스너 및 호스트 이름을 생성해야 합니다. 예를 들어, 대체 프론트 엔드를 사용하여 Oracle WebLogic Server 콘솔 및 Oracle Enterprise Manager 콘솔에 액세스하는 경우

리스너 프로토콜 포트 백엔드 집합 경로 지정 정책 호스트 이름 SSL 사용
Admin_listener HTTP 7001

OHS_Admin_backendset(Oracle HTTP Server가 사용된 경우)

Admin_backendset(Oracle HTTP Server가 사용되지 않은 경우)

Admin_Rules mysoa.example.com 아닙니다
HTTPS_listener HTTPS 443

OHS_HTTP_backendset(Oracle HTTP Server가 사용된 경우)

SOA_backendset (Oracle HTTP Server가 사용되지 않은 경우)

SOA_Rules mysoa.example.com
HTTP_listener HTTP 80 해당 사항 없음* 해당 사항 없음 mysoa.example.com 아닙니다
Internal_listener HTTP 8888

OHS_HTTP_internal_backendset(Oracle HTTP Server가 사용된 경우)

WSM_backendset (Oracle HTTP Server가 사용되지 않은 경우)

Internal_Rules mysoa.example.com 아닙니다

* 이 예에서 HTTP_listener는 요청을 HTTPS_listener(HTTPS)로 재지정하는 데만 사용됩니다. 지정된 백엔드가 사용되지 않습니다. 그러나 데이터 제공은 필수이므로 SSL을 확인하지 않은 경우 제공해야 합니다(기본 빈 백엔드 집합 사용).

SSL 헤더에 대한 규칙 집합 생성

OCI(Oracle Cloud Infrastructure) 로드 밸런서에서 SSL 헤더에 대한 규칙 집합을 생성하고 HTTPS 리스너에 연관시킵니다.

기본 사이트와 마찬가지로 OCI 로드 밸런서는 SSL을 종료하며, 로드 밸런서와 백엔드 서버 간의 통신은 HTTP 프로토콜을 통해 수행됩니다. 이렇게 하려면 OCI 로드 밸런서에 요청 헤더를 추가해야 합니다. 이러한 헤더는 WebLogic 백엔드에 디스패치되기 전에 HTTPS 리스너로 들어오는 클라이언트 요청에 추가됩니다. 이 헤더는 WebLogic에게 최종 클라이언트에서 로드 밸런서로의 통신이 HTTPS를 사용했음을 알립니다. 이렇게 하면 WebLogic 생성자가 동적으로 HTTPS를 사용하여 올바르게 생성되는 URL이 있습니다.
  1. 콘솔에서 로드 밸런서를 선택합니다. 규칙 세트, 규칙 세트 생성을 차례로 누릅니다.
  2. 규칙의 이름을 지정합니다.
    예: SSLHeaders.
  3. 요청 헤더 규칙 지정을 선택하고 다음 작업을 추가합니다.
    작업 헤더
    요청 헤더 추가 is_ssl SSL
    요청 헤더 추가 WL-Proxy-SSL
  4. 생성을 누릅니다.
  5. 로드 밸런서를 누른 다음 리스너를 누릅니다. HTTPS를 사용하는 리스너를 편집하여 규칙을 HTTPS 리스너에 연결합니다.
  6. +Additional 규칙 집합을 누른 다음 규칙 집합 SSLHeaders을 선택합니다.

HTTP 프로토콜을 HTTPS로 재지정하는 규칙 집합 생성

재지정 규칙을 생성하고 HTTP_listener와 연관시켜 포트 80을 포트 443으로 재지정합니다. EDG 토폴로지의 경우 로드 밸런서에서 포트 80(HTTP)에 도달하는 모든 요청을 포트 443(HTTPS)으로 재지정해야 합니다.

  1. 콘솔에서 Load Balancer를 선택합니다.
  2. 규칙 세트, 규칙 세트 생성을 차례로 누릅니다.
  3. 규칙의 이름을 입력합니다.
    예: HTTP_to_HTTPS_redirect.
  4. URL 재지정 규칙 지정을 선택하고 다음 작업을 추가합니다.
    • 소스 경로: /
    • 일치 유형: 강제로 가장 긴 접두어 일치
    • 다음으로 이동합니다.
    • 프로토콜: HTTPS
    • 호스트: {host}(기본값 유지)
    • 포트: 443
    • 경로: /{path}(기본값 유지)
    • 질의: ?{query}(기본값 유지)
    • 응답 코드: 301 - 영구적으로 이동됨
  5. 로드 밸런서, 리스너를 차례로 누릅니다. HTTP 포트 80을 사용하여 HTTP 리스너에 연결하는 리스너를 편집합니다.
  6. +Additional 규칙 집합을 누르고 HTTP_to_HTTPS_redirect 규칙을 선택합니다.

SOA 컴퓨트 인스턴스에 가상 프론트엔드 이름 및 IP 추가

재해 복구 토폴로지에서 클라이언트는 데이터 센터에 영향을 주지 않는 프론트엔드 FQDN(가상 프론트 엔드 이름 또는 고유 URL)을 사용하여 시스템에 액세스해야 합니다. 이 가상 프론트 엔드 이름은 현재 활성(기본) 사이트의 로드 밸런서 IP 주소로 분석되어야 합니다.

기본 시스템은 기본 로드 밸런서의 IP로 DNS에서 확인된 프론트엔드 가상 이름을 이미 사용하고 있어야 합니다. 그러나 각 사이트의 Oracle SOA Suite 호스트는 DNS를 통한 클라이언트 대면 분석에 관계없이 항상 로컬 로드 밸런서를 사용하여 프론트 엔드 이름을 확인해야 합니다. 이를 위해 각 사이트의 적절한 IP 주소를 사용하여 /etc/hosts 파일에 가상 프론트 엔드 이름이 추가됩니다. 각 사이트의 서로 다른 DNS 서버를 사용하여 이 작업을 수행할 수도 있습니다. 이 경우 로컬 DNS 서버는 각 사이트에서 적절한 로드 밸런서 IP를 사용하여 프론트 엔드 이름을 확인합니다.

/etc/hosts 파일 사용
스위치오버 또는 복구가 있는 경우 기본 및 보조 Oracle WebLogic Server 호스트의 /etc/hosts 파일을 변경하면 안됩니다. Oracle WebLogic Server 호스트는 항상 프론트 엔드 IP를 사용하여 가상 프론트 엔드 이름을 분석합니다. 전환 및 페일오버 절차 중 필요한 DNS 업데이트는 Oracle WebLogic Server 클라이언트에서 사용하는 DNS 또는 호스트 파일에서 수행됩니다.
  1. 루트 사용자로 보조 Oracle WebLogic Server for Oracle Cloud Infrastructure 컴퓨트 인스턴스에서 /etc/oci-hostname.conf 파일을 편집하고 프론트엔드 이름을 OCI(Oracle Cloud Infrastructure) 로드 밸런서 IP로 매핑합니다.

    다음은 프런트엔드 이름에 대한 항목을 포함하여 보조 Oracle WebLogic Server for OCI 컴퓨트 인스턴스의 /etc/hosts 파일에 대한 예입니다.

    #################################
    # ALIASES in OCI 
    #################################
    100.70.10.20   hydrsoa-vip.midTiersubnet.hydrvcn.oraclevcn.com      hydrsoa-vip       ADMINVHN.example.com    ADMINVHN    
    100.70.10.13   hydrsoa1.midTiersubnet.hydrvcn.oraclevcn.com         hydrsoa1          SOAHOST1.example.com    SOAHOST1
    100.70.10.14   hydrsoa2.midTiersubnet.hydrvcn.oraclevcn.com         hydrsoa2          SOAHOST2.example.com    SOAHOST2
    
    # Front-end name (resolved to secondary OCI LBR IP)
    100.100.100.10    mysoa.example.com
  2. 아직 수행하지 않은 경우 기본 Oracle WebLogic Server 호스트에서 동일한 단계를 수행합니다. 프론트 엔드 이름은 기본 로드 밸런서 IP를 가리켜야 합니다.
    다음은 프런트엔드 이름에 대한 항목을 포함하여 기본 온프레미스 Oracle WebLogic Server 호스트의 /etc/hosts 파일에 대한 예입니다.
    #################################
    # ALIASES in on-prem 
    #################################
    10.10.10.20   host-vip1.myopnetwork.com    host-vip1         ADMINVHN.example.com   ADMINVHN    
    10.10.10.13   host3.myopnnetwork.com       host3             SOAHOST1.example.com   SOAHOST1
    10.10.10.14   host4.myopnnetwork.com       host4             SOAHOST2.example.com   SOAHOST2
    
    # Front-end name (resolved to primary Load Balancer IP)
    10.10.10.100    mysoa.example.com
  3. Oracle WebLogic Server 시스템에서 더 많은 가상 프론트 엔드 이름을 사용하는 경우 동일한 규칙에 따라 파일에 추가합니다.
DNS(Domain Name System) 사용
이 모드는 별도의 DNS 서버가 기본 온프레미스에서 사용되고 보조 서버가 Oracle Cloud Infrastructure(OCI)에서 사용되는 경우 유효합니다. 그렇지 않으면 이름 지정 분석에 충돌이 발생할 수 있습니다.

이 접근 방식을 따르는 경우 보조 로드 밸런서 IP를 가리키는 프론트엔드 이름을 보조 중간 계층에서 사용되는 DNS 서비스에 추가할 수 있습니다. 기본 로드 밸런서 IP를 가리키는 프론트 엔드 이름이 이미 분석되어 있을 것으로 예상됩니다.

기본 로드 밸런서 IP를 가리키는 프론트 엔드 이름이 이미 분석되어 있을 것으로 예상됩니다.