0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[AWS_30]HTTPS通信でアクセス可能にする

0
Last updated at Posted at 2022-02-06

環境

Amazon Web Service

  • EC2(Amazon Linux 2 , t2.micro , 汎用SSD 8GB)
  • RDS(MySQL , db.t2.micro)
  • ALB

ローカルPC

  • MacBook Pro(2.9 GHz デュアルコアIntel Core i5 , 8 GB 2133 MHz LPDDR3)
  • macOS 11.3.1(20E241)

概要

現状では、WebページへのアクセスがHTTPのみとなっているため、HTTPSでアクセスできるようにする。
具体的には、証明書の取得やELBでのアクセス許可設定などを実施する。
構成図13.png

リスナーの追加

ELBでHTTPS通信を受け入れる設定を行う。

  1. リスナー編集画面へ遷移

    ロードバランサー > (設定するLB) > リスナータブ > リスナーの追加をクリックする。
  2. 以下の項目を入力する。
    • プロトコル: HTTPS
    • ポート: 443
    • アクションの追加 > 転送先
      • ターゲットグループ: TG-1
      • チェックボタンをクリック
    • 新しい ACM 証明書をリクエストをクリックする。ここの手順は[ACM 証明書をリクエストする](#ACM 証明書をリクエストする)にて説明する。
    • デフォルトの SSL 証明書:
      • ACMから
      • (先ほど作成した証明書が表示されるはず)
    • 作成をクリックする。

ACM 証明書をリクエストする

  1. ドメイン名の追加

    (独自ドメイン)を入力する。
  2. 検証方法の選択

    DNSの検証を選択する。
  3. タグを追加

    今回は無し
  4. 確認とリクエスト

    今回は無し
  5. 検証

    Route53でのレコードの作成

セキュリティグループの設定を編集する。

現状ではELBのセキュリティグループでHTTPしか許可していないため、HTTPSも許可する。

  1. EC2 > セキュリティグループ > LB-SG-1 > インバウンドルールタブ > インバウンドルールを編集をクリックする。

  2. 以下の項目を入力する。

    タイプ プロトコル ポート範囲 ソース 説明
    HTTPS TCP 443 カスタム 0.0.0.0/0
  3. ルールを保存をクリックする。

WordPress側での設定

  1. 2台のEC2インスタンスにSSH接続して、wp-config.phpのdefine~の下の行にに以下のコードを追加する。
wp-config.php
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $_SERVER['HTTPS'] = 'on';
  $_ENV['HTTPS'] = 'on';
}

RDSに設定されているサイトアドレスをhttpsに書き換える

  • EC2インスタンスにSSH接続し、以下コマンドを入力してRDSにアクセスする。
mysql -h database-1.xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -u username -p
  • wordpressのテーブルを使用することを宣言する。
USE wordpress
  • 現在のサイトアドレスを確認する。
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');

+-----------+-------------+----------------------+----------+
| option_id | option_name | option_value         | autoload |
+-----------+-------------+----------------------+----------+
|         2 | home        | http://xxx.xxx.xx.xx | yes      |
|         1 | siteurl     | http://xxx.xxx.xx.xx | yes      |
+-----------+-------------+----------------------+----------+
  • サイトアドレスをhttpsに更新する。
UPDATE wp_options SET option_value = 'https://xxx.xxx.xx.xx' WHERE option_name IN ('siteurl', 'home');
  • サイトアドレスが更新されていることを確認する。
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');

+-----------+-------------+----------------------+----------+
| option_id | option_name | option_value         | autoload |
+-----------+-------------+----------------------+----------+
|         2 | home        | https://xxx.xxx.xx.xx | yes      |
|         1 | siteurl     | https://xxx.xxx.xx.xx | yes      |
+-----------+-------------+----------------------+----------+

確認

https://(独自ドメイン)にアクセスして、Webページが正常に表示されることとURL欄に鍵マークが表示されることを確認する。

事後作業

  • 現状はELBのセキュリティグループをhttpとhttpsを許可しているので、httpsのみ許可へ変更する。
  • ELBのリスナー設定も同様にhttpのみに変更する。構成図13.png
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?