IoT Coreのデータエンドポイントとしてカスタムドメインを使用する場合はACMにてサーバー証明書を管理します。サーバー証明書の有効期限が近い場合などにおいて、ユーザー側で証明書を更新する必要があるため、その手順を紹介します。
簡単な説明
IoT Coreにおけるカスタムドメインのサーバー証明書を更新するには以下2つの方法があります。
-
a. ACM証明書の再インポート
-
b. ドメイン設定の削除と再作成
新しい証明書のSubject Alternative Name (SAN)、Common Name (CN)、署名アルゴリズムの全てが前の証明書と同一であれば、aの方法を使用できます。
具体的な手順の説明
a. ACM証明書の再インポート
Subject Alternative Name (SAN)、Common Name (CN)、署名アルゴリズムの全てが前の証明書と同一であれば、ACM証明書の再インポートを実行することで、IoT Coreにより自動的に証明書のローテーションが実施されます。
「Subject Alternative Name (SAN)、Common Name (CN)、署名アルゴリズムの全てが前の証明書と同一」という条件を満たしている場合は、IoT Coreが新しい証明書を自動的に取得しますが、条件を満たしていない場合は、ACM証明書の再インポートを実施してもIoT Coreは自動的に新しい証明書を取得しません。
もし条件を満たしていない場合は、bの方法を使用します。
b. ドメイン設定の削除と再作成
カスタムドメインのドメイン設定の削除と再作成を実施します。
AWS CLIを使用する方法と、IoT Coreコンソールから操作する方法を説明します。
AWS CLIを使用する場合
-
既存のドメイン設定を無効化 (UpdateDomainConfiguration API)
aws iot update-domain-configuration \
--domain-configuration-name <ドメイン設定名> \
--domain-configuration-status DISABLED
-
既存のドメイン設定を削除 (DeleteDomainConfiguration API)
カスタムドメインのドメイン設定であるため、無効化したドメイン設定をすぐに削除することができます。詳細については、「ドメイン設定の削除 -ドメイン設定の管理」を参照してください。
aws iot delete-domain-configuration \
--domain-configuration-name <ドメイン設定名>
-
新しい証明書でドメイン設定を再作成 (CreateDomainConfiguration API)
aws iot create-domain-configuration \
--domain-configuration-name <ドメイン設定名> \
--domain-name <ドメイン名> \
--server-certificate-arns <ACMの新しい証明書のARN> \
--service-type DATA \
--validation-certificate-arn <ACMの検証証明書のARN>
パブリックに署名されたサーバー証明書またはACMによって生成されたサーバー証明書を使用する場合は、引数 validation-certificate-arn は不要です。詳細については、「ドメイン設定の作成 - カスタマーマネージドドメインの作成と設定」を参照してください。
IoT Coreコンソールを使用する場合
-
既存のドメイン設定を無効化
IoT Coreコンソールの左ペインから「ドメイン設定」のページに遷移し、当該ドメインを選択して「アクション」から「無効化」を選択する。
-
既存のドメイン設定を削除
当該ドメインを選択し、「アクション」から「削除」を選択する。
カスタムドメインのドメイン設定であるため、無効化したドメイン設定をすぐに削除することができます。詳細については、「ドメイン設定の削除 - ドメイン設定の管理」を参照してください。
-
新しい証明書でドメイン設定を再作成
「ドメイン設定を作成」ボタンから、新規証明書を使用してドメイン設定を作成する。
補足
ドメイン設定名を変えた場合でもドメイン名が同一の場合は、ドメイン設定の作成は実行できません。
具体的には、以下のようなエラーが表示されます。
An error occurred (InvalidRequestException) when calling the CreateDomainConfiguration operation: <ドメイン名> has already been registered with a different server certificate.
そのため、方法bの手順3は、既存のドメイン設定を削除する手順2の後に実行する必要があります。
関連資料
ドメイン設定の管理 - AWS IoT Core
カスタマーマネージドドメインの作成と設定 - AWS IoT Core