Managed Runtime 관리

Managed Runtime을 사용하면 PWA Kit 스토어프런트와 관련한 조직, 프로젝트, 환경 및 번들을 손쉽게 관리할 수 있습니다. 이 가이드에서는 웹 기반 Runtime Admin 도구에서 수행할 수 있는 다양한 관리 작업을 설명합니다. (이 가이드에서 설명하는 모든 관리 작업과 기타 작업은 Managed Runtime API를 사용하여 수행할 수도 있습니다.)

계속하기 전에 Managed Runtime과 Runtime Admin에 액세스할 수 있는지 확인하십시오. Managed Runtime을 프로비저닝하려면 Success Manager에게 문의하십시오. Runtime Admin의 경우 Commerce Cloud 관리자에게 연락하여 Account Manager에서 Managed Runtime User 또는 Managed Runtime Admin 역할 중 하나를 계정에 추가하도록 요청하십시오.

프로젝트는 조직 내의 여러 환경을 관리하는 데 도움이 됩니다. 모든 PWA Kit 프로젝트에는 Salesforce의 퍼블릭 클라우드 인프라에 스토어프런트 코드를 배포하고 호스팅하기 위한 해당 프로젝트가 Managed Runtime 내에 필요합니다.

Runtime Admin에서 프로젝트를 생성하려면:

  1. Runtime Admin에 로그인합니다.
  2. New Project(새 프로젝트)를 클릭합니다.
  3. 프로젝트의 이름을 입력합니다.
  4. Create Project(프로젝트 생성)를 클릭합니다.

프로젝트를 처음 만들 경우, 필요한 클라우드 인프라가 배포될 때까지 웹에서 사이트에 액세스할 수 없습니다. 이 배포 프로세스는 최대 40분이 걸릴 수 있습니다.

이 가이드의 나머지 관리 작업에 대한 지침에서는 Runtime Admin의 프로젝트 개요 페이지에서 시작한다고 가정합니다.

기존 프로젝트를 찾아 개요 페이지를 열려면:

  1. Runtime Admin에 로그인합니다.
  2. 필요한 경우 조직 메뉴(왼쪽 상단)에서 조직을 선택합니다.
  3. 프로젝트의 이름을 클릭합니다. (프로젝트를 보려면 앞에서 설명한 프로젝트 역할 중 하나가 할당되어 있어야 합니다.)

연결된 스크린샷

프로젝트 간을 빠르게 전환하려면 페이지 상단에 있는 프로젝트 메뉴를 사용하십시오.

Project Settings(프로젝트 설정) 페이지에서는 다음 작업을 수행할 수 있습니다.

  • 프로젝트 ID를 조회하고 PWA Kit 구성과 일치하는지 확인합니다.
  • 프로젝트 ID를 편집합니다.
  • 프로젝트의 이름 및 URL을 보고 편집합니다.
  • 프로젝트를 삭제합니다.
  • 배포 알림을 관리합니다. (다음 섹션을 참조하십시오.)

Project Settings(프로젝트 설정) 페이지에 액세스하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.

설정을 편집하려면 Edit(편집)를 클릭하고 편집한 다음 Update(업데이트)를 클릭합니다. 편집 내용을 취소하려면 Cancel(취소)을 클릭합니다.

프로젝트를 삭제하려면 Delete(삭제)를 클릭하고 프로젝트 이름을 입력하여 확인한 다음 Yes, Delete(예, 삭제)를 클릭합니다. 프로젝트를 유지하려면 No, Keep(아니요, 유지)을 클릭합니다.

다음과 같은 배포 이벤트가 발생할 때마다 이메일로 알림을 받도록 선택할 수 있습니다.

  • 배포 시작
  • 성공적인 배포
  • 실패한 배포

알림을 추가하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.
  3. Add Notification(알림 추가)을 클릭합니다.
  4. 알림 대상 환경을 하나 이상 선택합니다.
  5. 배포 이벤트를 하나 이상 선택합니다.
  6. 모든 알림 수신자의 이메일 주소를 입력합니다.
  7. Add Notification(알림 추가)을 클릭합니다.

연결된 스크린샷

알림을 편집하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.
  3. 알림 옆에 있는 ... 버튼을 클릭합니다.
  4. Edit(편집)를 클릭합니다.
  5. 원하는 알림 설정을 변경합니다.
  6. Update Notification(알림 업데이트)을 클릭합니다.

