aws acm describe-certificate とは

aws acm describe-certificate は、ACMに登録されている証明書1件の詳細情報を取得するコマンド。【AWS CLI】ACM証明書の有効期限を一覧でCLIから確認する で紹介した list-certificates はドメイン名やステータスなど概要のみを返す。一方 describe-certificate では発行者やシリアル番号、利用中のACM以外のリソース、DNS検証の詳細まで取得できる。

--certificate-arn で対象の証明書ARNを指定する。証明書ARNは list-certificatesCertificateArn フィールドで確認できる。

$ aws acm describe-certificate \
  --region us-east-1 \
  --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
{
    "Certificate": {
        "CertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "DomainName": "example.com",
        "SubjectAlternativeNames": [
            "example.com"
        ],
        "DomainValidationOptions": [
            {
                "DomainName": "example.com",
                "ValidationDomain": "example.com",
                "ValidationStatus": "SUCCESS",
                "ResourceRecord": {
                    "Name": "_1234567890abcdef1234567890abcdef.example.com.",
                    "Type": "CNAME",
                    "Value": "_abcdef1234567890abcdef1234567890.xxxxxxxxxx.acm-validations.aws."
                },
                "ValidationMethod": "DNS"
            }
        ],
        "Serial": "01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef",
        "Subject": "CN=example.com",
        "Issuer": "Amazon",
        "CreatedAt": "2025-09-15T09:00:00+09:00",
        "IssuedAt": "2025-09-15T09:12:34+09:00",
        "Status": "ISSUED",
        "NotBefore": "2025-09-15T09:00:00+09:00",
        "NotAfter": "2026-10-14T08:59:59+09:00",
        "KeyAlgorithm": "RSA-2048",
        "SignatureAlgorithm": "SHA256WITHRSA",
        "InUseBy": [
            "arn:aws:cloudfront::123456789012:distribution/EXAMPLE12345"
        ],
        "Type": "AMAZON_ISSUED",
        "RenewalSummary": {
            "RenewalStatus": "SUCCESS",
            "DomainValidationOptions": [
                {
                    "DomainName": "example.com",
                    "ValidationDomain": "example.com",
                    "ValidationStatus": "SUCCESS",
                    "ResourceRecord": {
                        "Name": "_1234567890abcdef1234567890abcdef.example.com.",
                        "Type": "CNAME",
                        "Value": "_abcdef1234567890abcdef1234567890.xxxxxxxxxx.acm-validations.aws."
                    },
                    "ValidationMethod": "DNS"
                }
            ],
            "UpdatedAt": "2025-09-15T09:12:35+09:00"
        },
        "KeyUsages": [
            { "Name": "DIGITAL_SIGNATURE" },
            { "Name": "KEY_ENCIPHERMENT" }
        ],
        "ExtendedKeyUsages": [
            { "Name": "TLS_WEB_SERVER_AUTHENTICATION", "OID": "1.3.6.1.5.5.7.3.1" }
        ],
        "RenewalEligibility": "ELIGIBLE",
        "Options": {
            "CertificateTransparencyLoggingPreference": "ENABLED",
            "Export": "DISABLED"
        },
        "CertificateKeyPairOrigin": "AWS_MANAGED"
    }
}

主なフィールドの意味

フィールド説明
SubjectAlternativeNames証明書がカバーするドメイン名一覧(SAN)。複数ドメインをまとめた証明書ではここに全ドメインが並ぶ
Serial証明書のシリアル番号
InUseBy証明書を利用しているリソースのARN一覧。CloudFrontディストリビューションやELBのARNが入る
RenewalSummary自動更新の状況。DNS検証レコードの状態や更新結果を含む
RenewalEligibility自動更新の対象かどうか(ELIGIBLE / INELIGIBLE)
Options.CertificateTransparencyLoggingPreferenceCertificate Transparencyログへの記録可否

InUseBy を使い証明書を削除する前に確認する方法は 【ACM】証明書を削除する前に使用中のリソースをCLIで確認する を参照。

–query で必要なフィールドのみ取得する

出力全体は情報量が多いため、--query で必要なフィールドだけに絞り込むと確認しやすい。

$ aws acm describe-certificate \
  --region us-east-1 \
  --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \
  --query 'Certificate.{Domain:DomainName,SANs:SubjectAlternativeNames,Status:Status,Serial:Serial,InUseBy:InUseBy}'
{
    "Domain": "example.com",
    "SANs": [
        "example.com"
    ],
    "Status": "ISSUED",
    "Serial": "01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef",
    "InUseBy": [
        "arn:aws:cloudfront::123456789012:distribution/EXAMPLE12345"
    ]
}

RenewalSummary で自動更新の状況を確認する

RenewalSummary.RenewalStatus を確認すると、自動更新が正常に完了しているかを判断できる。【AWS CLI】ACM証明書の有効期限を一覧でCLIから確認する で有効期限が近い証明書を見つけたら、describe-certificateRenewalSummary で更新状況まで掘り下げて確認するとよい。

$ aws acm describe-certificate \
  --region us-east-1 \
  --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \
  --query 'Certificate.RenewalSummary.RenewalStatus'
"SUCCESS"

RenewalStatusFAILED になっている場合は、DomainValidationOptions[].ResourceRecord に記載されたCNAMEレコードがDNS側から削除されていないか確認する。ACMの自動更新はドメイン検証に依存しており、検証用のCNAMEレコードを削除すると更新に失敗する。