AWS EC2 Codex CLIでLet's EncryptのSSL証明書を取得してhttpsを設定する方法

前提条件

はじめに

今回は、AWS EC2上で稼働しているCodex CLIに、日本語の指示だけで

別のサーバーへSSHログインし、Let's EncryptのSSL証明書を取得し

httpsを設定する手順を検証いたします。

動作環境
ApacheとHTTP(80番)・HTTPS(443番)の設定

Apacheのインストールと80番・443番の開放が完了していることが前提です。

詳細は以下の記事をご参照ください。

DNSの設定

対象EC2のパブリックIPをドメインのAレコードに登録します。

Let's Encryptの証明書取得にはDNSが正しく設定されている必要があります。

事前に下記の内容を参考にCodex CLIをインストールしてください。

対象サーバーも作成してください。以下の内容を参考にしてください。

certbot SSL証明書を取得 https設定をする

この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。

(v0.160.0以降から表示されます。)

コマンド説明
$ codexCodex CLIを実行いたします。
 
$ vi ~/.codex/config.toml
[projects."/home/ec2-user/EC2"]
trust_level = "trusted"
 
下記の画面が表示された場合は、codexをCtrl+cで終了し、
viでconfig.tomlを追記いたします。

1. Codex CLIがインストールされている操作元サーバーで実行してください。

下記のコマンドを実施してください。(一般ユーザーで実施してください。)

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

動作確認

2. ブラウザーでドメイン名を入力して確認いたしましょう。

「保護されていない通信」の警告が表示されず、httpsで正常にアクセスできれば完了です。

Apacheのデフォルトページ「It works!」が表示されれば正常に動作しています。

3. 自動更新タイマーの設定はコマンドでも確認できます。

対象サーバーにSSHでログインし、下記のコマンドを実施してください。

注意事項

まとめ

・事前に、DNS(Aレコード)の設定と、セキュリティグループの80番・443番の開放が必要。

・「SSHでtest-server2にログインしてcertbotをインストールし、www.d1j.jpのSSL証明書を

取得してhttpsの設定をしてください。certbot --apacheで自動設定をお願いします。」の

指示だけで、certbotのインストールから証明書の取得、httpsの設定まで完了できる。

・Codex CLIは、DNSやセキュリティグループなどの前提条件を自分で確認してから、

証明書を取得してくれる。

以上で「AWS EC2 Codex CLIでLet's EncryptのSSL証明書を取得してhttpsを設定する方法」を完了いたします。

まずはお気軽に

クラウド構築・設定をお任せしませんか?

AWS・Azure・さくら・GCP など7クラウド対応。構築から運用まで承ります。

返信は通常1営業日以内