연결된 스크린샷

알림을 제거하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.
  3. 알림 옆에 있는 ... 버튼을 클릭합니다.
  4. Remove(제거)를 클릭합니다.
  5. Yes, Remove(예, 제거)를 클릭합니다.

연결된 스크린샷

환경은 개발, 테스트 등의 다른 용도로 배포되는 스토어프런트와 프로덕션 스토어프런트를 구분하는 데 사용됩니다. 환경 및 기타 관련 개념에 대한 자세한 내용은 Managed Runtime 개요를 참조하십시오.

Runtime Admin에서 환경을 생성하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.

  2. New Environment(새 환경)를 클릭합니다.

  3. 환경의 이름을 입력합니다.

  4. Salesforce의 퍼블릭 클라우드 인프라에 배포하기 위한 지역을 선택합니다.

  5. 프로덕션 환경인 경우:

    • 프로덕션으로 표시합니다. 프로덕션 환경의 개수 한도에 도달한 경우 지원 팀에 문의하십시오. 자세한 내용은 프로덕션 환경을 참조하십시오.
    • 환경과 연결할 사이트 ID를 하나 이상 추가합니다.
  6. 환경에 연결할 Commerce Cloud 인스턴스를 선택합니다.

  7. 설정 완료를 클릭합니다.

  • 일반적으로 개발 및 테스트 환경에 연결되는 On-Demand Sandbox에 가장 가깝기 때문에 새로운 환경의 기본 지역은 미국 동부(버지니아 북부)입니다.
  • 이전에 환경을 생성한 경우 환경 설정을 편집하여 Commerce Cloud 인스턴스와 하나 이상의 사이트 ID에 연결할 수 있습니다.
  • 프로덕션 또는 비프로덕션 환경에 제공되는 리소스에는 차이가 없습니다. 모든 환경은 동일한 방식으로 트래픽을 처리하도록 자동으로 확장됩니다. 자세한 내용은 프로덕션 환경을 참조하십시오.

PWA Kit 및 Managed Runtime을 사용하는 사이트의 경우, 각 환경에 대해 배포되는 번들은 한 번에 하나씩만 지정할 수 있습니다.

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 배포할 환경의 이름을 클릭합니다. 예: production.
  3. Bundles(번들)라는 머리글 아래에서 배포할 번들 옆의 Deploy(배포) 버튼을 클릭합니다.
  4. Confirm Deploy(배포 확인)를 클릭합니다.
  5. 배포가 완료될 때까지 기다립니다.

배포가 성공적으로 완료되면 번들이 Deployed Bundle(배포된 번들) 머리글 아래에 나타납니다. (새 환경에 처음 배포하는 경우 프로세스를 완료하는 데 최대 1시간이 걸릴 수 있습니다.)

Environment Settings(환경 설정) 페이지에서는 다음과 같은 다양한 관리 작업을 한곳에서 수행할 수 있습니다.

  • 환경 이름 또는 환경 ID를 변경합니다.
  • 배포 지역을 변경합니다.
  • 서버 측 쿠키를 활성화하거나 비활성화합니다. 쿠키를 사용한 개인화를 참조하십시오.
  • 소스 맵을 활성화하거나 비활성화합니다.
  • 특정 IP 주소 또는 신뢰할 수 있는 액세스 제어 헤더가 있는 트래픽이 환경에 액세스하도록 허용합니다. 액세스 제어 헤더를 참조하십시오.
  • 환경의 프록시를 구성합니다. 자세한 내용은 요청 프록싱을 참조하십시오.
  • 환경을 Production으로 표시합니다.
  • 환경과 연결된 사이트 ID를 추가, 편집 또는 제거합니다.
  • Commerce Cloud 인스턴스에 대한 환경의 연결을 추가하거나 편집합니다.
  • 환경을 삭제합니다.

Environment Settings(환경 설정) 페이지에 액세스하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 설정을 편집할 환경의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 Environment Settings(환경 설정)를 클릭합니다.

편집하려면 General(일반) 설정이나 Advanced(고급) 설정 옆에 있는 Edit(편집) 버튼을 클릭합니다. 편집 후 Update(업데이트)를 클릭하여 변경 사항을 저장하거나, Cancel(취소)을 클릭하여 변경 사항을 취소합니다.

환경 변수를 참조하십시오.

액세스 제어 헤더를 사용하면 콘텐츠 전송 네트워크(CDN) 또는 개발 팀에서 들어오는 신뢰할 수 있는 트래픽만 허용하도록 환경에 대한 액세스를 제한할 수 있습니다. 액세스를 제한하는 것은 봇이 CDN 경계 보안 설정을 우회하지 않도록 하고, 검색 크롤러가 잘못된 도메인 또는 환경의 콘텐츠를 인덱싱하지 않도록 하는 데 중요합니다.

허용된 IP 주소도 설정된 경우, 유효한 IP 주소의 요청 또는 액세스 제어 헤더가 있는 요청이 허용됩니다.

고급 환경 설정 또는 projects_target_access_control_header_create API를 사용하여 액세스 제어 헤더를 설정합니다.

들어오는 요청은 x-sfdc-access-control 요청 헤더에 유효한 값이 있는 경우에만 허용됩니다.

각 헤더 값이 다음 기준에 부합해야 합니다.

  • 9자 이상
  • 최대 128자를 포함할 수 있음
  • 영숫자 문자와 - 및 _ 문자의 조합일 수 있음

액세스 제어 헤더 값이 안전하게 저장되고 신뢰할 수 있는 개인과만 공유되도록 할 책임은 사용자에게 있습니다. 액세스 제어 헤더를 주기적으로 교체하는 것이 좋습니다.

액세스 제어 헤더를 교체하려면:

  • 고급 환경 설정 또는 projects_target_access_control_header_create API를 사용하여 Managed Runtime 환경에 액세스 제어 헤더 값을 추가합니다.
  • 환경 재배포가 성공적으로 완료될 때까지 기다립니다. 다음 명령을 실행하여 새 헤더 값이 있는 환경에 대한 요청이 성공하는지 확인합니다.
  • CDN 또는 브라우저를 업데이트하여 업데이트된 값으로 x-sfdc-access-control 요청 헤더를 전송합니다.
  • 트래픽이 정상적으로 허용되는지 테스트합니다.
  • 고급 환경 설정 또는 projects_target_access_control_header_create API를 사용하여 원래 액세스 제어 헤더 값을 제거합니다.

관련 항목

리디렉션을 통해 요청된 URL에서 다른 URL로 요청을 전달할 수 있습니다. 리디렉션은 스토어프런트의 변경으로 인한 사용자 환경의 작동 중단을 방지하는 데 도움이 됩니다. 봄 시즌 캠페인 페이지를 예로 들어보겠습니다. 봄 시즌 캠페인이 종료되고 여름 캠페인으로 대체되면 봄 URL에서 여름 URL로 리디렉션할 수 있습니다.

리디렉션은 악의적인 URL 또는 자산으로 리디렉션되는 것을 비롯하여, 스토어프런트에 중대한 보안 결과를 초래할 수 있는 강력한 기능입니다. 사용자에게 리디렉션 액세스 권한을 부여하는 역할을 할당할 때는 주의해야 합니다.

프로덕션 환경에서 리디렉션을 생성하기 전에 스테이징 환경에서 먼저 생성하는 것이 좋습니다.

리디렉션을 생성하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 리디렉션을 생성할 환경의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 URL Redirects(URL 리디렉션)를 클릭합니다.
  4. Create Redirect(리디렉션 생성)를 클릭합니다.
  5. Redirect From(리디렉션 소스) 필드에 상대 URL 경로를 입력합니다. 예를 들어 방문자를 URL www.example.com/winter에서 리디렉션하려면 /winter를 입력합니다.
  6. Redirect To(리디렉션 대상) 필드에 상대 URL 경로를 입력합니다.
  7. 필요한 경우 쿼리 매개변수와 와일드카드 경로의 전달을 활성화합니다. (설정 전달에 대해서는 잠시 후에 자세히 설명합니다.)
  8. Redirect Type(리디렉션 유형) 드롭다운 메뉴에서 HTTP 상태 코드에 따라 리디렉션 유형을 선택합니다. (상태 코드에 대해서는 잠시 후에 자세히 설명합니다.)
  9. Create Redirect(리디렉션 생성)를 클릭합니다.

이제 리디렉션 생성과 관련한 옵션을 자세히 살펴보겠습니다.

Redirect From(리디렉션 소스) 필드에 입력하는 값은 항상 상대 경로여야 합니다. Redirect To(리디렉션 대상) 필드는 상대 경로 또는 전체 URL일 수 있습니다. 예를 들어 www.example.com/spring에서 www.example.com/summer로 방문자를 리디렉션하려 한다고 가정해보겠습니다. Redirect From(리디렉션 소스) 필드는 /spring이어야 합니다. Redirect To(리디렉션 대상) 필드는 /summer 또는 www.example.com/summer로 설정할 수 있습니다.

Redirect From(리디렉션 소스) URL 끝에 별표 문자(*)를 추가하여 와일드카드를 나타낼 수 있습니다. 와일드카드는 URL의 어떤 문자(0개 이상)든 나타낼 수 있습니다. 예를 들어 /a/*에서 리디렉션할 경우 /a/, /a/b, /a/b/c가 모두 해당합니다.

와일드카드 문자는 Redirect From(리디렉션 소스) URL의 끝에만 사용할 수 있습니다.

표준 리디렉션이 먼저 Managed Runtime에 의해 처리된 후 와일드카드를 사용한 리디렉션이 처리됩니다.

대부분의 리디렉션은 영구 301 상태 코드를 사용하지만 임시 302를 선택할 수도 있습니다. 사용할 HTTP 상태 코드를 잘 모를 경우 MOZ.com의 상태 코드 설명을 참조하십시오.

일부 요청에는 리디렉션된 요청에도 포함해야 할 쿼리 문자열 매개변수가 포함되어 있습니다. 예를 들어 상대 경로 /spring-landing-page에는 분석 추적을 위한 쿼리 문자열(예: /spring-landing-page?gclid=123)을 추가할 수 있습니다.

쿼리 매개변수 전달을 활성화하려면 양식의 Forward(전달) 섹션으로 이동한 후 Query Parameters(쿼리 매개변수)를 선택합니다. 그렇지 않으면 소스 URL의 쿼리 문자열 매개변수가 리디렉션 URL에 포함되지 않습니다.

Redirect From(리디렉션 소스) URL과 Redirect To(리디렉션 대상) URL에 모두 쿼리 문자열이 있고 전달이 활성화된 경우에는 어떻게 될까요? 이 경우 리디렉션 URL에는 두 쿼리 문자열의 조합이 포함됩니다. Redirect To(리디렉션 대상) URL의 쿼리 매개변수가 요청의 쿼리 문자열에 추가됩니다. 예를 들어 애플리케이션이 상대 경로 /spring?year=2019에 대한 요청을 수신한다고 가정해보겠습니다. /spring/summer?year=2020으로 리디렉션하도록 선택한 경우, 전달이 활성화되어 있으면 리디렉션 URL은 /summer?year=2019&year=2020입니다.

Redirect To(리디렉션 대상) URL에 Redirect From(리디렉션 소스) URL의 와일드카드 부분 뒤에 오는 경로를 자동으로 포함할 수 있습니다. 예를 들어 Redirect From(리디렉션 소스) URL에서 /a/*/a/b/c와 일치하고 Redirect To(리디렉션 대상) URL이 /z/인 경우 리디렉션 URL은 /z/b/c입니다.

와일드카드 경로 전달을 활성화하려면 양식의 Forward(전달) 섹션으로 이동한 후 Wildcard Path(와일드카드 경로)를 선택합니다.

항상 스테이징 환경에서 리디렉션을 생성하고 테스트한 후에 프로덕션 환경으로 복제하는 것이 좋습니다.

리디렉션 복제 기능을 사용하여 모든 리디렉션을 한 환경에서 다른 환경으로 복사할 수 있습니다.

리디렉션을 복제하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 복제할 리디렉션이 포함된 환경의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 URL Redirects(URL 리디렉션)를 클릭합니다.
  4. Clone Redirects(리디렉션 복제)를 클릭합니다. Clone Redirects(리디렉션 복제) 양식이 나타납니다. 현재 환경은 From Environment(소스 환경)(소스) 아래에 나열됩니다.
  5. To Environment(대상 환경)에서 리디렉션을 복제할 환경(대상)을 선택합니다.
  6. Clone n Redirects(n개의 리디렉션 복제)를 클릭합니다. (여기서 n은 복제할 리디렉션의 수입니다.)

