모니터링을 위한 SSL 인증서 제공
2021년 12월 릴리스부터 Azure Arc 지원 데이터 서비스를 사용하면 모니터링 대시보드에 SSL/TLS 인증서를 제공할 수 있습니다. 로그(Kibana) 및 메트릭(Grafana) 대시보드에 이러한 인증서를 사용할 수 있습니다.
다음을 사용하여 데이터 컨트롤러를 만들 때 인증서를 지정할 수 있습니다.
- Azure
az
CLIarcdata
확장 - Kubernetes 네이티브 배포
Microsoft는 /microsoft/azure_arc/ GitHub 리포지토리에서 인증서를 만들기 위한 샘플 파일을 제공합니다.
파일을 로컬로 복제하여 샘플 파일에 액세스할 수 있습니다.
git clone https://github.com/microsoft/azure_arc
이 문서에서 참조하는 파일은 /arc_data_services/deploy/scripts/monitoring
아래의 리포지토리에 있습니다.
적절한 인증서 만들기 또는 획득
각 UI에 적합한 인증서가 필요합니다. 하나는 로그용이고 다른 하나는 메트릭용입니다. 다음 표에서는 요구 사항을 설명합니다.
다음 표에서는 각 인증서 및 키에 대한 요구 사항을 설명합니다.
요건 | 로그 인증서 | 메트릭 인증서 |
---|---|---|
CN | logsui-svc |
metricsui-svc |
SAN | 필요 없음 | metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME} |
keyUsage | digitalsignature keyEncipherment |
digitalsignature keyEncipherment |
extendedKeyUsage | serverAuth |
serverAuth |
참고 항목
기본 K8S_DNS_DOMAIN_NAME은 svc.cluster.local
이지만 환경 및 구성에 따라 다를 수 있습니다.
GitHub 리포지토리 디렉터리에는 인증서 사양을 식별하는 템플릿 예 파일이 포함되어 있습니다.
- /arc_data_services/deploy/scripts/monitoring/logsui-ssl.conf.tmpl
- /arc_data_services/deploy/scripts/monitoring/metricsui-ssl.conf.tmpl
Azure Arc 샘플 GitHub 리포지토리는 엔드포인트에 대한 규정 규격 인증서 및 프라이빗 키를 생성하는 데 사용할 수 있는 예를 제공합니다.
/arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh의 코드를 참조하세요.
예를 사용하여 인증서를 만들려면 namespace
및 인증서용 디렉터리(output_directory
)로 다음 명령을 업데이트합니다. 그런 다음, 명령을 실행합니다.
./create-monitor-tls-files.sh <namespace> <output_directory>
이렇게 하면 디렉터리에 규격 인증서가 만들어집니다.
CLI를 사용하여 배포
각 엔드포인트에 대한 인증서/프라이빗 키가 있으면 az dc create...
명령을 사용하여 데이터 컨트롤러를 만듭니다.
고유의 인증서/프라이빗 키를 적용하려면 다음 인수를 사용합니다.
--logs-ui-public-key-file <path\file to logs public key file>
--logs-ui-private-key-file <path\file to logs private key file>
--metrics-ui-public-key-file <path\file to metrics public key file>
--metrics-ui-private-key-file <path\file to metrics private key file>
예를 들어, 다음 예에서는 로그 및 메트릭 UI 대시보드에 대해 지정된 인증서를 사용하여 데이터 컨트롤러를 만듭니다.
az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --logs-ui-public-key-file <path\file to logs public key file> --logs-ui-private-key-file <path\file to logs private key file> --metrics-ui-public-key-file <path\file to metrics public key file> --metrics-ui-private-key-file <path\file to metrics private key file>
#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --logs-ui-public-key-file /path/to/logsuipublickeyfile.pem --logs-ui-private-key-file /path/to/logsuiprivatekey.pem --metrics-ui-public-key-file /path/to/metricsuipublickeyfile.pem --metrics-ui-private-key-file /path/to/metricsuiprivatekey.pem
az arcdata dc create ...
문에 --use-k8s
를 포함할 때만 인증서를 지정할 수 있습니다.
Kubernetes 네이티브 도구로 배포
Kubernetes 네이티브 도구를 사용하여 배포하는 경우 인증서 및 프라이빗 키를 보유하는 kubernetes 비밀을 만듭니다. 다음 비밀을 만듭니다.
logsui-certificiate-secret
metricsui-certificate-secret
;
서비스가 SAN(주체 대체 이름)으로 나열되고 인증서 사용 매개 변수가 올바른지 확인합니다.
- 각 비밀에 다음 필드가 있는지 확인합니다.
- base64로 인코딩된 인증서를 포함하는
certificate.pem
- 프라이빗 키를 포함하는
privatekey.pem
- base64로 인코딩된 인증서를 포함하는
관련 콘텐츠
- Azure Monitor에 메트릭 및 로그 업로드를 시도해 보세요.
- Grafana에 대해 읽어 보세요.
- Kibana에 대해 읽어 보세요.