Linux

AmazonLinuxでLet’s Encryptを利用する

SSL(https)でのサイトアクセスが当たり前の時代になり(Googleの動向で)、SSL のサーバ証明書を設定する機会も増えました。

数年前までは、個人サイトにおいては格安の SSL サーバ証明書を取得するのが一般的でしたが、Let’s Encrypt や AWS の ACM(AWS Certificate Manager)の登場で無料化も浸透してきました。

ただ AWS の ACM は利用できるサービスが ELB や CroudFront などに限られるため、EC2 の Web サーバに直接設定することはできません。

これは証明書や秘密鍵の情報が ACM からは取得できないためです。

そこで、ELB を介さずに EC2 で SSL サイトを運営する場合は、Let’s Encrypt の SSL サーバ証明書を使うのが最適だと思っています。

ここでは、Let’s Encrypt によるサーバ証明書の取得について紹介します。

前提条件

前提条件として、http でサイトにアクセスができる状態にしておいてください。

以前、nginx で Web サーバを構築する方法を「AmazonLinuxでnginxを使ったWebサーバを構築する」で紹介しましたが、必要があればそちらを参照してください。

AmazonLinuxでnginxを使ったWebサーバを構築するここまでで EC2 へアクセスするための最低限の設定が完了したので、いよいよ Web サーバを構築していきます。 今回は、無料枠期間を...

Let’s Encryptのインストール

Let’s Encrypt は certbot-auto というプログラムを使いますが、まずはこちらを取得します。

実行権限を変更します。

環境変数に PYTHON_INSTALL_LAYOUT があると弊害になるので、一旦 PYTHON_INSTALL_LAYOUT を削除しておきます。

早速、certbot-auto コマンドで証明書の発行をしてみましょう。

メールアドレスは任意ですが、証明書の更新失敗による期限切れの通知などが届くので設定しておきましょう。

初回は certbot-auto を実行するために必要な依存関係のパッケージのインストールが必要になるので、yum でのインストールを許可する必要があります。