하이브리드 구현을 위한 CDN API

단계별 헤드리스 롤아웃은 Storefront Reference Architecture(SFRA) 및 컴포저블 스토어프런트와 같은 여러 스토어프론트 기술을 사용하여 단일 쇼핑 경험을 제공하는 기술입니다.

임베디드 CDN(eCDN) 영역은 SFRA 및 Managed Runtime에 동시에 트래픽을 라우팅할 수 있으므로, 컴포저블 스토어프론트의 점진적인 롤아웃을 지원합니다.

이 가이드에서는 Commerce API CDN 영역을 사용하여 트래픽을 Managed Runtime으로 라우팅하는 방법을 설명합니다. Business Manager를 사용하여 Managed Runtime으로 트래픽을 라우팅할 수도 있습니다. Business Manager에서 MRT 라우팅 규칙 구성

이 가이드의 명령을 실행하기 전에 Placeholder를 실제 값으로 바꿉니다. 자리 표시자는 $PLACEHOLDER와 같은 형식입니다.

이 안내서 전체에서는 프로덕션 URL https://www.example.com이 있는 예제 스토어프런트를 사용합니다 .

이 페이지의 일부 링크에는 기존 고객만 액세스할 수 있습니다. Commerce Cloud 리포지토리에 액세스하는 방법에 대한 자세한 내용은 Salesforce Commerce Cloud GitHub 리포지토리 및 액세스를 참조하십시오.

  1. Admin API에 대한 권한을 부여하는 방법을 숙지합니다.
  2. 범위가 sfcc.cdn-zones.rw인 Account Manager API 클라이언트가 있어야 합니다.
  3. Managed Runtime에서 사용할 eCDN 영역 ID를 알고 있어야 합니다. 이 정보를 얻으려면 CDN Zones API의 getZonesInfo 엔드포인트를 사용합니다.
  4. updateSecuritySettings를 사용하여 영역에서 alwaysUseHttps를 활성화합니다. Managed Runtime은 HTTPS를 통한 트래픽만 지원합니다.
  5. 해당 영역을 포함하도록 SLAS API 클라이언트의 redirect_uri를 설정합니다.
  6. Managed Runtime 환경에 액세스할 수 있는 IP 세트가 제한되어 있는 경우 eCDN에서 사용하는 CloudFlare IP를 허용되는 IP 세트에 추가합니다.

createMrtRules 엔드포인트를 사용하면 트래픽을 Managed Runtime 환경으로 라우팅하는 규칙을 생성할 수 있습니다.

요청 본문에서 제공된 데이터를 살펴보도록 하겠습니다.

mrtHostname 값은 트래픽 라우팅을 위한 Managed Runtime 환경의 도메인입니다. 이 도메인은 mobify-storefront.com 도메인에서 호스팅되는 Managed Runtime 환경을 참조해야 합니다. 제공된 값이 기존 규칙에 사용되고 있는 경우 요청이 실패합니다.

Managed Runtime은 지원되는 유일한 라우팅 대상입니다.

expressions의 값은 Cloudflare 규칙 표현식의 배열로, 어떤 요청이 Managed Runtime으로 라우팅되는지를 제어합니다. 대부분의 구현에서는 라우팅 표현식을 하나만 사용하면 충분합니다.

제공된 표현식 외에 다음과 같은 기본 라우팅 규칙이 사용됩니다.

라우팅 변경 사항은 즉시 적용되며, 표현식과 일치하는 URL로 이동하면 Managed Runtime에서 가져온 컨텐츠가 반환됩니다.

  • 지원되는 라우팅 시나리오는 다음과 같습니다.

    • 단일 MRT 환경에 매핑된 단일 호스트 이름:

      • 예를 들어, http.host eq \"www.example.com\"example-production.mobify-storefront.com
    • 단일 MRT 환경에 매핑된 여러 호스트 이름:

      • 예를 들어, http.host in {\"www.example.com\" \"prod.example.com\" \"us.example.com\"}example-production.mobify-storefront.com
  • 다음 라우팅 시나리오는 현재지원되지 않습니다 .

    • 서로 다른 경로를 기반으로 여러 MRT 환경에 매핑된 단일 호스트 이름

표현식은 다음 기준에 따라 검증됩니다.

  • http.host정확히 한 번 발생해야 하며 뒤에 OR in연산자가eq와야 합니다. 사용 예는 위를 참조하십시오.
  • 호스트 이름은 영역과 일치해야 합니다. 즉, eCDN 영역에는 제공된 호스트 이름을 포괄하는 유효한 인증서가 있어야 합니다.
  • 다음 필드가 지원됩니다.
    • http.host
    • http.request.uri.path
    • http.request.uri
    • http.cookie
  • 표현식의 최대 길이는 3,072자입니다.
  • 최대 100개의 표현식을 영역과 연결할 수 있습니다.

단계별 롤아웃을 계속할수록 더 많은 요청을 Managed Runtime으로 라우팅할 수 있습니다.

라우팅 표현식을 수정하려면 getMrtRule을 사용하여 업데이트할 표현식과 관련한 규칙 세트 및 규칙의 ID를 가져옵니다.

다음으로 updateMrtRule을 사용하여 표현식을 업데이트합니다.

기존 Managed Runtime 환경에 더 많은 라우팅 규칙을**추가하려면updateMrtRuleset을 사용하고 및 추가 라우팅 표현식을 제공mrtHostname하십시오. **

새 Managed Runtime 환경에 대한**라우팅 규칙을 추가하려면createMrtRules엔드포인트를 사용하고 새mrtHostname값을 제공하십시오. **

다른 Managed Runtime 환경으로 라우팅하도록 기존 규칙을 업데이트하려면updateMrtRuleset을 사용하고 라우팅할 및 (신규) mrtHostname를 제공oldMrtHostname하십시오.

타사 CDN으로 전환하거나 eCDN에서 MRT로 특정 경로를 더 이상 라우팅하지 않으려는 경우 라우팅을 비활성화할 수 있습니다.

라우팅을 비활성화하려면getMrtRules를 사용하여 삭제하려는 구성의 ID를 가져옵니다.

그런 다음 관리되는 런타임 라우팅 규칙을 제거하려면deleteMrtRule을 사용하고getMrtRules에서 반환된 해당 ID를 전달합니다.

모든 Managed Runtime 라우팅 규칙을 제거하려면deleteMrtRuleset을 사용합니다.

단계별 롤아웃을 완료하거나 새 사이트를 개설하는 경우, 단일 표현식을 사용하여 영역의 모든 트래픽을 Managed Runtime으로 라우팅하도록 선택할 수 있습니다.

eCDN을 사용할 수 없는 환경에서는 composable-hybrid-dev-server를 사용하여 eCDN 라우팅을 시뮬레이션합니다.