ASM の証明書管理は、メッシュ内のすべてのクラスター間で証明書を同期する、マルチクラスターシナリオに最適なアプローチです。また、情報表示や有効期限切れのアラートにより、証明書のメンテナンスを簡素化します。このトピックでは、ASM の証明書管理機能の使用方法について説明します。
前提条件
-
ASM インスタンスにクラスターを追加済みで、インスタンスのバージョンが 1.17 以降であること。
ステップ 1:サーバー証明書とプライベートキーの準備
-
次のコマンドを実行して、ルート証明書とプライベートキーを作成します。
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt -
次のコマンドを実行して、
aliyun.comサーバー用の証明書とプライベートキーを生成します。証明書の有効期間は 365 日です。openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization" openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt -
次のコマンドを実行して、
aliyun.comサーバー用の期限切れ間近の証明書とプライベートキーを生成します。証明書の有効期間は 1 日です。この 1 日間の証明書は、ASM の証明書の有効期限切れアラート機能をテストするために使用します。
openssl req -out expiring.aliyun.com.csr -newkey rsa:2048 -nodes -keyout expiring.aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization" openssl x509 -req -days 1 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in expiring.aliyun.com.csr -out expiring.aliyun.com.crt
(オプション) ステップ 2:コントロールプレーンのログ収集と証明書のアラートの有効化
コントロールプレーンのログ収集を有効にし、期限切れの証明書とまもなく期限切れになる証明書のアラートを設定できます。ASM は、有効期間が 30 日未満の証明書を「まもなく期限切れ」と見なします。
-
1.17.2.35 より前の ASM インスタンスの場合は、「コントロールプレーンのログ収集とログベースのアラートの有効化 (旧バージョン)」をご参照ください。
-
1.17.2.35 以降の ASM インスタンスの場合は、「コントロールプレーンのログ収集とログベースのアラートの有効化 (新バージョン)」をご参照ください。
[Control-plane Log Alert Settings] ページで、証明書関連のアラートポリシー ([Expired certificate exists in certificate management] と [Certificate that is about to expire exists in certificate management]) を見つけ、各ポリシーの右側にある [Enable Alert] をクリックし、[Service Mesh ASM Built-in Action Policy (Recommended)] を選択します。
ステップ 3:証明書の作成
-
標準証明書を作成します。
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
-
Certificate Management ページでCreateをクリックし、Certificate Information パネルでパラメーターを設定してOKをクリックします。
パラメーター
説明
[Name]
証明書のカスタム名。
[Namespaces]
デフォルト:
istio-system。[Public Key Certificate]
ステップ 1 の手順 2 で生成された
aliyun.com.crtファイルの内容。[Private Key]
ステップ 1 の手順 2 で生成された
aliyun.com.keyファイルの内容。[Enable mTLS]
mTLS 通信の場合は、このオプションを有効にして、CA Certificate テキストボックスに CA 証明書の内容を入力してください。
-
ステップ 1 を参照して、まもなく期限切れになる証明書を作成します。
Public Key Certificate と Private Key には、ステップ 1 のステップ 3 で生成された
expiring.aliyun.com.crtとexpiring.aliyun.com.keyファイルの内容をそれぞれ使用します。 証明書が作成されると、[証明書管理] ページに、ステータスが [正常] の expiring-cert とステータスが [間もなく期限切れ] の test-cert という 2 つの新しい証明書レコードが表示されます。 両方の証明書のドメイン名はaliyun.comで、タイプは TLS です。 Operation 列では、Details をクリックして証明書の詳細を表示したり、Edit をクリックしてその内容を編集したりできます。 -
(オプション) 証明書のアラートログを表示します。
1.17.2.35 より前
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
-
Config Info セクションで、Control-plane log collection の右側にある View log をクリックします。 左側の Logstores リストで internal-alert-history をクリックします。 internal-alert-history ページで、キーワードとして
certificateを入力し、期間として [30 日 (相対)] を選択し、[クエリ/分析] をクリックして certificate アラートログを検索します。 クエリ結果には、AlertDisplayName が "certificate about to expire" であるアラートレコードを含め、合計 28 件のアラートログが表示されます。
1.17.2.35 以降
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
-
Log Center ページで、Control-Plane Logs タブをクリックします。 検索ボックスに Certificate と入力し、[クエリ/分析] をクリックしてアラートログを表示します。
説明ASM は 6 時間ごとに証明書の有効期限切れアラートをチェックします。アラートログが表示されない場合は、6 時間待ってから再度確認してください。
-
証明書管理の証明書を使用します。
Certificate Management ページで証明書を作成した後、次のシナリオでそれらを直接参照できます。
-
YAML を使用して Gateway リソースを作成または変更する場合、
credentialNameフィールドを証明書の名前に設定して TLS を構成できます。 詳細については、「Manage a Gateway」をご参照ください。 -
ASM コンソールの GUI を使用して Gateway リソースを作成する場合、証明書管理から証明書を選択できます。 詳細については、「Manage a Gateway」をご参照ください。
-
ゲートウェイの概要にあるDomain/Certificate ページでドメインを作成する際、TLS 設定のために証明書管理の証明書を直接参照できます。詳細については、「ドメインの証明書を追加する」をご参照ください。
-
ステップ 4:証明書の移行
バージョン 1.17 以降、ASM は [ASM ゲートウェイ > 証明書管理] ページで証明書管理をサポートしています。ゲートウェイ概要の Domain/Certificate ページで証明書を作成した場合は、Certificate Management ページに移行してください。
Certificate Management ページで、同じ名前で証明書を作成し、元の証明書から情報を貼り付けます。この操作により、証明書の管理が Certificate Management ページに転送されます。