주:
- 이 사용지침서에서는 Oracle Cloud에 접근해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 완료하면 이러한 값을 클라우드 환경에 고유한 값으로 대체합니다.
Oracle Integration에서 Visual Builder Cloud Service 앱에 대한 사용자정의 앱 URL 및 OCI Web Application Firewall 구성
소개
기본적으로 PaaS VBCS(Visual Builder Cloud Service Apps)/Oracle Integration 인스턴스는 Oracle 도메인이 포함된 URL을 생성합니다. 그러나 고객은 브랜딩 목적으로 개인화된 도메인을 사용하여 배포된 앱에 액세스하거나 직접 노출되지 않도록 기본 인프라를 보호할 수 있습니다. 이 사용자정의를 설정하기 위해 VBCS는 VBCS/Oracle Integration 인스턴스에 배포된 앱의 사용자정의 URL 또는 Vanity 도메인을 구성하는 옵션을 제공합니다.
Vanity 도메인 사용의 이점:
- 브랜딩
- 사용자 환경 개선(사용자 친화적이고 기억에 남을 수 있음)
- 마케팅 및 프로모션
- 도메인 소유권
- 보안 및 프라이버시
- 간편한 애플리케이션 마이그레이션(나중에 기본 인프라 또는 클라우드 공급자를 변경해야 하는 경우 Vanity 도메인을 사용하면 사용자 대면 URL에 영향을 주지 않고 애플리케이션을 쉽게 마이그레이션할 수 있습니다).
VBCS/Oracle Integration 인스턴스의 기본 URL은 일반적으로 다음 형식으로 구성됩니다.
https://<instance-display-name>-<tenancy-name>-<region-code>.integration.ocp.oraclecloud.com
목표
이 사용지침서에서는 Oracle Integration 인스턴스에서 사용으로 설정된 VBCS 인스턴스에 배포된 앱의 사용자정의 URL을 설정하는 단계별 프로세스를 설명합니다.
데모용으로 두 개의 앱이 인스턴스에 배포되어 있다고 가정해 보십시오.
| 앱 이름 | 사용자정의 URL |
|---|---|
| VBCS APP1 | myapp1.mydomain.com |
| VBCS APP2 | myapp2.mydomain.com |

