ESXiにLet’s Encrypt証明書を適用
お疲れ様です。
技術部 山岡です。
今回はESXi にLet’s Encrypt証明書を適用する方法について記載していきます。
個人的に適用が簡単・自動更新に対応しているということでgithubに公開されているvibを使用します。
Let’s Encrypt for VMware ESXi
https://github.com/w2c/letsencrypt-esxi
前提条件
・インターネットに接続されていること
・ESXiに完全修飾ドメイン(FQDN)が設定されていること
・443 , 80番ポートが開放されていること
次にインストール前の設定を確認していきます。
ESXiパラメーターの変更
vibをインストールするためにvib許容レベルを変更する必要があります。
デフォルトは「パートナー」のため、「コミュニティ」へ変更します。
ホストネームの確認
ESXIにログイン後以下のコマンドでESXiに設定されているhostnameがDNSで登録しているFQDNと同じであることを確認します。
コマンドで確認
cat /etc/vmware/esx.conf | grep "Misc/HostName"
上記が確認できましたらvibのインストールを行います。
vibのインストール
ESXi データストアにgithubからダウンロードしたvibをデータストアにアップロードしてください。
アップロード後、下記コマンドでvibをインストール
esxcli software vib install -v /vmfs/volumes/データストア名/w2c-letsencrypt-esxi.vib
大体1、2分後に証明書が反映されますのでブラウザからESXiへアクセスし証明書が適用されていることを確認してください。
【補足】下記のコマンドでインストールされているか確認できます。
esxcli software vib list | grep w2c-letsencrypt-esxi
自動更新について
週1回cronジョブが実行され、更新時期の確認を行われます。
参考としてcron設定を載せておきます。
vi /var/spool/cron/crontabs/root
cronの設定では、毎週日曜日 0時0分(UTC)にジョブが実行されるとなってます。
※cronで別の日時にジョブ実行させることは可能ですが、証明書の更新がされたタイミングで元の
毎週日曜日 0時0分(UTC)にジョブが実行されるように戻ってしまうので注意が必要です。
デフォルトとして、証明書の有効期限が30日を切ると証明書の更新が実行されます。
リンクに掲載されているオプション構成で、30日以外の更新とすることも可能です。
今回は以上になります。
自動更新のタイミングですが、個人的に日曜日にcronが実行されると証明書の更新に失敗した時
の確認が面倒と感じましたのでvibを作り替えました。
次回は作り替える方法についてご紹介できればと思います。
お疲れ様でした。