AWS EC2 Claude CodeでLet's EncryptのSSL証明書を取得してhttpsを設定する方法 確認なし版
前提条件
はじめに
今回は、AWS EC2上で稼働しているClaude Codeに、日本語の指示だけで、
別のサーバー(test-server2)にSSHでログインして、Let's EncryptのSSL証明書を取得し、
httpsを設定する手順を、確認画面(承認操作)なしの状態で検証いたします。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Amazon Linux 2023(test-server) t3.micro (Claude Codeを動かすサーバー) |
| 対象サーバー | Amazon Linux 2023(test-server2) t3.micro (SSL化するサーバー) |
| リージョン | ap-northeast-3(大阪) リージョンはお好きな場所を選択してください。 |
| Claude Code | v2.1.323 |
| モデル | Opus 5.5(effort: medium) |
| 認証 | Claude Pro(サブスクリプション) |
ApacheとHTTP(80番)・HTTPS(443番)の設定
Apacheのインストールと80番・443番の開放が完了していることが前提です。
詳細は以下の記事をご参照ください。
DNSの設定
対象EC2のパブリックIPをドメインのAレコードに登録します。
Let's Encryptの証明書取得にはDNSが正しく設定されている必要があります。
| レコード | 値 |
|---|---|
| ホスト名 | www.d1j.jp |
| タイプ | A |
| 値 | EC2のパブリックIP |
事前に下記の内容を参考にClaude Codeをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
certbot SSL証明書を取得 https設定をする
1. Claude Codeを起動いたします。
下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ claude | Claude Codeを起動してください。 |
| 「SSHでtest-server2にログインしてcertbotをインストールし、www.d1j.jpのSSL証明書を取得してhttpsの設定をしてください。certbot --apacheで自動設定をお願いします。」 と入力してください。 | Claude Codeに指示をいたします。 PowerShellからSSH接続している場合は、貼り付けには 「Shift + Insert」を使用してください。 |

certbotのインストールからSSL証明書取得、HTTPS設定までを完了しました。

動作確認
2. ブラウザーでドメイン名を入力して確認いたします。
「保護されていない通信」の警告が表示されず、httpsで正常にアクセスできれば完了です。
Apacheのデフォルトページ「It works!」が表示されれば正常に動作しています。

3. 自動更新タイマーの設定はコマンドでも確認できます。
対象サーバーにSSHでログインし、下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # systemctl is-enabled certbot-renew.timer | 自動更新タイマーが有効になっているか確認いたします。 「enabled」と表示されれば問題ありません。 |

注意事項
| 項目 | 説明 |
|---|---|
| DNS | ドメインのAレコードが、対象サーバーのパブリックIPを指している 必要があります。反映前に実行すると、証明書を取得できません。 |
| ポート | 証明書の取得には、80番ポートの開放が必要です。 httpsで接続するには、443番ポートの開放が必要です。 |
| メールアドレス | 今回は、登録なしで取得しました。 |
| 処理時間 | 証明書の取得とhttpsの設定まで、約4分18秒でした。 自動更新の模擬テストの完了まで含めると、数分かかります。 |
まとめ
・「SSHでtest-server2にログインしてcertbotをインストールし、
www.d1j.jpのSSL証明書を取得してhttpsの設定をしてください。
certbot --apacheで自動設定をお願いします。」の一言で、
SSL証明書の取得からhttpsの設定まで完了する。
・証明書は、メールアドレスなしで取得され、自動更新(certbot-renew.timer)も
有効になる。
・処理時間は約4分18秒。
以上で「AWS EC2 Claude CodeでLet's EncryptのSSL証明書を取得してhttpsを設定する方法 確認なし版」を完了いたします。

