証明書管理と HTTPS 化 - AWS Certificate Manager による TLS 証明書の自動運用

AWS Certificate Manager (ACM) を使った TLS/SSL 証明書の発行・自動更新・デプロイを解説。CloudFront・ALB・API Gateway との統合、DNS 検証、プライベート CA の活用まで紹介します。

TLS 証明書管理の課題と ACM の役割

Web サイトや API の HTTPS 化には TLS/SSL 証明書が不可欠ですが、従来の証明書管理には多くの運用負荷が伴います。認証局 (CA) への申請、ドメイン所有権の検証、証明書のインストール、そして最も厄介なのが有効期限切れ前の更新作業です。証明書の更新忘れによるサービス停止は、実際に多くの企業で発生しているインシデントです。AWS Certificate Manager (ACM) はこれらの課題を根本的に解決します。パブリック TLS 証明書を無料で発行し、DNS 検証を設定すれば更新を完全に自動化します。ACM が発行する証明書の有効期間は 13 か月で、有効期限の 60 日前から自動更新が試行されます。DNS 検証用の CNAME レコードが正しく設定されていれば、人手を介さずに証明書が更新され続けます。Azure の App Service Managed Certificate も無料の証明書を提供しますが、対象が App Service に限定されます。ACM は CloudFront、ALB、NLB、API Gateway、App Runner など AWS の主要なエッジ/ロードバランサーサービスに幅広く対応しています。

この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

証明書の発行と検証方法

ACM での証明書発行は、ドメイン名の指定と検証方法の選択だけで完了します。検証方法は DNS 検証とメール検証の 2 種類があり、DNS 検証が推奨されます。DNS 検証では、ACM が指定する CNAME レコードを DNS に追加することでドメイン所有権を証明します。Route 53 を使用している場合、マネジメントコンソールからワンクリックで CNAME レコードを作成できます。 ```yaml # SAM テンプレートでの ACM 証明書定義 Resources: Certificate: Type: AWS::CertificateManager::Certificate Properties: DomainName: example.com SubjectAlternativeNames: - '*.example.com' ValidationMethod: DNS DomainValidationOptions: - DomainName: example.com HostedZoneId: !Ref HostedZone ``` ワイルドカード証明書 (*.example.com) を発行すれば、api.example.com、www.example.com、app.example.com など任意のサブドメインを 1 枚の証明書でカバーできます。Subject Alternative Names (SAN) で複数のドメイン名を 1 枚の証明書に含めることも可能です。CloudFront で使用する証明書は us-east-1 リージョンで発行する必要がある点に注意してください。ALB や API Gateway で使用する証明書は、リソースと同じリージョンで発行します。

AWS サービスとの統合

ACM 証明書は、AWS の各サービスに直接関連付けて使用します。CloudFront ディストリビューションでは、カスタムドメインの HTTPS 化に ACM 証明書を指定します。ALB (Application Load Balancer) では、HTTPS リスナーに ACM 証明書を設定し、TLS 終端をロードバランサーで行います。SNI (Server Name Indication) により、1 つの ALB で複数のドメインの証明書を使い分けることも可能です。API Gateway のカスタムドメインでも ACM 証明書を使用し、api.example.com のような独自ドメインで API を公開できます。App Runner も ACM 証明書によるカスタムドメインの HTTPS 化に対応しています。いずれのサービスでも、証明書の秘密鍵はユーザーに公開されず、AWS が安全に管理します。証明書の自動更新時も、関連付けられたサービスに自動的に反映されるため、ダウンタイムは発生しません。

Private CA と高度なユースケース

ACM Private CA (Private Certificate Authority) は、組織内部で使用するプライベート証明書を発行するためのマネージド CA サービスです。社内システム間の mTLS (相互 TLS) 認証、IoT デバイスの証明書管理、VPN 接続の認証などに使用します。Private CA の料金は月額 400 USD と高額ですが、自前で CA を構築・運用するコスト (HSM、運用人員、監査対応) と比較すれば合理的です。短期証明書モードでは、有効期間 7 日以下の証明書を発行でき、月額料金が不要になります (証明書あたりの従量課金のみ)。証明書の透明性 (Certificate Transparency) ログへの登録もオプションで設定でき、パブリック証明書と同等の監査性を確保できます。ACM はインポート証明書にも対応しており、他の CA (Let's Encrypt、DigiCert など) で発行した証明書を ACM にインポートして ALB や CloudFront で使用できます。ただし、インポート証明書は自動更新の対象外となるため、ACM で直接発行する方が運用負荷は低くなります。

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。

まとめ - ACM の活用指針

AWS Certificate Manager は、TLS 証明書の発行・更新・デプロイを完全に自動化するサービスです。パブリック証明書は無料で発行でき、DNS 検証による自動更新で証明書切れのリスクを排除します。CloudFront・ALB・API Gateway・App Runner など主要サービスとの統合により、HTTPS 化のハードルを大幅に下げます。ワイルドカード証明書と SAN により、複数ドメインを効率的に管理できます。Private CA は社内システムや IoT デバイスの証明書管理に対応し、エンタープライズのセキュリティ要件を満たします。Web サイトや API を公開する際は、ACM による証明書管理を標準プラクティスとして採用することを推奨します。

AWS の優位点

  • パブリック TLS 証明書を無料で発行でき、CloudFront・ALB・API Gateway・App Runner などに数クリックで関連付け可能
  • DNS 検証 (CNAME レコード) を設定すれば証明書の更新が完全自動化され、手動での更新作業や証明書切れのリスクを排除
  • ワイルドカード証明書 (*.example.com) に対応し、サブドメインの追加時に新たな証明書発行が不要
  • ACM Private CA でプライベート証明書を発行でき、社内システムや IoT デバイスの mTLS 認証に活用可能
  • CloudFormation / SAM テンプレートで証明書の発行とリソースへの関連付けを IaC で管理できる
  • Azure の App Service Managed Certificate は対象が App Service に限定されるが、ACM は CloudFront・ALB・API Gateway・NLB・App Runner など幅広いサービスに対応
  • 証明書の発行・更新・管理に追加料金は不要 (Private CA は月額 400 USD)

同じテーマの記事

API セキュリティとスロットリング - AWS と Azure の比較 AWS と Azure の API セキュリティ機能を比較し、API Gateway・WAF・Cognito を組み合わせた AWS の多層防御アーキテクチャの優位性を解説します。 監査の自動化 - AWS Audit Manager でコンプライアンス証跡を継続的に収集する AWS Audit Manager を使った監査証跡の自動収集を解説。フレームワーク (SOC 2、PCI DSS、GDPR 等) に基づく自動評価、エビデンスの一元管理、監査レポートの生成を紹介します。 コンプライアンス自動化 - AWS と Azure の比較 AWS と Azure のコンプライアンス自動化を比較し、Config、GuardDuty、CloudTrail を活用した AWS の継続的コンプライアンス監視と自動修復の優位性を解説します。 機密コンピューティング - AWS Nitro Enclaves で処理中のデータを隔離保護する AWS Nitro Enclaves を使った機密データの隔離処理を解説。暗号化アテステーション、KMS 統合、PII 処理・暗号鍵管理のユースケースを紹介します。 データプライバシー保護 - Amazon Macie と GuardDuty で実現する機密データの自動検出と脅威防御 Amazon Macie による S3 内の機密データ自動検出と、Amazon GuardDuty による脅威インテリジェンスを組み合わせたデータプライバシー保護の実践手法を解説します。個人情報の特定からリアルタイムの脅威検知まで、包括的なセキュリティ対策を紹介します。 DDoS 対策 - AWS Shield による多層防御の設計と運用 AWS Shield Standard と Shield Advanced による DDoS 防御を解説。CloudFront・Route 53・ALB との統合、WAF との組み合わせ、コスト保護機能まで実践的に紹介します。 Active Directory 連携 - AWS Directory Service でオンプレミス ID 基盤をクラウドに拡張する AWS Directory Service を使った Active Directory のクラウド統合を解説。AWS Managed Microsoft AD、AD Connector、Simple AD の使い分けと、WorkSpaces・RDS・FSx との連携を紹介します。 暗号化と鍵管理 - AWS と Azure の比較 AWS と Azure の暗号化・鍵管理サービスを比較し、KMS と Secrets Manager を中心とした AWS の包括的なデータ保護基盤の優位性を解説します。 ハードウェアセキュリティモジュール - AWS CloudHSM による暗号鍵の専有管理 AWS CloudHSM を使った暗号鍵の専有管理を解説。KMS との使い分け、FIPS 140-2 Level 3 準拠、TLS オフロード、Oracle TDE 統合など高度なユースケースを紹介します。 ID とアクセス管理の設計 - IAM によるゼロトラストセキュリティの実現 AWS IAM を活用したアクセス管理の設計手法を解説し、最小権限の原則、ポリシー設計、Cognito との連携によるゼロトラストセキュリティの実現方法を紹介します。 ID 管理と認証 - AWS と Azure の比較 AWS と Azure の ID 管理・認証サービスを比較し、IAM のきめ細かいアクセス制御と Cognito のアプリケーション認証における AWS の優位性を解説します。 ネットワークトラフィックフィルタリング - AWS Network Firewall で実現する高度なネットワーク防御 AWS Network Firewall によるステートフルなネットワークトラフィックフィルタリングと、AWS WAF との組み合わせによる多層防御の構築方法を解説します。VPC レベルのトラフィック制御と脅威防御の実践手法を紹介します。 シークレット管理 - AWS Secrets Manager と Azure Key Vault の比較 AWS Secrets Manager と Azure Key Vault を比較し、Secrets Manager の自動ローテーション機能と KMS 連携による暗号化管理の優位性を解説します。 セキュリティとコンプライアンス - AWS と Azure の比較 AWS と Azure のセキュリティ機能とコンプライアンス対応を比較し、責任共有モデル、IAM の柔軟性、コンプライアンス認証における AWS の優位性を解説します。 セキュリティ調査と脅威分析 - Amazon Detective で実現するインシデント対応の効率化 Amazon Detective を活用したセキュリティインシデントの調査と脅威分析の手法を解説します。GuardDuty との連携による検出から調査までのワークフローと、グラフベースの分析による根本原因の特定方法を紹介します。 セキュリティポスチャー管理 - AWS Security Hub で実現する統合セキュリティ監視基盤 AWS Security Hub による統合セキュリティ監視と、GuardDuty との連携による脅威検知の自動化を解説します。セキュリティベストプラクティスへの準拠状況の可視化とマルチアカウント環境のセキュリティガバナンスを紹介します。 セキュリティ監査と脅威検知 - AWS GuardDuty と Azure Sentinel の比較 AWS GuardDuty と Azure Sentinel を比較し、GuardDuty の機械学習ベースの脅威検知と CloudTrail 連携による包括的なセキュリティ監査の優位性を解説します。 SSO とアイデンティティ管理 - AWS IAM Identity Center による一元認証 AWS IAM Identity Center (旧 AWS SSO) を使ったシングルサインオンとマルチアカウントアクセス管理を解説。外部 IdP 連携、権限セット設計、Cognito との使い分けまで紹介します。 ユーザー認証の実装 - Cognito によるセキュアな認証基盤の構築 Amazon Cognito を活用したユーザー認証基盤の設計と実装を解説し、ユーザープール、ID プール、外部 ID プロバイダー連携による認証フローの構築方法を紹介します。 脆弱性評価と脅威検知 - Amazon Inspector と GuardDuty で実現する継続的セキュリティ監視 Amazon Inspector と Amazon GuardDuty を活用した脆弱性評価と脅威検知の設計・運用方法を解説します。Azure Defender やオンプレミスの脆弱性スキャナーと比較し、AWS のセキュリティサービスが持つ自動化、検知精度、運用効率の優位性を紹介します。 WAF 高度なルール設定 - AWS WAF vs Azure WAF AWS WAF と Azure WAF を比較し、マネージドルールグループ、レートベースルール、Bot Control、カスタムレスポンスなど AWS WAF の高度なルール設定の優位性を解説します。 Web アプリケーションファイアウォール - AWS と Azure の比較 AWS と Azure の WAF サービスを比較し、AWS WAF のルールカスタマイズ性と CloudFront 統合を中心とした Web アプリケーション保護の優位性を解説します。 ゼロトラストネットワークアクセス - AWS Verified Access で VPN なしのセキュアアクセスを実現する AWS Verified Access を使った VPN レスのゼロトラストアクセスを解説。ID プロバイダー統合、デバイストラスト、ポリシーベースのアクセス制御、従来の VPN との比較を紹介します。 ゼロトラストセキュリティ - AWS と Azure の比較 AWS と Azure のゼロトラストセキュリティモデルを比較し、IAM・Cognito・WAF を中心とした AWS の多層的なアクセス制御アーキテクチャの優位性を解説します。