구성 파이프라인 사용 config-pipelines

구성 파이프라인을 사용하여 로그 전달 설정, 제거 관련 유지 관리 작업 및 다양한 CDN 구성과 같은 AEM as a Cloud Service의 다양한 구성을 배포하는 방법에 대해 알아봅니다.

개요 overview

Cloud Manager 구성 파이프라인은 YAML 형식으로 생성된 구성 파일을 대상 환경에 배포합니다. 로그 전달, 제거 관련 유지 관리 작업 및 여러 CDN 기능을 포함하여 AEM as a Cloud Service의 다양한 기능을 이러한 방식으로 구성할 수 있습니다.

게재 프로젝트의 경우 구성 파이프라인을 Cloud Manager을 통해 개발, 스테이지 및 프로덕션 환경 유형에 배포할 수 있습니다. 명령줄 도구를 사용하여 RDE(빠른 개발 환경)에 구성 파일을 배포할 수 있습니다.

Edge Delivery 프로젝트용 Cloud Manager을 통해 구성 파이프라인을 배포할 수도 있습니다.

이 문서의 다음 섹션에서는 구성 파이프라인을 사용하는 방법 및 그에 대한 구성을 구성하는 방법에 대한 중요한 정보에 대한 개요를 제공합니다. 구성 파이프라인에서 지원하는 기능의 전체 또는 하위 집합에서 공유되는 일반적인 개념에 대해 설명합니다.

지원되는 구성 configurations

다음 표는 이러한 구성의 포괄적인 목록을 제공하며, 개별 구성 구문 및 기타 정보를 설명하는 전용 설명서에 대한 링크를 제공합니다.

유형
YAML kind
설명
게재 게시
Edge Delivery
WAF을 포함한 트래픽 필터 규칙
CDN
악성 트래픽을 차단하는 규칙 선언
X
X
변형 요청
CDN
규칙을 선언하여 트래픽 요청의 모양을 변환합니다.
X
X
응답 변환
CDN
규칙을 선언하여 지정된 요청에 대한 응답의 모양을 변환합니다.
X
X
서버측 리디렉션
CDN
301/302 스타일 서버측 리디렉션 선언
X
X
원본 선택기
CDN
비 Adobe 애플리케이션을 포함하여 다양한 백엔드로 트래픽을 라우팅하는 규칙을 선언합니다.
X
X
CDN 오류 페이지
CDN
구성 파일에서 자체 호스팅된 정적 콘텐츠의 위치를 참조하여 AEM 원본에 연결할 수 없는 경우 기본 오류 페이지를 재정의합니다.
X
CDN 삭제
CDN
CDN을 제거하는 데 사용되는 Purge API 키 선언
X
고객 관리 CDN HTTP 토큰
CDN
고객 CDN에서 Adobe CDN을 호출하는 데 필요한 X-AEM-Edge-Key 값 선언
X
기본 인증
CDN
특정 URL을 보호하는 기본 인증 대화 상자의 사용자 이름 및 암호를 선언합니다.
X
X
버전 제거 유지 관리 작업
MaintenanceTasks
콘텐츠 버전을 제거해야 하는 시점을 기준으로 규칙을 선언하여 AEM 저장소 최적화
X
감사 로그 제거 유지 관리 작업
MaintenanceTasks
로그를 제거해야 하는 시점을 기준으로 규칙을 선언하여 AEM 감사 로그를 최적화하여 성능 향상
X
로그 전달
LogForwarding
로그를 Azure Blob Storage, Datadog, HTTPS, Elasticsearch, Splunk 등 다양한 대상에 전달하기 위한 끝점 및 자격 증명을 구성합니다.
X
X
클라이언트 ID 등록
API
클라이언트 ID를 등록하여 Adobe Developer Console API 프로젝트의 범위를 특정 AEM 환경으로 지정합니다. 인증이 필요한 OpenAPI 기반 API 사용에 필요
X

