GCP(Google Cloud) Codex CLIでLet's EncryptのSSL証明書を取得してhttpsを設定する方法

前提条件

はじめに

今回は、GCP(Google Cloud)上で稼働しているCodex CLIに、

本語の指示だけで別のサーバーへSSHログインし、

Let's EncryptのSSL証明書を取得してhttpsを設定する手順を検証いたします。

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

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

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

DNSの設定

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

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

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

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

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

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

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

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

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

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

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

補足

動作確認

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

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

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

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

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

注意事項

まとめ

・事前に、Apacheのインストール、DNS(Aレコード)の設定、VPCファイアウォールの

80番・443番の開放が必要。

・digが無い、SSHのホスト鍵が未登録、といったエラーが出ても、Codex CLIが

別のコマンドに切り替えて自動でやり直してくれる。

・HTTPからHTTPSへのリダイレクトと、自動更新タイマーの設定、設定後の確認まで実行してくれる。

・Debianの自動更新タイマーはcertbot.timer。

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

まずはお気軽に

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

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

返信は通常1営業日以内