クマの手も借りたい
茶トラネコ(@kumanotemo)です。上場を控えたITベンチャーを2社も退職してフリーランスの道を選んだ放浪エンジニアです。
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 でのインストールを許可する必要があります。

やさしいKotlin入門

プログラミング初心者または Kotlin 初心者向けの入門本。Android 開発ではなく Kotlin の言語を覚えてみたい方にオススメの入門本です。

Java と比較して説明される書籍が多い中、Java や他のプログラム言語を知らない人向けになるので、例えば Java はあまり詳しくないけど PHP や Python は書けるといったパターンとも相性がいいですよ。

あなたにオススメ