このBlogは、WordpressをAWSのLightsail上で稼働させて運営しています。
今回は、このブログの基盤というか下回り部分をどうやって構築したかについてまとめます。
その前に、まずそもそもですが、なぜWordpressにしたか、というところからです。
はじめは「アメブロ」とか「はてなブログ」などの大手のサービスに登録してBlogを書くことを考えましたが、調べていくと色々と自由をきかせてやるには自分たちでやるのが一番だ、ということがわかり、さらに、その場合にはWordpressがメジャーな手段だということを知り、Wordpressを選択しています。
次にWordPressをどこで動かすか、というところになりますが、「エックスサーバ」などのレンタルサーバを使った方が楽なのはわかってましたが、ITエンジニアの仕事をしているものとして、やはりAWSで作ってみたかったですし、初期費用が抑えられそう、ということでAWSで作りました。
AWSなので、ec2とか組み合わせて作る方法ももちろんありますが、前に以下の本を読みながら勉強したときにお試しでec2等でWordpress環境を構築した経験があるのと、Lightsailは楽っていうけど、どれだけ楽なのかというのを体感してみたいと思い、Lightsailを選択しました。
さて、ネット上を検索すると、AWSの公式に加えて、色々なサイトで構築方法が紹介されており、私もそれらを参考にしながら構築をしましたが、初期構築はできるものの、その後、実際にBlogを運営する上で欠かせないメール送信まわりの設定だったり、AWSでサイトを運営する上で必須となる最低限のセキュリティ設定など、情報がまとまっていないので、ちょっと苦労しました。
そんな方が他にもいるのでは?と思い、本記事ではそのあたりの情報をまとめたいと思います。
なお、Howのレベルまでの詳しい画面操作の方法まではあえて記載していません。
AWSやWordpress等の進化により情報が陳腐化しがちなのと、そういった情報はネット上に色々と載っているためです。
ですので、本記事を目次がわりにして、色々とネット上の情報を合わせてご確認いただければと思います。
なお、本記事はある程度ITの知識がある方向けに記載していますので、そもそもみたいな説明は割愛していますのでご容赦ください。
ドメイン名の取得
まず、AWS云々の前にドメイン名を取得しましょう。
私たちは、「お名前.com」といレジストラサービスで、tanukororin.com というドメイン名を取得しました。
もちろん他のサービスでも構いません。
AWSのアカウント作成
次に、何はともあれ、AWSアカウントの作成です。
AWSにアクセスしてアカウントを作りましょう。
そして、デフォルトのrootアカウントで日常作業を色々と行うのは非推奨なので、IAMでユーザやグループを作成し、必要な権限を付与するなどの対応をしておきましょう。
合わせて、セキュリティの観点で、rootおよび追加で作成したアカウントに対して、MFA(Multi-Factor Authentication)の設定をしておくのがおすすめです。
それ以外にも、セキュリティを強化するための設定は色々とありますが、一旦最低限としては上記をしておくだけで十分かと思います。
[参考リンク]
https://aws.amazon.com/jp/register-flow/
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_root-user.html
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa.html
Lightsailの導入
AWSを使う上での最もベースの基盤の整備ができたら、次にLightsailのインストールです。
WordPress導入済のインスタンスを立ち上げられるよう選択し、インストールを完了させます。
このあたりの公式ドキュメントか、ネット検索すれば色々と方法は出てきます。
Lightsailの初期設定
このあたりまでだったら、「簡単に構築できるよ」、みたいなテイで色々なサイトでよく紹介されてますが、問題はここからです。いくつかやることがあります。
- 固定IPの取得とインスタンスへの反映
静的IPと言われることもありますが、これをやらないと毎回IPアドレスが変わるので、ドメインとIPの紐付けができなく実質的にサイトの運営ができません。先にリンクした公式ドキュメントにやり方は載ってます。 - サイトにアクセス可能かテスト by 固定IP
http://xxx.xxx.xxx.xxx/wp-admin(xxx.xxx.xxx.xxxは上で取得した固定IP)にアクセスし、Wordpress認証画面にアクセス可能なことをご確認ください。
ID/PWは、先ほどご紹介した公式ドキュメントに記載がありますが、SSHで接続して確認するといったことが必要です。コマンド入力等のCLI(Command Line Interface)に慣れてない方も、ドキュメント記載のコマンドをコピペしていけばわかるはずです。 - 名前解決の管理をLightsailでできるように
管理を簡単にするために、お名前.com等のドメインレジストラからDNS管理をLightsailに引き渡します。
そのためには、LightsailのDNSゾーンを作成し、出てきたネームサーバの情報をドメインレジストラ側の管理画面に登録します。
その後、Aレコード(ドメイン名とIPを紐付ける情報)を作成すれば、名前解決の設定は完了です。
興味のある方などは、AWSのRoute53を使っても良いかもしれません。 - サイトにアクセス可能かテスト by ドメイン名
先ほど、2では、固定IPでアクセス可能かテストしましたが、ここでは、3で正しく設定したことを確認したいので、
http://zzzzzz.com/wp-admin (zzzzz.comは、ドメインレジストラで取得したドメイン名)にアクセスし、Wordpress管理画面にアクセス可能なことをご確認ください。 - サイトのSSH化(https化)
ここまででもBlog運営は可能ですが、セキュリティ観点やSEO対策のための、サイトのSSL化(https化)が必要です。
Lightsailの管理画面からSSHでサーバに接続して、Bitnami HTTPS 設定ツールを使って設定を行います。
詳細は、こちらの公式ドキュメントをご確認ください。 - httpsでの接続テスト
4でアクセスしたURLのうち、httpをhttpsに変えてアクセスし、アクセス可能かご確認ください。
WordPressアカウントの作成と権限の設定
ここまでできたら、AWS基盤構築はほぼ完了です。
次に、Wordpressアカウントを作成します。
私たち夫婦は、「ころママ」がメインでBlogを投稿し、その基盤の管理を「私たぬパパ」が行う、という分担としているので、「ころママ」には編集者権限を設定し、「たぬパパ」には管理者権限を割り当てています。
加えて、セキュリティを強化するために、AWS同様に二要素認証のプラグイン(Two Factor)を入れています。
メール送信設定
お問い合わせページの設置や、自動返信フォームの設置などには、「Contact Form 7」というプラグインが便利です。
ただ、これを入れるだけでは、サイトからのメール配信はできません。メール送信のためのSMTPの設定がされていないからです。
そのため、その設定をする必要がありますが、AWSにはSES(Simple Email Service)という便利なサービスがあるので、これを利用するのが便利です。
設定方法はこちらの公式ドキュメントにまとめられていますので、ご確認ください。AWS SESの設定加えて、「WP Mail SMTP」というプラグイン側での設定も必要です。
ただ、このままですと、任意の宛先へのメール送信ができなかったり、送信数に制限が出るなどの制約があり、使いづらい状況です。Amazon SESはデフォルトでサンドボックスと呼ばれる制限区域での運用となり、それを解除してあげることで自由に使えるようになります。設定方法はこちらになりますので、ご確認ください。
上記の通り、AWSのSESの設定を終えたら、Contact Forms 7を使って自由に色々とできるようになります。
WordPressのテーマ設定
あとは、悩む方が多いところだとは思いますが、(私たちも結構悩みましたが)、こちらのBlogでは「Swell」を使うことにしました。
税込みで¥17,600と高いかな、とは思いましたが、
- 一度買ったらいいだけの買い切り型である
- 無料テーマを使うことで記事を書く以外の検討や調査が大変になってそれに追われるのはちょっと時間的に厳しい
- ちょうどよく閲覧していたBlogの運営の方がSwellを推していた
- シェアや人気が国内No.1
- 作者の方のTwitterを見てみたところ、この先もUpdateが継続されそう
ということで、「Swell」を選択しました。
無料テーマでどこまでできるのかきちんと調べきれていませんが、その調査にかかる時間も含めて時間を買った形です。
まとめ
ということで、AWS LightsailでWordpress基盤を構築する方法について、まとめました。
冒頭にも記載しましたが、Howのレベルの画面操作方法については、リンク先の情報やネット上の他のサイトの情報を参考にいただければと思いますが、もしも、ご不明な点などございましたら、お問い合わせページよりお問い合わせください。
お読みいただき有難うございました!
コメント