ACM にインポートした証明書の有効期限が近づいたときに通知を受ける方法を教えてください。
AWS Certificate Manager (ACM) 証明書をインポートしましたが、有効期限が切れる前に証明書を再インポートするリマインダーを受け取りたいと考えています。
簡単な説明
証明書の有効期限が近づいているという通知を受け取るには、次のいずれかの方法を使用します。
- ACM 証明書の有効期限切れ間近イベントを設定する。
- カスタムの Amazon EventBridge ルールおよび AWS Config ルールを作成する。
- Amazon CloudWatch アラームを作成する。
デフォルトでは、ACM 証明書の有効期限切れ間近イベントは、イベントの有効期限の 45 日前に通知を送信します。この日数は変更できますが、45 日を超えて設定することはできません。イベントの有効期限が切れる 45 日より前に通知を送信するように設定するには、カスタムの EventBridge ルール、または CloudWatch アラームを使用してください。
解決策
EventBridge で ACM 証明書の有効期限切れ間近イベントを設定する
前提条件: Amazon Simple Notification Service (Amazon SNS) トピックがない場合は、トピックを作成します。
次の手順を実行します。
- EventBridge コンソールを開きます。
- ナビゲーションペインで、[ルール]、[ルールを作成] の順に選択します。
- ルールの [名前] を入力します。
注: 同じ AWS リージョンおよび同じイベントバスにあるルールには、一意の名前を付ける必要があります。 - [イベントバス] で、イベントバスを選択します。このルールを AWS アカウントからのイベントと一致させるには、[AWS のデフォルトのイベントバス] を選択して、イベントがアカウントのデフォルトイベントバスに送信されるようにします。
- [ルールタイプ] で、[イベントパターンを持つルール] を選択し、[次へ] を選択します。
- [イベントソース] で、[AWS イベントまたは EventBridge パートナーイベント] を選択します。
- [作成方法] で、[パターンフォームオプションを使用する] を選択します。
- [イベントパターン] セクションで、次の手順を実行します。
[イベントソース] で、[AWS サービス] を選択します。
[AWS サービス] では、[Certificate Manager] を選択します。
[イベントタイプ] で、[ACM 証明書の有効期限切れ間近] を選択します。 - [次へ] を選択します。
- [ターゲットタイプ] で、[AWS サービス] を選択します。
- [ターゲットの選択] で [SNS トピック] を選択し、次に [Amazon SNS トピック] を選択します。
- [次へ] を選択します。
- (オプション) タグを追加します。
- [次へ] を選択します。
- ルールの詳細を確認し、[ルールを作成] を選択します。
ルールを作成したら、有効期限の通知を受け取る日数を変更できます。PutAccountConfiguration ACM API オペレーションで、DaysBeforeExpiry に 1~45 の値を入力します。
カスタム EventBridge ルールおよび AWS Config ルールを作成する
前提条件: 既存の Amazon SNS トピックがない場合は、トピックを作成してください。
EventBridge ルールのカスタムイベントパターンを使用して、AWS Config マネージドルール acm-certificate-expiration-check に一致させます。次に、レスポンスを Amazon SNS トピックにルーティングします。 Amazon SNS トピックは、AWS Config サービスと同じ AWS リージョンにある必要があります。
注: AWS Config を使用すると、料金が発生します。詳細については、「AWS Config 料金表」を参照してください。
EventBridge ルールを作成する
次の手順を実行します。
-
EventBridge コンソールを開きます。
-
[ルール] をクリックし、[ルールの作成] を選択します。
-
[名前] に、ルール名を入力します。
-
[ルールタイプ] で、[イベントパターンを持つルール] を選択し、[次へ] を選択します。
-
[イベントソース] で、[AWS イベントまたは EventBridge パートナーイベント] を選択します。
-
[イベントパターン] で [カスタムパターン (JSON エディタ)] を選択します。
-
[イベントパターン] のプレビューペインで、次のイベントパターンを入力します。
{ "source": [ "aws.config" ], "detail-type": [ "Config Rules Compliance Change" ], "detail": { "messageType": [ "ComplianceChangeNotification" ], "configRuleName": [ "acm-certificate-expiration-check" ], "resourceType": [ "AWS::ACM::Certificate" ], "newEvaluationResult": { "complianceType": [ "NON_COMPLIANT" ] } } } -
[次へ] を選択します。
-
[ターゲットを選択] で [SNS トピック] を選択します。
-
[トピック] から目的の SNS トピックを選択します。
-
[ターゲット入力を設定] ドロップダウンリストで [入力トランスフォーマー] を選択します。
-
[入力トランスフォーマーを設定] を選択します。
-
[入力パス] テキストボックスに、次のパスを入力します。
{ "awsRegion": "$.detail.awsRegion", "resourceId": "$.detail.resourceId", "awsAccountId": "$.detail.awsAccountId", "compliance": "$.detail.newEvaluationResult.complianceType", "rule": "$.detail.configRuleName", "time": "$.detail.newEvaluationResult.resultRecordedTime", "resourceType": "$.detail.resourceType" }
- [テンプレート] テキストボックスに、次のテンプレートを入力します。
"On example_time AWS Config rule example_rule evaluated the example_resourceType with Id example_resourceId in the account example_awsAccountId region example_awsRegion as example_compliancetype.""For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=awsRegion#/timeline/resourceType/resourceId/configuration."
注: 例の値を実際の値に置き換えてください。 [確認] を選択し、[次へ] を選択します。 もう一度、[次へ] を選択してから、[ルールの作成] を選択します。
ACM がイベントタイプをアクティブ化すると、SNS E メール通知が届きます。
AWS Config ルールを作成する
AWS Config ルールを作成するには、以下の手順を実行します。
- AWS Config コンソールを開きます。
- ナビゲーションペインで、[ルール]、[ルールを追加] の順に選択します。
- [ルールタイプの選択] で、[AWS によって管理されるルールの追加] を選択します。
- [AWS マネージド型ルール] で、[acm-certificate-expiration-check] を選択し、[次へ] を選択します。
- [パラメータ] ページの [値] で、daysToExpiration キーにルールを起動する日数を入力します。
注: 証明書の有効期限が、入力した日数に近い場合、acm-certificate-expiration-check ルールは、そのルールを NON_COMPLIANT として識別します。 - [次へ] を選択し、[完了] を選択します。
静的しきい値に基づいて CloudWatch アラームを作成する
次の手順を実行します。
- CloudWatch コンソールを開きます。
- ナビゲーションペインで [アラーム] を選択し、次に [すべてのアラーム] を選択します。
- [アラームの作成] を選択し、[メトリクスの選択] を選択します。
- [Certificate Manager] を選択し、[証明書メトリクス] を選択します。
- [メトリクス] ページでメトリクスを選択してから、[メトリクスの選択] を選択します。
- [メトリクスと条件の指定] ページの [統計] で、[最小] を選択します。
- [期間] には [1 日] を選択します。
- [Whenever DaysToExpiry is...] では、[Lower/Equal] を選択し、[than...] に、有効期限が切れる前にアラームを実行させたい日数を設定します。
- [次へ] を選択します。
- [通知] で [アラーム状態] を選択します。
- [次の SNS トピックに通知を送信] で、[既存の SNS トピックを選択]、または [新しいトピックを作成] を選択し、[次へ] を選択します。
- アラーム名を入力し、[次へ] を選択します。
- [アラームを作成] を選択します。
詳細については、「静的しきい値に基づいて CloudWatch アラームを作成する」を参照してください。
関連情報
Getting started with AWS Certificate Manager certificates
- 言語
- 日本語
