셀프 호스팅 배포(레거시)

Panther에서 셀프 호스팅 배포 관리하기

개요

circle-exclamation

업그레이드

Panther가 새 릴리스를 게시하면 자체 호스팅 고객에게 알려 일정에 따라 업그레이드를 조정할 수 있도록 합니다. 업그레이드는 일반적으로 간단해야 하지만 모든 것이 원활하게 진행되도록 업그레이드 전과 업그레이드 중에 따라야 할 몇 가지 단계가 있습니다.

업그레이드 전에

업그레이드를 시작하기 전에 어떤 Panther 버전으로 업그레이드할지 확인하세요. Panther는 시맨틱 버전 관리를 사용하며, 소수(minor) 릴리스를 건너뛰지 않고 가장 최신 패치 버전으로 업그레이드하는 것이 강력히 권장됩니다.

예를 들어, 현재 버전이 1.10.X 이고 버전으로 업그레이드하려는 경우 1.13.X, 먼저 가장 높은 패치 버전의 1.11.X, 그 다음 1.12.X, 그리고 마지막으로 1.13.X입니다. 이렇게 하면 마이그레이션 문제를 방지할 수 있습니다.

하나의 소수 버전 또는 모든 소수 버전의 최신 패치 버전, 또는 소수 버전에 대한 사용 가능한 패치 버전 목록을 보려면 다음을 사용하세요 AWS CLIarrow-up-right 명령:

export VERSION=<패치 버전을 확인하려는 Panther 소수 버전, 예: 1.108>

# 주어진 소수 버전의 최신 패치 버전을 출력하려면:
aws s3 ls s3://panther-community-us-east-1 --no-sign-request | grep "PRE v$VERSION" | awk -F"PRE v|/"  '{print $2}' | sort -V | tail -1

# 주어진 소수 버전의 모든 패치 버전을 출력하려면:
aws s3 ls s3://panther-community-us-east-1 --no-sign-request | grep "PRE v$VERSION" | awk '{print $2}' | sort -t "." -k1,1n -k2,2n -k3,3n

# 각 소수 버전의 최신 패치 버전을 출력하려면
aws s3 ls s3://panther-community-us-east-1 --no-sign-request | \
    grep "PRE v" | \
    awk -F"PRE v|/" '{print $2}' | \
    sort -V | \
    awk -F. '{key=$1"."$2} prev!=key && NR>1{print last} {prev=key; last=$0} END{print last}'

또한, PantherDeploymentRole 을 사용하여 Panther를 배포하는 경우, 배포하는 Panther 버전에 맞게 PantherDeploymentRole 을(를) 올바른 버전으로 업데이트했는지 확인하세요. 현재 버전이 1.13.X 이고 버전으로 업그레이드하려는 경우 1.14.X, 업그레이드하기 전에 PantherDeploymentRole 도 버전 1.14.X 에 있는지 확인하세요. 여기에 PantherDeploymentRole 템플릿 URL이 있습니다:

업그레이드 중

업그레이드를 수행하려면 CloudFormation 콘솔에서 루트 Panther 스택을 찾아 업데이트 버튼을 클릭하고, 템플릿 URL 교체를 선택한 다음 원하는 Panther 버전을 배포하기 위한 TemplateURL 을(를) 삽입하세요. 템플릿 URL 형식은 다음과 같아야 합니다:

예시

https://panther-enterprise-us-east-2.s3.amazonaws.com/v1.25.1/panther.ymlarrow-up-right

CloudFormation 매개변수가 올바른지, CloudFormation이 IAM 리소스와 중첩된 CloudFormation 리소스를 대신 생성할 수 있는지 확인하는 몇 가지 페이지를 클릭하라는 메시지가 표시됩니다.

Pulumi CodeBuild 트리거

우리는 인프라 관리를 위해 Pulumi를 사용합니다. 기본 Panther 스택이 배포된 후에는 panther-pulumi CodeBuild 프로젝트에 대한 빌드를 시작해야 합니다. 예: aws codebuild start-build --project-name panther-pulumi