구성 파이프라인 만들기 및 관리 creating-and-managing

게재 게시 구성 파이프라인을 만들고 구성하는 방법에 대한 자세한 내용은 CI/CD 파이프라인을 참조하십시오. Cloud Manager에서 구성 파이프라인을 만들 때 파이프라인을 구성할 때 전체 스택 코드 ​이 아닌 대상 배포 ​를 선택해야 합니다. 앞에서 설명한 대로 RDE에 대한 구성은 파이프라인이 아닌 명령줄 도구를 사용하여 배포됩니다.

Edge Delivery 구성 파이프라인을 만들고 구성하는 방법에 대한 자세한 내용은 Edge Delivery 파이프라인 추가 문서를 참조하십시오.

일반 구문 common-syntax

각 구성 파일은 다음 예제 코드 조각과 유사한 속성으로 시작됩니다.

   kind: "LogForwarding"
   version: "1"
   metadata:
     envTypes: ["dev"]
속성
설명
기본값
kind
로그 전달, 트래픽 필터 규칙 또는 요청 변환 등 구성 유형을 결정하는 문자열
필수, 기본값 없음
version
스키마 버전을 나타내는 문자열
필수, 기본값 없음
envTypes
이 문자열 배열은 metadata 노드의 자식 속성입니다. Publish 게재 ​의 경우 가능한 값은 dev, stage, prod 또는 모든 조합이며, 구성이 처리되는 환경 유형을 결정합니다. 예를 들어 배열에 dev만 포함된 경우 구성이 스테이지 또는 프로덕션 환경에 배포되더라도 구성이 로드되지 않습니다. Edge Delivery ​의 경우 prod의 값만 사용해야 합니다.
Publish 전달을 위한 개발, 스테이지, 프로덕션이거나 Edge Delivery을 위한 프로덕션인 모든 환경 유형입니다.

yq 유틸리티를 사용하여 구성 파일의 YAML 형식을 로컬로 확인할 수 있습니다(예: yq cdn.yaml).

폴더 구조 folder-structure

/config 또는 유사한 이름의 폴더는 트리의 맨 위에 있어야 하며 그 아래 트리 어딘가에 YAML 파일이 하나 더 있어야 합니다.

예:

/config
  cdn.yaml

또는

/config
  /dev
    cdn.yaml

/config 아래의 폴더 이름 및 파일 이름은 임의의 이름입니다. 그러나 YAML 파일에는 올바른 kind 속성 값이(가) 포함되어야 합니다.

일반적으로 구성은 모든 환경에 배포됩니다. 모든 속성 값이 각 환경에 대해 동일하면 단일 YAML 파일로 충분합니다. 하지만 낮은 환경을 테스트하는 등의 경우에는 환경마다 속성 값이 다른 것이 일반적입니다.

다음 섹션에서는 파일을 구조화하기 위한 몇 가지 전략을 설명합니다.

모든 환경을 위한 단일 구성 파일 single-file

파일 구조는 다음과 유사합니다.

/config
  cdn.yaml
  logForwarding.yaml

모든 환경 및 모든 구성 유형(CDN, 로그 전달 등)에 대해 동일한 구성으로 충분한 경우 이 구조를 사용합니다. 이 시나리오에서는 envTypes 배열 속성에 모든 환경 유형이 포함됩니다.

   kind: "cdn"
   version: "1"
   metadata:
     envTypes: ["dev", "stage", "prod"]

암호 유형 환경(또는 파이프라인) 변수를 사용하면 다음 ​ 참조에 표시된 대로 ​암호 속성${{SPLUNK_TOKEN}}이 환경별로 달라질 수 있습니다.

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

환경 유형별 개별 파일 file-per-env

파일 구조는 다음과 유사합니다.

/config
  cdn-dev.yaml
  cdn-stage.yaml
  cdn-prod.yaml
  logForwarding-dev.yaml
  logForwarding-stage.yaml
  logForwarding-prod.yaml

