다음을 통해 공유


모니터링을 위한 SSL 인증서 제공

2021년 12월 릴리스부터 Azure Arc 지원 데이터 서비스를 사용하면 모니터링 대시보드에 SSL/TLS 인증서를 제공할 수 있습니다. 로그(Kibana) 및 메트릭(Grafana) 대시보드에 이러한 인증서를 사용할 수 있습니다.

다음을 사용하여 데이터 컨트롤러를 만들 때 인증서를 지정할 수 있습니다.

  • Azure az CLI arcdata 확장
  • 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 리포지토리 디렉터리에는 인증서 사양을 식별하는 템플릿 예 파일이 포함되어 있습니다.

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(주체 대체 이름)으로 나열되고 인증서 사용 매개 변수가 올바른지 확인합니다.

  1. 각 비밀에 다음 필드가 있는지 확인합니다.
    • base64로 인코딩된 인증서를 포함하는 certificate.pem
    • 프라이빗 키를 포함하는 privatekey.pem