사전 요구 사항
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를 각각 token 및 token_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 |
|---|---|
Mongo | MongoDB |
Cosmos | CosmosDB |