참고

루트 스택 이름 지정

Panther를 배포할 때 배포할 루트 panther 스택의 템플릿 URL이 제공됩니다. Panther를 배포하기 위해 PantherDeploymentRole 을(를) 사용하는 경우 루트 스택 이름을 panther- 접두사가 포함된 이름으로 지정하세요. 루트 스택의 이름은 스택에서 생성하는 모든 리소스 이름 앞에 추가되며, PantherDeploymentRole 은(는) 권한을 제한하여 해당 이름으로 시작하는 리소스에만 영향을 미치도록 일부 액세스를 제한합니다. panther-.

배포 매개변수 구성

Panther CloudFormation 스택에는 구성 가능한 여러 배포 매개변수가 있습니다. 다음 옵션에 특히 주의하세요:

  • FedRAMPEnabled: FedRAMP 통제 활성화/비활성화. 기본값은 false, 허용 값은 true 또는 false.

  • FirstUserEmail (필수): 이 이메일 주소로 Panther 관리자 초대가 전송됩니다. 첫 번째 성공적인 배포 후에는 이 값에 대한 업데이트가 무시됩니다.

  • FirstUserFamilyName (필수): 초기 Panther 사용자 - 성

  • FirstUserGivenName (필수): 초기 Panther 사용자 - 이름

  • PulumiSecretArnPulumiSecretKeyArn (필수): 이 값들은 저희 팀이 제공할 것입니다 - 귀사 전용의 Pulumiarrow-up-right 액세스 토큰이 저희 조직에 있을 것입니다.

  • SentryEnabled: Sentry 통합 활성화/비활성화. 기본값은 true, 허용 값은 true 또는 false. 이는 FedRAMPEnabled 이 true인 경우 무시됩니다.

  • SnowflakeAPISecretARN (필수): 구성 및 자격 증명이 포함된 Snowflake API 읽기 전용 시크릿을 가리키는 ARN.

  • SnowflakeAPISecretRotationDays: Snowflake PANTHER_READONLY 시크릿의 회전 주기(일). 기본값은 0이며 최소값은 0입니다.

  • SnowflakeAdminAPISecretRotationDays: Snowflake PANTHER_ADMIN 시크릿의 회전 주기(일). 기본값은 0이며 최소값은 0입니다. 권장 값은 1입니다.

  • SnowflakeAdminAPISecretARN (필수): 구성 및 자격 증명이 포함된 Snowflake API 관리자 시크릿을 가리키는 ARN.

  • SnowflakeAdminAPISecretRotationDays: Snowflake PANTHER_ADMIN 시크릿의 회전 주기(일). 기본값은 0이며 최소값은 0입니다. 권장 값은 1입니다.

  • SnowflakeDestinationClusterARNs (필수): Snowflake IAM 역할과 연결할 Snowflake 클러스터 ARN들입니다. 이는 Snowpipearrow-up-right.

  • SnowflakeEdition: Snowflake 인스턴스의 에디션. 기본값은 standard.

  • SnowflakeType: 데이터 레이크 백엔드의 유형. 로 설정 Connected.

Panther에는 위에 나열된 항목 외에도 여러 구성 옵션이 있습니다. 이러한 매개변수는 Panther를 처음 배포할 때 설정하지 않는 것을 권장합니다. 초기 배포의 어느 단계든 실패하면 전체 배포가 실패하고 롤백되어 모든 인프라가 삭제됩니다. 초기 Panther 배포를 완료한 후에는 루트 매개변수를 변경하여 스택을 업데이트할 수 있습니다. 그런 다음 이러한 설정 중 일부가 배포 실패를 유발하더라도 Panther는 전체 새 배포가 필요 없이 이전 설정으로 단순히 롤백할 것입니다. 여기에는 Snowflake 및 커스텀 도메인 구성 매개변수와 같은 항목이 포함됩니다.

마지막 업데이트

도움이 되었나요?