필요 조건
- OCI Python SDK를 구성합니다.
구성
구성을 간단하고 명확하게 만들려면 구성을 두 가지 주요 작업으로 나누겠습니다. 첫 번째 작업은 Oracle Integration 계층에서 필요한 구성에 대해 자세히 설명하고, 두 번째 작업은 VBCS 계층에서 필요한 구성에 대해 자세히 설명합니다.
-
Oracle Integration 인스턴스에 대한 사용자정의 끝점을 구성합니다.
-
VBCS 앱에 대한 사용자정의 URL을 구성합니다.
작업 1: Oracle Integration 인스턴스에 대한 사용자정의 끝점 구성
VBCS 앱에 대한 사용자정의 URL을 구성하려면 사용자정의 끝점으로 Oracle Integration 인스턴스를 구성해야 합니다.
Oracle Integration 인스턴스는 단일 기본 사용자정의 끝점과 여러 대체 사용자정의 끝점으로 구성할 수 있습니다. 기본 끝점은 OCI(Oracle Cloud Infrastructure) 콘솔을 통해 구성할 수 있지만, 대체 사용자정의 끝점은 현재 Python 및 Java와 같은 OCI SDK를 통해서만 지원됩니다. VBCS의 각 APP에 대해 사용자정의 URL을 구성하려면 대체 사용자정의 끝점이 필요합니다.
이 자습서에서는 Python SDK를 사용하여 Oracle Integration에서 대체 사용자정의 끝점을 구성합니다.
작업 1.1: CA 서명 인증서 가져오기
원하는 사용자 정의 URL에 대한 CA 서명 인증서를 가져옵니다.
myapp1.mydomain.com
myapp2.mydomain.com
작업 1.2: 인증서 체인을 OCI 저장소에 암호로 저장
Oracle Integration은 인증서 체인에 대한 입력으로 OCI Vault 암호를 수락합니다. 암호 구문에 대한 자세한 내용은 Configure a Custom Endpoint for an Instance을 참조하십시오.
상위 레벨 단계에는 저장소 생성, 키 생성 및 보안 생성이 포함됩니다.
저장소 암호의 OCID(Oracle Cloud 식별자)를 복사합니다.
{
"key": "-----BEGIN PRIVATE KEY-----\n<key string>..-----END PRIVATE KEY-----\n",
"cert": "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
"intermediates": [
"-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n"
],
"passphrase": "<private key password if encrypted key is provided>"
}
작업 1.3: 대체 사용자정의 끝점 생성
이제 Python SDK를 사용하여 대체 커스텀 엔드포인트를 생성해 보겠습니다.
참고:
- Oracle Integration 인스턴스에 대한 대체 끝점 제한은 기본적으로 0으로 설정되어 있습니다. OCI 콘솔을 통해 '서비스 제한 증가' 요청을 기록하여 제한을 늘리십시오.
- Oracle Integration 인스턴스는 최대 5개의 대체 사용자정의 끝점만 지원합니다.
-
Python 스크립트를 만듭니다.
import oci config = oci.config.from_file(file_location="<location to the OCI config file>") # Initialize service client with default config file integration_client = oci.integration.IntegrationInstanceClient(config) # Send the request to service, some parameters are not required, see API # doc for more info update_integration_instance_response = integration_client.update_integration_instance( integration_instance_id="<OIC Instance OCID>", update_integration_instance_details=oci.integration.models.UpdateIntegrationInstanceDetails( alternate_custom_endpoints=[ oci.integration.models.UpdateCustomEndpointDetails( hostname="myapp1.mydomain.com", certificate_secret_id="<OCID of the Secret>"), oci.integration.models.UpdateCustomEndpointDetails( hostname="myapp2.mydomain.com", certificate_secret_id="<OCID of the Secret>")]), ) # Get the data from response print(update_integration_instance_response.headers){OIC 인스턴스 OCID} - OIC 인스턴스 OCID로 바꿉니다.
{OCID of the Secret} - 이전 단계에서 복사된 저장소 암호 OCID로 바꾸십시오.
-
Python 스크립트를 실행합니다.
python <scriptname.py> -
OCI 콘솔에서
workrequest작업 상태를 확인합니다. 15분 정도 걸립니다.
참고: OCI CLI를 통해 대체 사용자정의 끝점을 구성할 수도 있습니다. 통합 인스턴스 업데이트를 참조하십시오.
작업 1.4: 사용자정의 끝점 별칭 세부정보 가져오기
생성된 각 사용자정의 끝점에는 연관된 고유한 별칭이 있습니다. 이 정보는 API를 통해 볼 수 있으며 콘솔에 표시되지 않습니다.
다음 스크립트를 실행하여 세부 정보를 가져옵니다.
import oci
config = oci.config.from_file(file_location="<config file>")
integration_client = oci.integration.IntegrationInstanceClient(config)
# Send the request to service, some parameters are not required, see API
# doc for more info
get_integration_instance_response = integration_client.get_integration_instance(
integration_instance_id="<OIC Instance OCID>")
print(get_integration_instance_response.data)
{OIC 인스턴스 OCID} - OIC 인스턴스 OCID로 바꿉니다.
다음은 예제 출력입니다.

작업 1.5: DNS 레코드 생성
VBCS/Oracle Integration 인스턴스에 액세스하려면 해당 사용자정의 URL과 연관된 대체 사용자정의 끝점 별칭으로 확인되는 CNAME DNS 레코드를 생성합니다.
CNAME 레코드
| 사용자정의 호스트 이름 | 별칭 대상 |
|---|---|
| myapp1.mydomain.com | <alias1-xxxyyyy.integration.ocp.oraclecloud.com> |
| myapp2.mydomain.com | <alias2-xxxyyyy.integration.ocp.oraclecloud.com> |
이제 구성된 대체 사용자정의 끝점 URL을 사용하여 VBCS 빌더 페이지에 접근할 수 있습니다.
https://myapp1.mydomain.com/ic/builder(app1의 VBCS 빌더 페이지).
https://myapp1.mydomain.com/ic/home(Oracle Integration 페이지)
https://myapp2.mydomain.com/ic/builder(app2의 VBCS 빌더 페이지).
https://myapp2.mydomain.com/ic/home(Oracle Integration 페이지)

작업 2: VBCS APPS에 대한 사용자정의 URL 구성
VBCS APPS에 대한 사용자정의 URL을 구성하려면 앱 설정 옵션에서 VBCS 앱에 대한 사용자정의 URL을 업데이트해야 합니다.
-
Builder 페이지에 로그인하고 APP1
https://myapp1.mydomain.com/ic/builder의 사용자 정의 호스트를 사용해야 합니다. -
앱에 대한 햄버거 메뉴를 클릭합니다.

-
새 버전을 선택합니다.

-
앱이 개발 모드에 있으면 설정을 누릅니다.

-
Vanity URL 필드를 사용자정의 URL로 업데이트합니다.

-
다음으로 앱을 스테이지합니다.


-
마지막으로 앱을 게시합니다.

참고: VBCS 앱의 사용자정의 URL은 게시된 앱에만 작동하며, 사용자정의 URL은 개발 모드에서 액세스할 수 없습니다.
-
APP2에 대해 위 단계를 반복합니다.
이제 사용자 정의 URL로 앱에 액세스합니다.
APP1 이미지:
https://myapp1.mydomain.com

APP2 이미지:
https://myapp2.mydomain.com

작업 3: WAF 구성
Web Application Firewall은 SQL 주입, XSS(교차 사이트 스크립팅), 원격 코드 실행 등 다양한 온라인 위협으로부터 웹 애플리케이션을 보호합니다. 따라서 OCI WAF(에지 또는 지역)를 사용하여 VBCS 애플리케이션을 보호하는 것이 좋습니다.
자세한 내용은 Protect Visual Builder Cloud Service Apps with OCI Web Application Firewall on Oracle Integration를 참조하십시오.
결론
Vanity 도메인 또는 사용자 정의 URL은 고객이 VBCS 인스턴스에서 호스팅되는 애플리케이션을 향상시킬 수 있는 중요한 기회를 제공합니다. 고객은 개인화된 도메인을 선택하여 브랜드 ID를 강화하고 전문 온라인 이미지를 홍보하며 사용자에게 기억에 남을 만한 경험을 만들 수 있습니다. Vanity 도메인/사용자정의 URL을 사용하면 고객이 애플리케이션의 기본 인프라를 보호하여 실제 호스트 이름에 직접 노출되지 않도록 할 수 있습니다.
또한 고객은 애플리케이션 앞에 WAF(Web Application Firewall)를 구현하여 보안 조치를 한 단계 더 강화할 수 있습니다. WAF는 사전 방어 메커니즘으로 작동하여 들어오는 웹 트래픽을 분석 및 필터링하므로 악의적인 공격의 위험을 줄이고 최종 사용자에게 더 안전한 탐색 환경을 보장합니다.
요약하자면 Vanity 도메인/사용자정의 URL과 WAF 구현의 조합은 VBCS 인스턴스에서 호스팅되는 애플리케이션에 대한 브랜딩 및 보안 측면을 모두 강화하여 기업이 디지털 환경에서 성장할 수 있는 포괄적이고 강력한 솔루션을 제공합니다.
관련 링크
수락
- 작성자: Anil Guttala(Senior Cloud Engineer, Oracle Cloud Infrastructure)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer를 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Configure Custom App URL and OCI Web Application Firewall for Visual Builder Cloud Service Apps on Oracle Integration
F87547-03
October 2023
Copyright © 2023, Oracle and/or its affiliates.