すべてのデプロイガイド デプロイ

AWSでのSSL証明書(ACM、EC2、ALB、CloudFront)

AWSではアーキテクチャに応じてHTTPSを追加する複数の方法があります。ロードバランサー、CloudFront、スタンドアロンEC2インスタンスのどれを使用するかで最適なアプローチが異なります。

判断ツリー

ALB、NLB、CloudFrontを使用していますか?
├── はい → AWS Certificate Manager(ACM)を使用 -- 無料、自動更新
└── いいえ(スタンドアロンEC2)?
    ├── Certbotをインストールできる? → EC2上のCertbot(自動更新)
    └── root不要 / 素早いセットアップ? → GetHTTPS → EC2に手動インストール

オプション1:AWS Certificate Manager(ACM)— ロードバランサーとCloudFront用

ACMは無料の自動更新SSL証明書を提供します。AWSサービス(ALB、NLB、CloudFront、API Gateway)でのみ動作し、秘密鍵はダウンロードできません。

証明書のリクエスト

  1. コンソールでAWS Certificate Managerを開く
  2. 証明書のリクエストパブリック証明書のリクエストをクリック
  3. ドメインを入力:example.com*.example.com
  4. 検証方法を選択:DNS検証(推奨)またはメール
  5. リクエストをクリック

ALBへのアタッチ

  1. EC2 → ロードバランサー → ALBを選択
  2. リスナータブ → リスナーを追加
  3. プロトコル:HTTPS、ポート:443
  4. デフォルトSSL/TLS証明書: ACM証明書を選択

オプション2:EC2上のLet’s Encrypt(スタンドアロンインスタンス)

ロードバランサーなしで単一のEC2インスタンスを実行する場合、サーバーに直接証明書をインストールします。

GetHTTPSを使用(インストール不要)

  1. GetHTTPSから証明書を取得
  2. EC2インスタンスにファイルをアップロード:
    scp fullchain.pem privkey.pem ec2-user@your-ec2-ip:/etc/ssl/
  3. インスタンス上でNginxまたはApacheを設定

Certbotを使用(自動更新)

# Amazon Linux 2023
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

ACM vs Let’s Encrypt(AWS上)

ACMLet’s Encrypt(GetHTTPS/Certbot)
コスト無料無料
ALB/CloudFrontで動作
EC2で直接動作
自動更新✅(AWS管理)✅(Certbot)または手動(GetHTTPS)
秘密鍵へのアクセス❌(AWSが保持)✅(あなたが保持)

目安: ALBまたはCloudFrontの背後にあるものにはACMを使用。スタンドアロンEC2インスタンスにはLet’s Encryptを使用。

よくある質問

EC2で直接ACM証明書を使えますか?

いいえ。ACM証明書はAWSマネージドサービス(ALB、NLB、CloudFront、API Gateway)にのみアタッチできます。秘密鍵はエクスポートできません。スタンドアロンEC2にはGetHTTPSまたはCertbotを使用してください。

ACMのリージョンはどこにすべきですか?

ALB/NLBの場合:ロードバランサーと同じリージョンで証明書をリクエスト。CloudFrontの場合:オリジンの場所に関係なく、証明書はus-east-1(バージニア北部)に必ず配置してください。

ACMは本当に無料ですか?

はい。ACMのパブリックSSL/TLS証明書は無料です。証明書あたりの料金も更新料金もありません。証明書を使用するAWSリソース(ALB、CloudFrontなど)の料金のみが発生します。

関連記事

はじめに 2026-05-08
無料SSL証明書の取得方法(ステップバイステップガイド)
Let's Encryptから5分で無料のSSL証明書を取得。ソフトウェアのインストール不要、アカウント作成不要。4つの方法、両方のチャレンジタイプ、6つのプラットフォームへのインストール、トラブルシューティングを網羅した完全ガイドです。
デプロイ 2026-05-08
NginxにSSL証明書をインストールする方法
NginxにSSL証明書をインストールするステップバイステップガイド。ファイルアップロード、完全なサーバーブロック設定、TLSベストプラクティス、HTTP/2、HSTS、リダイレクト設定、テスト、6つの一般的なエラーのトラブルシューティングを解説します。
デプロイ 2026-05-08
DockerとリバースプロキシでのSSL証明書
Nginxリバースプロキシ、自動Let's Encrypt対応のTraefik、手動証明書マウントを使用して、DockerコンテナにHTTPSを設定する方法を解説します。
ブラウザで無料 SSL 証明書を取得
インストール不要、アカウント不要。秘密鍵は常にデバイスに残ります。
証明書を取得