리디렉션을 복제하면 대상 환경의 모든 리디렉션이 소스 환경의 모든 리디렉션으로 바뀝니다.

기존 리디렉션의 설정을 편집하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 편집할 리디렉션이 포함된 환경의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 URL Redirects(URL 리디렉션)를 클릭합니다.
  4. 리디렉션 옆에 있는 생략 부호 버튼(...)을 클릭합니다.
  5. Edit(편집)를 클릭합니다.
  6. 설정을 업데이트합니다.
  7. Update Redirect(리디렉션 업데이트)를 클릭합니다.

리디렉션을 삭제하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 삭제할 리디렉션이 포함된 환경의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 URL Redirects(URL 리디렉션)를 클릭합니다.
  4. 리디렉션 옆에 있는 생략 부호 버튼(...)을 클릭합니다.
  5. Delete(삭제)를 클릭합니다.
  6. Yes, Delete Redirect(예, 리디렉션 삭제)를 클릭합니다.

리디렉션이 정상적으로 작동하지 않을 경우 다음 문제 해결 단계를 시도해보십시오.

  • 리디렉션은 캐싱되므로 브라우저 캐시를 지워봅니다.
  • 올바른 환경의 설정을 보고 있는 상태인지 확인합니다.
  • 리디렉션을 편집하고 Redirect From(리디렉션 소스) 및 Redirect To(리디렉션 대상) 필드에 올바른 값이 입력되었는지 확인합니다.

리디렉션에는 다음과 같은 기술적 한계가 있습니다.

  • 각 환경마다 최대 10,000개의 리디렉션을 만들 수 있습니다.
  • 각 환경에는 고유한 리디렉션 세트가 있으며, 복제를 통해 이러한 리디렉션을 동기화하는 것은 사용자의 몫입니다.
  • 이 리디렉션 기능은 한 경로에서 다른 경로로의 단순 리디렉션을 지원합니다. 조건이 있는 복잡한 리디렉션의 경우 ssr.js에서 Express.js의 리디렉션 지원을 사용하십시오.
  • Runtime Admin 도구 또는 Managed Runtime API를 사용하여 생성한 리디렉션은 로컬 개발 환경에서 실행되지 않습니다.
  • PWA Kit 애플리케이션에서 리디렉션은 페이지 전환에 의해 트리거되지 않으며, HTTP 요청에 의해서만 트리거될 수 있습니다.

사용자를 관리하는 방법은 다음과 같습니다.

프로젝트에 사용자를 추가하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Users & Permissions(사용자 및 권한)를 클릭합니다.
  3. New User(새 사용자)를 클릭합니다.
  4. 사용자의 이메일 주소를 입력합니다. (사용자가 조직에 속해 있고 Account Manager에서 Managed Runtime User 또는 Managed Runtime Admin 역할 중 하나를 가지고 있는지 확인합니다.)
  5. 역할을 선택합니다.
  6. Add User(사용자 추가)를 클릭합니다.

연결된 스크린샷

사용자의 역할을 변경하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Users & Permissions(사용자 및 권한)를 클릭합니다.
  3. 사용자의 이름 옆에 있는 ... 버튼을 클릭합니다.
  4. Edit(편집)를 클릭합니다.
  5. 역할을 선택합니다.
  6. 표시되는 팝업 메뉴를 클릭합니다.
  7. 새 역할을 선택합니다.
  8. Save(저장)를 클릭합니다.

연결된 스크린샷

각 역할에 연결된 사용자 기능의 목록은 Managed Runtime 개요를 참조하십시오.

프로젝트에서 사용자를 제거하려면:

  1. 프로젝트의 Overview(개요) 페이지로 이동합니다.
  2. 왼쪽 탐색 메뉴에서 Users & Permissions(사용자 및 권한)를 클릭합니다.
  3. 사용자의 이름 옆에 있는 ... 버튼을 클릭합니다.
  4. Remove(제거)를 클릭합니다.
  5. Yes, Remove User(예, 사용자 제거)를 클릭합니다.

연결된 스크린샷