주요 콘텐츠로 건너뛰기

사전 요구 사항

Glasswall Halo 배포 프로세스를 시작하기 전에 다음 도구와 리소스가 설치되고 설정되어 있는지 확인하세요.

시스템 요구 사항

다음 가이드는 Linux shell에서 실행된다고 가정하고 작성되었습니다. 다른 shell에서 실행하는 경우 일부 명령은 실행할 수 있도록 수정이 필요할 수 있습니다.

Windows에서 실행하는 경우 Windows subsystem for Linux를 사용하고 있는지 확인하세요.

필수 도구

필수 Azure 리소스

1. AKS 인스턴스

  • 권장 총 사양은 최소 8 vCPU 및 32 GB RAM입니다.

  • 최소 노드 크기는 4 vCPU 및 16 GB RAM입니다.

  • 프로덕션 워크로드의 경우 최소 2개의 노드를 권장합니다.

  • 아래 단계에서 AKS 클러스터는 aksname(으)로 지칭됩니다.

참고: Glasswall Halo는 arm64 노드 VM을 지원하지 않습니다.

AKS 클러스터 생성에 대한 안내는 다음을 참조하세요:

2. Key Vault

  • Glasswall Halo 시크릿은 Azure Key Vault를 사용하여 관리됩니다. 이러한 시크릿은 External secrets를 통해 AKS 클러스터로 동기화됩니다.

  • 아래 단계에서 Key Vault는 kvname(으)로 지칭됩니다.

Azure Key Vault 생성에 대한 지침은 다음을 참조하세요:

3. 스토리지 계정

  • 스토리지 계정은 플랫폼에서 처리되는 각 파일의 보고서를 저장하는 데 사용됩니다. 스토리지 계정의 SKU는 성능에 영향을 주지 않지만, 최소한 GRS 구성을 권장합니다.

  • 추가 스토리지 계정은 클러스터의 영구 볼륨을 지원하는 Azure 파일 공유로 사용됩니다. 이는 AKS 클러스터의 리소스 그룹에 자동으로 추가됩니다.

  • 아래 단계에서 CDR 보고서를 수집하는 스토리지 계정은 다음과 같이 지칭됩니다: saname

파일 공유:

  • 1 X 10 TB 프로비저닝된 용량 (1100.0 MiB/s 처리량)

    • Glasswall Halo 임시 파일 저장소 및 Glasswall Halo RabbitMQ에 사용됨

4. 데이터베이스

옵션 1 - MongoDB 데이터베이스

MongoDB는 Glasswall Halo 콘텐츠 관리 policy 및 비동기 파일 처리에 필요한 데이터를 저장하는 데 사용할 수 있습니다. MongoDB는 cdrplatform-policy-API, cdrplatform-async-API, cdrplatform-metrics-projection, cdrplatform-tally-accumulator 서비스에서 사용됩니다.

  • MongoDB API 호환성을 갖춘 CosmosDB를 배포합니다.

  • Glasswall Halo를 통과할 것으로 예상되는 데이터 양에 따라, 인스턴스가 적절한 처리량 할당으로 설정되어 있는지 확인하세요.

참고: 또는 MongoDB를 클러스터 내부에 직접 배포할 수 있습니다. Step 8에 나와 있는 것처럼 MongoDB Helm charts를 사용해 배포할 수 있습니다.

옵션 2 - CosmosDB 데이터베이스

또는 CosmosDB를 사용하여 Glasswall Halo 콘텐츠 관리 policy, 비동기 파일 처리용 데이터 및 메트릭을 저장할 수 있습니다.

  • Azure에 CosmosDB 인스턴스를 배포합니다.

    • Glasswall Halo를 통해 전달될 것으로 예상되는 데이터 양에 따라, 인스턴스가 적절한 throughput allocation으로 설정되어 있는지 확인합니다.

5. 앱 등록

SSO 인증을 사용하려면 Glasswall Halo의 Portal에 대한 도메인 이름을 구성해야 합니다.

Azure AD를 사용하는 SSO 인증을 활성화해야 하는 경우 Azure 앱 등록이 필요합니다.

생성해야 하는 앱 등록은 3개입니다:

  • cdrplatform-API-access

  • cdrplatform-portal-access

  • cdrplatform-portal-client

첨부된 shell script는 이 3개의 앱 등록을 생성하는 데 도움이 됩니다. shell script의 인수로 Portal에 사용할 도메인 이름을 입력합니다. 예를 들어 halo.glasswall.com을 도메인 이름으로 사용하고 스크립트를 실행합니다:

bash create-azure-app-registrations.sh halo.glasswall.com

Glasswall Artifact Registry 액세스

  • Glasswall의 Artifact Registry에 액세스할 수 있도록 token 및 token ID가 제공됩니다.

  • 이를 통해 AKS 클러스터에서 컨테이너 이미지와 Helm 차트를 직접 가져올 수 있습니다.

  • 아래 단계에서는 token 및 token ID를 각각 tokentoken_id.로 지칭합니다.


변수 할당

시작 전에 할당할 변수

위의 Required Tools에 언급된 변수는 Glasswall Halo 설치를 시작하기 전에 할당해야 합니다. **"..." **를 사용자 고유의 값으로 바꿔야 합니다.

  • Azure 리소스 그룹 이름: rgp="..."

  • Azure Kubernetes 서비스 이름: aksname="..."

  • Azure Key Vault 이름: kvname="..."

  • Azure 스토리지 계정 이름: saname="..."

  • Azure 컨테이너 레지스트리 토큰 ID: token_id="..."

  • Azure 컨테이너 레지스트리 토큰: token="..."

**참고: 위 단계에서는 각 리소스가 모두 rgp라고 지칭되는 동일한 리소스 그룹에 있다고 가정합니다. **

단계 진행 중 할당되는 변수

다음 변수는 리소스가 생성됨에 따라 설치 과정 중에 할당해야 합니다.

  • Azure 스토리지 계정 연결 문자열: saconnstring ="..."

  • objectid를 사용한 Key Vault get 및 list 권한에 대한 관리 ID 액세스: objectid ="..."

  • Helm 설치를 위한 client ID를 사용한 key vault에 대한 관리형 ID 액세스: miclientid ="..."

참고: 3단계에서 언급한 대로 올바른 데이터베이스 provider가 설정되어 있고 관련 secret이 Key Vault에 있는지 확인하세요.

변수provider
MongoMongoDB
CosmosCosmosDB