Amazon Lightsailを使って作成したサイトのドメイン設定と常時SSL化を行う方法

はじめに

どうも、Shinyaです。

昨日Amazon Lightsailを使用してこのWordPressブログを作成したので、その際に行ったドメインのDNSレコードの設定とサイトの常時SSL化の設定方法について備忘録的に記録しておきます。

この記事は先に作成した以下の記事の続きとして書いているので主にWordPressインスタンスを使用して話を進めていきますが、Amazon Lightsailで作成したインスタンスであればどのアプリケーションであっても応用できると思いますので、適宜WordPressの箇所を自分が作成したアプリケーションに読み替えていただければと思います。

この記事でやること

  • Amazon Lightsailで作成したサイトのIPアドレスを固定化しドメインを設定
  • Amazon Lightsailで作成したサイトのSSL/TLS証明書を取得して常時SSL化

IPアドレスの固定化とドメインの設定

先に投稿した以下の記事でWordPressインスタンスを作成し、パブリックIPアドレス経由でWordPressサイトにアクセスすることができました。

しかし、このままの状態だと作成したWordPressサイトへアクセスする際にはURLにIPアドレスを直接入力しなければいけなく、それに加えて現在のパブリックIPアドレスは固定化されていないためインスタンスの再起動などがあった場合にはIPアドレスの値が変わってしまいます

そのため、WordPressサイトを実際に運用するためには、IPアドレスを一定の値に固定する必要があり、それに併せて所有しているドメインをDNSで設定して特定の名前(shinyakato.dev等)でWordPressサイトにアクセスできるようにする必要があります。

IPアドレスを固定化する

先に言っておくと、Amazon LightsailからIPアドレスを固定化するのはとても簡単です。

Amazon Lightsailの管理画面から対象のインスタンスにアクセスし、「ネットワーキング」のタブから「パブリックIPv4」の項目欄を探してください。そこに「静的IPをアタッチする」というボタンがあるのでクリックしてください。

次に、静的IPアドレスを作成するためのポップアップが開くので、まずはこの静的IPアドレスを管理するための任意の名前を入力します。名前の入力が完了したら「作成およびアタッチ」をクリックしてください。

そうすると、静的IPアドレスが作成されるので、そのまま「続行する」をクリックします。

最初の「ネットワーキング」タブの画面に戻り、静的IPアドレスがインスタンスに割り当てられたことを確認できます。これでIPアドレスの固定化は完了です!

この新しく割り当てられた静的IPアドレスはドメインのDNSレコードを設定する際に使用するので、コピーしてどこかに控えておいてください。

所有しているドメインのDNSレコードを設定する

ここからは所有しているドメインを使ってWordPressサイトにアクセスできるようにDNSレコードを設定していきます。所有しているドメインの管理サービスに依って多少のUIの差異はあるものの、基本的にDNSレコードの設定は同じです。

私の場合、いつぞやのGoogle Domainsのサービス終了でドメインを強制移管されてからSquarespaceを使用していますが、基本的に以下の画像のようにDNSレコードの編集でAレコードを一行だけ追加するだけです。

DNSレコードを追加したら、先の工程で固定化した静的IPアドレスをIP ADDRESSのボックスに入力してDNSレコードの編集内容を保存してください。

次に、Amazon Lightsailで作成したインスタンスのサーバーにSSH接続して、以下のコマンドを実行してDNSレコードの設定が上手くいっているか確認しましょう。

host DNSを設定したドメイン名

上記のコマンドを実行して固定化した静的IPアドレスが出力されれば成功です。

SSL/TLS証明書を取得してサイトを常時SSL化する

今やサイトをSSL化(HTTPS化)することは常識になっています。作成したサイトでの安全な通信を確保しユーザーの信頼を得るためにも、この工程を欠かさず実施するようにしてください。

コマンドを実行してSSL/TLS証明書を取得する

一昔前だとSSL/TLS証明書を取得してサイトをSSL化するためには専門的な知識と相当な労力が必要でしたが、Amazon Lightsailから行う場合はSSH接続したサーバーでコマンドを一回実行するだけです。

Amazon Lightsailで作成したインスタンスのサーバーにSSH接続して、以下のコマンドを実行してください。

sudo /opt/bitnami/bncert-tool

上記のコマンドを実行するとサイトを常時SSL化するための処理が始まりますので、提示された質問に順番に答えていきましょう!

Please provide a valid space-separated list of domains for which you wish to configure your web server.

Domain list []: shinyakato.dev

→ SSL化したいサイトのドメインを回答する。

The following domains were not included: www.shinyakato.dev. Do you want to add them?

[Y/n]: n

→ 「www」のホスト名の追加が必要であれば「Y」で回答してください。

Warning: No www domains (e.g. www.example.com) or non-www domains (e.g.www.example.com) have been provided, so the following redirections will bedisabled: non-www to www, www to non-www.

Press [Enter] to continue:

→ 特に何も入力せずにエンターキーで次に進みます。

Enable/disable redirections

Please select the redirections you wish to enable or disable on your Bitnamiinstallation.

Enable HTTP to HTTPS redirection [Y/n]: Y

→ HTTPからHTTPSへのリダイレクトを行うか。常時SSL化のため「Y」で回答します。

Changes to perform

The following changes will be performed to your Bitnami installation:

1. Stop web server
2. Configure web server to use a free Let’s Encrypt certificate for the domains: shinyakato.dev
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: shinyakato.dev
5. Enable HTTP to HTTPS redirection (example: redirect http://shinyakato.dev to
6. Start web server once all changes have been performed

Do you agree to these changes? [Y/n]: Y

→ ここまで入力した内容の確認のため問題がなければ「Y」で回答します。

Create a free HTTPS certificate with Let’s Encrypt

Please provide a valid e-mail address for which to associate your Let’s Encrypt certificate.

Domain list: shinyakato.dev
Server name: shinyakato.dev
E-mail address []: xxxxxx@xxxxx.xxx

The Let’s Encrypt Subscriber Agreement can be found at:

Do you agree to the Let’s Encrypt Subscriber Agreement? [Y/n]: Y

→ SSL証明書を取得する際の確認。連絡用のメールアドレスを入力して「Y」で回答します。

Success

The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.

The configuration report is shown below.

Backup files:

* /opt/bitnami/apache/conf/httpd.conf.back.xxxxxxxxxxxx
* /opt/bitnami/apache/conf/bitnami/bitnami.conf.back.xxxxxxxxxxxx
* /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf.back.xxxxxxxxxxxx
* /opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf.back.xxxxxxxxxxxx
* /opt/bitnami/apache/conf/vhosts/wordpress-vhost.conf.back.xxxxxxxxxxxx

Find more details in the log file:
/tmp/bncert-xxxxxxxxxxxx.log

If you find any issues, please check Bitnami Support forums at:

Press [Enter] to continue:

→ サイトの常時SSL化に成功しました!

ドメインを設定してHTTPS化したサイトにアクセスしてみる

ここまで完了したらDNSレコードを設定したドメインでサイトにアクセスしてみましょう。使用しているブラウザの検索バーに以下のように値を入力してサイトにアクセスできれば成功です。

  • https://DNSレコードを設定したドメイン

また、上記のhttpsプロトコルでサイトに接続できればサイトのSSL化も成功しています。念を押して確認すると、以下のようにブラウザの機能を使用して通信が暗号化されているかどうかを見ることができます。

これでAmazon Laightsailで作成したサイトを常時SSL化した上でドメインでアクセスできるようになりました!

タイトルとURLをコピーしました