Skip to content

AWS

Amazon Linux で Let's Encrypt のエラーが出た場合の対処

無料で SSL/TLS サーバ証明書を取得するには Let's Encrypt が便利です。 Let's Encrypt は Amazon Linux をまだ正式サポートしていないものの、とりあえず動作はするようです。 しかし、Amazon Linux 上で Let's Encrypt を実行するとエラーが出る場合があります。 今回は「環境変数 PYTHON_INSTALL_LAYOUT を削除」し、更に「~/.local ディレクトリを削除」することで Let's Encrypt を実行出来るようになりましたので、手順をメモしておきます。

AWS でリダイレクトを Metadata で実現する

AWS の S3 を Static website hosting で公開している場合、リダイレクトを実現するには Redirection rules を使うのが一般的かも知れません。Redirection rules 設定には「アクセスされたプロトコル(HTTP or HTTPS)を見分けて、リダイレクト先のプロトコルを変更する」ということは出来ないように思います。そもそも現状の S3 単体の静的ホスティングには「HTTP のみ」という制限があるので、S3 単体で使っている場合には不便が無いかも知れません。しかし、CloudFront の Origin に S3 を指定している場合は「HTTP でアクセスされた場合は HTTP へリダイレクト」「HTTPS でアクセスされた場合は HTTPS へリダイレクト」と、アクセスされたプロトコルを見分けてリダイレクト先を変更したいかも知れません。こういった場合は(Redirection rules では無く)S3 Object の Meatadata を使ってリダイレクトを実現することが可能です。

MovableType for AWS が書き出すファイルのパーミッションを変更する

手軽に MovableType を利用したい場合は MovableType for AWS を使うのが便利です。

MovableType for AWS は Amazon Linux がベースになっており、Apache 版と Nginx 版がありますが、「Nginx 版 且つ Micro Instance」に限ってはライセンス費用が無料です。

Amazon Linux に 2.4 系の Apahce と mod_ssl をインストールする

Amazon Linux で Apache をインストールする際、yum install httpd すると Apache 2.2 系がインストールされてしまいます。2.4 系の Apache + mod_ssl をインストールする場合は以下のようにします。

1
sudo yum install -y httpd24 mod24_ssl

mod_ssl についてはチュートリアル: Amazon Linux で SSL/TLS を使用できるように Apache ウェブサーバーを設定するにも記載されています。

Amazon Linux のインスタンス作成時に cloud-init でタイムゾーンを指定する

AWS 上に cloud-init 対応ディストリビューションのインスタンスを作成するのであれば、起動時にパラメータを指定することで初期設定を実施することが出来ます。インスタンス起動後に Chef や Ansible で設定しても良いですが、cloud-init でシンプルに設定してしまうのも簡易でお勧めです。今回は Amazon Linux のインスタンス時にタイムゾーンを指定してみます。