0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料利用枠】AWSでWordPressブログをつくろう Part.2 独自ドメイン設定~SSL化編

Last updated at Posted at 2022-03-13

はじめに

Part.1 初期設定~インストール編
->Part.2 独自ドメイン設定~SSL化編
Part.3 S3画像保存~SESメール転送編
Part.4 WordPress設定編

今回は作成したインスタンスに独自ドメインの紐付けとSSL化の設定をしていきます。

概要

独自ドメインの紐付けにはDNSサービスを利用する必要があります。
AWSにもRoute53というDNSサービスがあるのですが、こちらを利用した場合、月に50円程かかるので今回は利用しません。
その代わり、Cloudflareというサービスを利用します。

今回は下記の設定を行っていきます。

  • Cloudflareの登録
  • 独自ドメインとEC2インスタンスの紐付け
  • WordPressのSSL化

Cloudflareの登録

Cloudflareを利用するには会員登録が必要なので、まずはそこからやっていきます。

「サインアップ」をクリックします。
image.png

メールアドレスとパスワードを入力して、「アカウントを作成」をクリックします。
image.png

登録確認メールが届くので、メールのリンクをクリックして、登録を完了させます。
その後、画面右上の「サイトを追加」をクリックします。
image.png

お名前ドットコムなどで購入したドメインを入力して「サイトを追加」をクリックします。
image.png

プラン選択画面に移るので、「Free」を選択します。
image.png

次の「DNSレコードを確認する」は後から設定するので、そのままで次に進みます。
image.png

Cloudflareのネームサーバーのアドレスが3番目に表示されるので、コピーしてお名前ドットコムなどのレジストラに設定します。
image.png

お名前ドットコムの場合は、次のような画面になっています。
image.png

以上で、対象のドメインにアクセスした時にCloudflareのネームサーバーを見に行くように設定できました。

独自ドメインとEC2インスタンスの紐付け

次にCloudflareのネームサーバーにEC2インスタンスのIPアドレスを登録して、ドメインにアクセスした時にEC2インスタンスにつなげるように設定していきます。

Elastic IPアドレスの紐付け

EC2インスタンス作成直後のIPアドレスは固定されていないため、再起動するとIPアドレスが変わってしまいます。
AWSにはElastic IPという固定IPのサービスがあります。今回こちらを作成して、EC2インスタンスに紐付けます。

EC2の画面からメニューの中に「Elastic IP」があるので、こちらを選択して、「Elastic IPアドレスを割り当てる」をクリックします。
image.png

次の画面はデフォルトのまま「割り当て」をクリックします。
image.png

作成されたElastic IPを選択して、「Elastic IPアドレスの関連付け」をクリックします。
image.png

インスタンスの検索フォームをクリックすると、リストが出てくるので表示されたものを選択して、「関連付ける」をクリックします。
image.png

これでEC2インスタンスに固定IPを割り当てることが出来ました。

Elastic IPアドレスをCloudflareのAレコードに登録

作成したElastic IPアドレスをCloudflareのAレコードに追加して、名前解決の設定を行います。

Cloudflareの画面から左側のメニューの中の「DNS」をクリックすると、下記のような画面が表示されます。
image.png

Cloudflareは自動スキャンという機能があり、ドメインの情報から各種レコードを自動追加します。
今回は自動追加されたものを編集して、Elastic IPに変える必要があります。

まずは、検索欄に「www」と入力すると、リストの中に名前が「www」のものがあると思います。
こちらの編集ボタンをクリックして、IPv4アドレスをElastic IPに変更します。
image.png

次の検索欄にドメイン名を入力すると、リストの中にドメイン名のものがあると思います。
こちらも同様に編集ボタンからIPv4アドレスをElastic IPに変更します。

以上で、独自ドメインとEC2インスタンスの紐付けは完了です。
ブラウザから今回紐付けたドメインからWordPressに接続できるか確認してみてください。

WordPressのSSL化

SSL証明書の発行からhttp->httpsへのリダイレクト設定まで実施します。

SSL証明書の発行

SSL証明書はAWS Certificate Maganer(ACM)を利用することで無料で発行できます。

ACMの画面から「証明書をリクエスト」をクリックします。
image.png

「パブリック証明書をリクエスト」のまま「次へ」をクリックします。
image.png

