クマの手も借りたい
馬とテニスとリラックマが好きな IT 系のエンジニアです。
AWS

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サーバを構築するここまでで EC2 へアクセスするための最低限の設定が完了したので、いよいよ Web サーバを構築していきます。 今回は、無料枠期...

Let’s Encryptのインストール

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

$ curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto

実行権限を変更します。

$ chmod 700 /usr/bin/certbot-auto

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

$ env | grep 'PYTHON_INSTALL_LAYOUT'

PYTHON_INSTALL_LAYOUT=amzn 
$ unset PYTHON_INSTALL_LAYOUT

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

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

$ certbot-auto certonly --debug --webroot -w [ドキュメントルートのパス] -d [ドメイン] --email [メールアドレス]

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

Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/09/20 11:58:13時点 Amazon調べ-詳細)

あなたにオススメ