Microsoft Azure Claude CodeでLet's EncryptのSSL証明書を取得してhttpsを設定する方法
前提条件
はじめに
本記事では、Claude Codeを使って日本語の指示だけでAzureのVMにLet's Encryptの
SSL証明書を取得してhttpsを設定する手順を実機検証を交えて解説します。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Ubuntu 24.04 LTS(test-server) Standard_B1s (Claude Codeを動かすサーバー) |
| 対象サーバー | Ubuntu 24.04 LTS(test-server2) Standard_B1s (Claude CodeでStandard_B1sで構築済み) |
| リージョン | japaneast(東日本) |
ApacheとHTTP(80番)の設定
ApacheのインストールとHTTP(80番)の開放が完了していることが前提です。
詳細は以下の記事をご参照ください。
DNSの設定
対象VMのパブリックIPをドメインのAレコードに登録します。
Let's Encryptの証明書取得にはDNSが正しく設定されている必要があります。
| レコード | 値 |
|---|---|
| ホスト名 | www.d1j.jp |
| タイプ | A |
| 値 | VMのパブリックIP |
下記の内容を参考にClaude Codeをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
ネットワークセキュリティグループ(NSG) 443番ポートを追加する
1. Claude Codeがインストールされいる対象サーバーにログインしてください。
下記のコマンドを実施してください。
※TeraTermの画面表示が悪いため、今後はpowershellにて画像を貼り付けます。
| コマンド | 説明 |
|---|---|
| $ claude | claude codeを実行いたします。 |
| 「azを使ってtest-server2のネットワークセキュリティグループにHTTPS(443番ポート)のインバウンドルールを0.0.0.0/0で追加してください。」 と入力してください。 | claude codeに指示をいたします。 サーバー名(ホスト名)を指定して指示をしてください。 ※TeraTerm、powershellの場合は貼り付けは「Shift + Insert」を使用してください。 |
Windows11でpowershellを利用する場合は以下の設定してSSHを利用してください。
| コマンド | 説明 |
|---|---|
| icacls d1j.pem /inheritance:r | SSHキー(秘密鍵)権限変更いたします。 |
| icacls d1j.pem /grant "${env:USERNAME}:R" | 再度、 SSHキー(秘密鍵)権限変更いたします。 |

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

443番ポートが追加し完了いたしました。

管理画面から「仮想マシン」→対象「VMホスト名」をクリックする。
「ネットワーク設定」をクリックすると、443番ポートが開放されいることがわかります。

certbot SSL証明書を取得 https設定をする
2. 下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ claude | claude codeを実行いたします。 |
| 「az vm run-commandを使ってtest-server2にcertbotをインストールしてwww.d1j.jpのSSL証明書を取得してhttpsの設定をしてください。certbot --apacheで自動設定をお願いします。」 と入力してください。 | claude codeに指示をいたします。 サーバー名(ホスト名)を指定して指示をしてください。 ※TeraTerm、powershellの場合は貼り付けは「Shift + Insert」を使用してください。 |

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「1. Yes」を選択してエンターキー押してください。

「SSL証明書を取得 https設定」を完了いたしました。

ブラウザーでドメイン名を入力して確認いたしましょう。
https://www.d1j.jp/と入力すると簡単に確認できます。

注意事項
| 項目 | 説明 |
|---|---|
| DNS設定 | 証明書取得前にDNSのAレコードを正しく設定すること。 |
| 80番・443番 | Let's Encryptの検証に80番と443番両方が必要。 |
| SSH秘密鍵 | az vm run-commandを使うためSSH接続・秘密鍵は不要。 |
| 自動更新 | certbot-renew.timerが有効化されていることを確認すること。 |
| 証明書の有効期限 | Let's Encryptは90日間有効、自動更新タイマーで更新される。 |
まとめ
・DNS設定とNSG(443番)の開放が事前準備として必要。
・AzureはSSH不要でaz vm run-commandを使ってcertbotを実行できる。
・「az vm run-commandを使ってcertbot --apacheで自動設定をお願いします。」の一言で完了。
・certbot-renew.timerで90日ごとの証明書更新も自動化される。
以上で「Microsoft Azure Claude CodeでLet's EncryptのSSL証明書を取得してhttpsを設定する方法」を完了いたします。