ドメイン名を入力して、「この証明書に別の名前を追加」をクリックします。
追加された入力欄に「*.ドメイン名」と入力して、「リクエスト」をクリックします。
(この*のものも含めることで、前にwwwが付いても有効になります。)
image.png

下記のようにドメインが2つ追加されるので、いずれかのCNAME名とCNAME値をコピーします。
(値はどちらも同じです。)
image.png

コピーした名前と値をCloudflareのDNSに追加します。
この時、タイプはCNAME。プロキシのボタンをクリックして、「DNSのみ」となるようにしてください。
image.png

ロードバランサーの設定

EC2インスタンスの前にロードバランサーを配置して、ロードバランサー側でSSL化を行うことで、
パフォーマンスが良くなります。そのため、今回はロードバランサーを利用します。

ターゲットグループの作成

ロードバランサーでリクエストを受けた後の送り先であるターゲットの設定を行います。

EC2の画面から左側メニューの中の「ターゲットグループ」を選択して、「Create target group」をクリックします。
image.png

インスタンスを選択します。
image.png

ターゲットグループ名は任意のものを入力して、あとはデフォルトのまま「Next」をクリックします。
image.png

表示されているインスタンスにチェックを入れて、「Include as pending below」をクリックします。
※この時インスタンスが起動していないと一覧に表示されません。
image.png

Review targetsに追加されたら、「Create target group」をクリックします。
image.png

セキュリティグループの作成

ロードバランサーに適用するセキュリティグループの設定を行います。

EC2の画面から左側のメニューから「セキュリティグループ」を選択して、「セキュリティグループの作成」をクリックします。
image.png

セキュリティグループ名と説明は任意の名前にして、ルールは以下のようにします。
image.png

ロードバランサーの作成

※追記(2024/09/18)
パブリックIPが有料になってしまったため、ALBは使わないほうがいいです。
使用した場合、ALBはAZまたぐ構成になり2個パブリックIPが必要となります。
一方で無料利用枠で使えるパブリックIPは1個なので、追加で費用が発生します。
今現在はALBは使わず、SSLはEC2上で行うのがオススメです。
bitnamiの場合、bncert-toolというSSL化のツールがあるのでこちらを使用してください。

今までに用意したコンポーネントをもとにロードバランサーを作成します。

EC2の画面から左側のメニューから「ロードバランサー」を選択して、「ロードバランサーの作成」をクリックします。
image.png

アプリケーションロードバランサーを選択します。
image.png

ロードバランサー名を任意の名前で入力します。
image.png

ネットワークマッピングにて、表示されている3つのうち、任意の2つのアベイラビリティゾーンを選択します。
image.png

先程作成したセキュリティグループを選択します。
image.png

リスナーは下記のようにHTTPとHTTPSを追加して、ターゲットは先程作成したターゲットグループを選択します。
image.png

セキュアリスナーセッティングではポリシーはデフォルトのものを選択、SSL証明書はACMで作成したものを選択します。
image.png

「Create load balancer」をクリックします。
image.png

以上で、ロードバランサーの作成は完了です。
ロードバランサーのDNS名でWordPressに接続できるか確認します。
image.png

ドメインでロードバランサーにアクセスするように設定

現状ではまだドメインでアクセスした時にEC2に直接アクセスするようになっています。
ここでは、ドメインにアクセスした時にロードバランサーに向かうように設定します。

CloudflareのDNS設定からドメインとwwwのAレコードを削除します。
その代わり、CNAMEレコードでロードバランサーのDNS名のレコードを追加します。
image.png

ドメインでWordPressに接続できるか確認します。

http->httpsへのリダイレクト設定

httpでアクセスした時は、URLの隣に画像のようなビックリマークがついていると思います。
image.png

これだとセキュアな状態にならないので、httpでアクセスした時はhttpsへリダイレクトするように設定します。

ロードバランサーの画面を開いて、HTTP:80のリスナーの「ルールの表示/編集」ボタンをクリックします。
image.png

プラスマークをクリックして、「ルールの挿入」をクリックします。
image.png

以下のように設定して、「保存」をクリックします。
image.png

httpでアクセスしてもhttpsへリダイレクトされることを確認します。
ビックリマークがつかなければ、httpsへリダイレクトされています。

さいごに

次回は各種AWSサービスとの連携を行っていきます。
S3:画像ファイルの保存先として指定する。
SES:WordPressからの通知メールを送信するために利用する。

0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?