속성 값에 차이가 있을 수 있는 경우 이 구조를 사용합니다. 파일에서 envTypes 배열 값은 접미사와 일치해야 합니다. 예를 들어 값이 cdn-dev.yamllogForwarding-dev.yaml["dev"], 값이 cdn-stage.yamllogForwarding-stage.yaml["stage"] 등입니다.

환경당 폴더 folder-per-env

이 전략에서는 환경당 별도의 config 폴더가 있으며 각 폴더에 대해 Cloud Manager에서 선언된 별도의 파이프라인이 있습니다.

이 접근 방식은 각 개발 환경에 고유한 속성 값이 있는 경우 특히 유용합니다.

파일 구조는 다음과 유사합니다.

/config/dev1
  cdn.yaml
  logForwarding.yaml
/config/dev2
  cdn.yaml
  logForwarding.yaml
/config/prod
  cdn.yaml
  logForwarding.yaml

이 방법의 변형은 환경당 별도의 분기를 유지 관리하는 것입니다.

Edge Delivery Services yamls-for-eds

Edge Delivery 구성 파이프라인에는 별도의 개발, 스테이징 및 프로덕션 환경이 없습니다. 게시 게재 환경에서 변경 사항은 개발, 스테이지 및 프로덕션 계층을 통해 진행됩니다. 반대로 Edge Delivery 구성 파이프라인은 Edge Delivery 사이트에 대해 Cloud Manager에 등록된 모든 도메인 매핑에 직접 구성을 적용합니다.

따라서 다음과 같은 간단한 파일 구조를 배포할 수 있습니다.

/config
  cdn.yaml
  logForwarding.yaml

규칙이 Edge Delivery 사이트마다 달라야 하는 경우 when 구문을 사용하여 규칙을 서로 구별합니다. 예를 들어 도메인이 아래 코드 조각에서 dev.example.com 와 일치하며 www.example.com 도메인과 구별될 수 있습니다.

kind: "CDN"
version: "1"
data:
  trafficFilters:
    rules:
    # Block simple path
    - name: block-path
      when:
        allOf:
          - reqProperty: domain
            equals: "dev.example.com"
          - reqProperty: path
            equals: '/block/me'
      action: block

envTypes 메타데이터 필드를 포함하는 경우 값 prod ​만 사용해야 합니다(envTypes 메타데이터 필드 생략). tier reqProperty의 경우 값 publish ​만 사용해야 합니다.

비밀 환경 변수 secret-env-vars

중요한 정보를 소스 제어에 저장할 필요가 없도록 구성 파일은 secret 유형의 Cloud Manager 환경 변수를 지원합니다. 로그 전달을 비롯한 일부 구성의 경우 특정 속성에 대해 보안 환경 변수가 필수입니다.

비밀 환경 변수는 게재 프로젝트 게시에 사용됩니다. Edge Delivery Services 프로젝트의 비밀 파이프라인 변수 섹션을 참조하십시오.

다음 코드 조각은 구성에 보안 환경 변수 ${{SPLUNK_TOKEN}}을(를) 사용하는 방법의 예입니다.

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

환경 변수를 사용하는 방법에 대한 자세한 내용은 Cloud Manager 환경 변수를 참조하십시오.

비밀 파이프라인 변수 secret-pipeline-vars

Edge Delivery Services 프로젝트의 경우 secret 유형의 Cloud Manager 파이프라인 변수를 사용하므로 중요한 정보를 소스 제어에 저장할 필요가 없습니다. 단계 적용됨 선택 상자는 배포 옵션을 사용해야 합니다.

구문은 이전 섹션에 표시된 코드 조각과 동일합니다.

파이프라인 변수를 사용하는 방법에 대한 자세한 내용은 Cloud Manager의 파이프라인 변수를 참조하십시오.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab