【AWS】LightsailとALBを繋いで常時SSL化(Https化)する方法!

Lightsailで運用するWordPressのサイトを常時SSL化(Https化)する方法! ALB

※この記事にはプロモーションが含まれています。

AWSのサービスであるLightsailでも、ALB(Application Load Balancer)と簡単に繋げることができます。

LightsailとALBを繋ぐとこんなことが簡単にできるようになります。

  • 常時SSL化(Https化)
  • WAF導入
  • 冗長化

どれもLightsailだけでやろうとするとなかなか大変だと思いますが、ALBと繋げることで簡単に実現することができるので、大変便利になります。

今回は、VPCピア接続というものを使ってLightsailとALBを繋ぎ、ALBへCertificate Managerで取得したSSL証明書をALBに設定することで常時SSL化(Https化)をするところまで説明してみたいと思います。

キレイな形で構築することができたので、参考になればと思います。

LightsailでWordPressを構築する方法はこちら↓

スポンサーリンク

LightsailでVPCピア接続を有効化

LightsailはAWSが提供するVPS(Virtual Private Server)サービスになります。

ユーザー管理のVPC(Virtual Private Cloud)とは別の場所にありますので、まずはユーザー管理のVPC内のALBと紐づける必要があります。

そこで設定を行うのがVPCピア接続になります。

このVPCピア接続を有効化することでLightsailと管理VPCをつなげることができます。

Lightsailの画面から、「アカウント」「アバンスト」を選択し、
東京リージョンの「VPCピア接続を有効にする」をチェック

VPCピア接続を有効化

Certificate ManagerでSSL証明書を取得

次に常時SSL化を行うために、先にCertificate ManagerでSSL証明書を取得しておきます。

↓Certificate ManagerでSSL証明書を取得する方法はこちら↓

ALBの設定

SSL証明書を取得したらALB(Application Load Balancer)を作成します。

AWSのコンソールから、「コンピューティング」「EC2」

EC2をクリック

「ロードバランサー」「ロードバランサーの作成」をクリック

ロードバランサーを作成します

ロードバランサーの種類の選択では「HTTP HTTPS」を作成

「HTTP HTTPS」を作成

[基本的な設定]で、任意の名前をつけ、[リスナー]で「リスナーを追加」→HTTPSを追加する。

[アベイラビリティーゾーン]で任意のゾーンを2つ選び「次の手順: セキュリティ設定の構成」をクリックします。

リスナーとアベイラビリティーゾーンを選択します

「ACMから証明書を選択する」を選択し、「証明書の名前」で先ほど作成したSSL証明書を選択します。

証明書の選択

「新しいセキュリティグループを作成する」を選択し、80番(HTTP)と443(HTTPS)が一覧にあることを確認して、「次の手順: ルーティングの設定」をクリックします。

セキュリティグループの設定

ここでターゲットとしてLightsailを指定します。

名前に任意の名前を設定、ターゲットの種類で「IP」を選択して、「次の手順: ターゲットの登録」をクリックします。

ルーティングの設定

ネットワークで「その他のプライベートIPアドレス」を選択し、
IPへLightsailのプライベートIPを設定する、そして「↓リストに追加」をクリックします。

下の登録対象に追加されたら「次の手順: 確認」をクリックします。

ターゲットの登録

確認後「作成」をクリックするとALBが作成されます。

DNSの登録

作成したALBとドメインの紐づけをRoute 53のDNSを使って行います。

Route 53のページから、「ホストゾーン」
一覧に表示されたドメインをクリックし「レコードを作成」をクリック

DNSホストゾーンの設定

レコード名は空と”www”と2つ登録します。

トラフィックのルーティング先でまず「エイリアス」をONにします。

するとエンドポイントが選択できるようになるので「Application Load Balancer」を選択します。

これがRoute 53 じゃないと出来ないところです。

AWS以外のDNSサービスでは、ALBのDNS名で登録する場合は「CNAME」で登録しないといけないので、「Aレコード」で登録できるのはAWSのRoute 53だけです。

DNSレコードの作成

次にリージョンが選択できるようになるので東京を選択します。

さらにロードバランサ―が選択できるようになるので、先ほど作成したALBを選択し「レコードの作成」をクリックします。

リージョンを選択

しばらくすると、登録したドメインでLightSailで動いているWordPressに繋がるようになります。
※DNSの伝播まで時間がかかる事があります。

WordPressのSSL化対応

最後にこのままHttpsでWordPressにつなげると、画面が崩れていると思いますので、
プラグインをいれてWordPressをSSL化(Https化)に対応させる必要があります。

SSL Insecure Content FixerというプラグインをいれてSSL化に対応しようと思います。

WordPressの管理画面から「プラグイン」「新規追加」
右上の検索窓で“SSL Insecure Content Fixer”を検索、表示されたSSL Insecure Content Fixerを「今すぐインストール」「有効化」

SSL Insecure Content Fixerをインストール

次に「設定」「SSL Insecure Content」で設定を行います。

非セキュアコンテンツの修正方法では「シンプル」を選択し、
HTTPS の検出方法では「HTTP_X_FORWARDED_PROTO (ロードバランサー、リバースプロキシ、NginX など)」を選択し「変更の保存」

これでWordPressへHttpsで接続しても、画面が崩れることなく表示できるようになるかと思います。

長くなりましたが、これでLightsailとALBを繋いでさらに常時SSL化をすることができました。

コメント

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