1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[IBMCloud] もう期限切れで焦らない!IKSのTLS証明書を自動更新する仕組みを作る Part4

Last updated at Posted at 2025-05-20

作業概要

通常インターネットでのWebアプリケーションを公開する場合、カスタムドメインを利用する
カスタムドメインを利用する際は、HTTPS通信の場合、証明書が必要となりユーザ管理となるため更新処理が手間になることが多い
SecretManagerを利用することでカスタムドメイン証明書も自動更新が可能となり、運用性が高まる

今回はIKS上でSecret Managerのカスタムドメイン証明書を参照し、自動更新を行う
利用する証明書はPart2の記事で実施した証明書、カスタムドメイン名:"acspaas.site"

Part2:DNS Providerの設定と自動更新カスタムドメイン証明書(パブリック)の発行

全体の流れ

ボリュームがあるので、全5回で記事を記載します。
本記事では「4.IKSからパブリック証明書の参照と自動更新」の内容を記載

前回
1.自動証明書管理環境(ACME)のセットアップと認証局の構成
2.DNS Providerの設定と自動更新カスタムドメイン証明書(パブリック)の発行
3.IKSとSecret Managerの連携設定と自動更新の確認

本記事はこちら
4.[IKSからパブリック証明書の参照と自動更新]

次回以降
5.IngressALBから証明書の利用とアプリケーションへのHTTPS動作確認

全体図
IKSでSecret Managerを利用して、IngressALBにPublic証明書を適用し、証明書の自動更新を行う一例
image.png

IKSでSecret Managerにあるパブリック証明書を参照してシークレットを作成

まずは、参照する証明書のCRNを確認する

Secrets -> "参照する証明書"を選択
image.png

下にあるCRNを確認
image.png

IKSから証明書を参照し、シークレットを作成

% ibmcloud ks ingress secret create --name testcert-namespace-before --cluster cv4ef49t0jeirigoaasg --cert-crn crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309 --namespace test
OK

確認

 % ibmcloud ks ingress secret ls --cluster cv4ef49t0jeirigoaasg
OK
名前                                                名前空間         CRN                                                                                                                                                                有効期限                   ドメイン                                                                              状況      タイプ
acs-sectest-d13c20a300620486546182a0effece00-0000   default          crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   ibm-cert-store   crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   kube-system      crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
testcert-namespace-before                           test             crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309   2025-06-04T02:14:48+0000   acspaas.site                                                                          created   TLS

有効期限:2025-06-04T02:14:48+0000、ドメイン:acspaas.siteの作成ができている

パブリック証明書の更新と同期

先ほどのパブリック証明書を更新し、先ほど作ったシークレットと同期するか確認する

acspaas.siteの証明書のローテートを実施
image.png
image.png

新しく更新した証明書をIKS上で参照し、シークレットを作成

% ibmcloud ks ingress secret create --name testcert-namespace-after --cluster cv4ef49t0jeirigoaasg --cert-crn crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309 --namespace test
OK

確認

 % ibmcloud ks ingress secret ls --cluster cv4ef49t0jeirigoaasg
OK
名前                                                名前空間         CRN                                                                                                                                                                有効期限                   ドメイン                                                                              状況      タイプ
acs-sectest-d13c20a300620486546182a0effece00-0000   default          crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   ibm-cert-store   crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   kube-system      crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
testcert-namespace-after                            test             crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309   2025-06-04T15:54:31+0000   acspaas.site                                                                          created   TLS
testcert-namespace-before                           test             crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309   2025-06-04T02:14:48+0000   acspaas.site                                                                          created   TLS

testcert-namespace-after => 今回更新した証明書
testcert-namespace-before => 更新前の古い証明書

Secret Managerとの同期は1日1回行われるため、現時点では二つの証明書は同期されておらず、有効期限が異なる状態

参考:登録済みの Secrets Manager インスタンスに保管されているシークレットは自動的に更新されますか?

1日経過後に確認し、証明書が同期されていることを確認
これにより、カスタムドメイン証明書もSecret Managerにより自動更新が実施され、IKSまで正常に反映されることがわかる

 % ibmcloud ks ingress secret ls --cluster cv4ef49t0jeirigoaasg
OK
名前                                                名前空間         CRN                                                                                                                                                                有効期限                   ドメイン                                                                              状況      タイプ
acs-sectest-d13c20a300620486546182a0effece00-0000   default          crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   ibm-cert-store   crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
acs-sectest-d13c20a300620486546182a0effece00-0000   kube-system      crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ae2673ed-958c-0324-b6db-dd75277acd12   2025-06-04T03:13:29+0000   acs-sectest-d13c20a300620486546182a0effece00-0000.jp-tok.containers.appdomain.cloud   created   TLS
testcert-namespace-after                            test             crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309   2025-06-04T15:54:31+0000   acspaas.site                                                                          created   TLS
testcert-namespace-before                           test             crn:v1:bluemix:public:secrets-manager:jp-tok:a/db415c559c0e468cb9414edb82aee6fe:5074d80d-949c-468e-9991-7cb884063380:secret:ad685e86-e7dd-6286-31b0-597b0dd77309   2025-06-04T15:54:31+0000   acspaas.site                                                                          created   TLS

続き「5.IngressALBから証明書の利用とアプリケーションへのHTTPS動作確認

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?