監視用の 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 ごとに適切な証明書が必要です。 1 つはログ用で、もう 1 つはメトリック用です。 次の表ではその要件について説明します。
次の表では、各証明書とキーの要件について説明します。
要件 | ログ用の証明書 | メトリック用の証明書 |
---|---|---|
CN | logsui-svc |
metricsui-svc |
SAN | 必要なし | metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME} |
keyUsage | digitalsignature keyEncipherment |
digitalsignature keyEncipherment |
extendedKeyUsage | serverAuth |
serverAuth |
Note
既定の 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
- [https://login.microsoftonline.com/consumers/](
metricsui-certificate-secret
)
サービスがサブジェクトの別名 (SAN) として一覧表示され、証明書の使用パラメーターが正しいか確認します。
- 各シークレットに次のフィールドが含まれていることを確認します。
- base64 でエンコードされた証明書が含まれている
certificate.pem
- 秘密キーが含まれている
privatekey.pem
- base64 でエンコードされた証明書が含まれている
関連するコンテンツ
- Azure Monitor へのメトリックとログのアップロードを試す
- Grafana について確認する:
- Kibana について確認する