AWSでEC2とRDSでwordpressをセットアップしてみました。本記事ではEC2とRDSの初期の立ち上げまでを紹介していきます。
![](https://namileriblog.com/wp-content/uploads/2022/08/namileriblog_prof_1.png)
この記事はこんな人にオススメ
- AWSを初めて使う方
- AWSの無料利用枠の限度や上限がいまいちわからない方
- EC2をとりあえず立ち上げてみたい方!
- RDSをとりあえず立ち上げてみたい方!
このサイト(ブログ)はConoHa WINGで運用しています。国内最速、超安定、稼働率99.99%以上、ということだけあってConoHa WINGにまったく不満もなくむしろ動作もキビキビ速いし、コンソールもまずまず使いやすく快適で満足しかないです。ConoHa WINGの詳細はこちらです。
本シリーズの記事はAWSのEC2とRDSを使ってwordpressをセットアップし、バックアップにはS3を活用します。自由度や柔軟性は圧倒的にAWSが高い反面、セキュリティの対策や日々のメンテナンスも必要になってきます。つまりネットーワークやセキュリティ、AWSの勉強にはもってこい!ってことです。
それとは逆に、コンテンツ制作やクリエイティブ面に注力したい場合は、ネットワークやセキュリティ、サーバ構築、メンテナンスなどがほぼ必要のないConoHa WINGがオススメです。
このシリーズでわかること
- AWS無料利用枠について
- EC2インスタンスの作成方法とポイント
- Elastic IPアドレス利用の方法
- RDSデータベースの立て方
![](https://namileriblog.com/wp-content/uploads/2022/08/namileri_blog_6.png)
ネットワーク、セキュリティや各種チューニング、AWSの各サービスの詳細は奥が深すぎるので今回は触れませんが、「AWSではじめるインフラ構築入門 安全で堅牢な本番環境のつくり方」はオススメの書籍です。
目次
全体像
- STEP
【AWS】コンソール操作でEC2とRDSを準備する
- STEP
【AWS】EC2にSSHで安全にアクセスする
- STEP
【AWS】Apacheで最低限やっておくべきSSL/TLSの設定
- STEP
【AWS】EC2とRDSでwordpressをセットアップする
- STEP
【AWS】S3にwordpressをバックアップする
事前準備
![イメージ画像](https://namileriblog.com/wp-content/uploads/2022/09/4-4.jpg)
AWSのアカウント登録が完了していること。AWS無料利用枠について確認していること。リージョンは東京(ap-northeast-1)にしていること。の3点が事前の準備としての条件です。
AWSはリージョンによって料金も異なれば、利用できるサービスも異なる場合があります。障害の頻度も異なります。利用する側との物理的距離が近い方がメリットありますので今回は東京(ap-northeast-1)リージョンにしておきます。
AWSのアカウント登録
下記の「AWSアカウント作成の流れ【AWS公式】」がわかりやすいですね。アカウント作成は特に問題なく登録できるはずです。
- STEP
AWS アカウントの作成
AWSアカウントの情報を設定していきます。
- STEP
連絡先情報の入力
連絡先情報として名前、住所、電話番号などの個人情報を入力します。
- STEP
請求情報の入力
無料利用枠を超えた後は課金されます。その際のクレジットカード等の登録が必要になります。当然ですが無料利用枠を超えない範囲で普通に利用することもできます。無料利用枠はしっかり理解しておく必要がありますね。
- STEP
SMS または音声電話による本人確認
SMSまたは電話(自動音声)での本人確認です。セキュリティチェック文字列を入力します。私の環境(Mac、Safari)では1passwordを終了しないと次に進めませんでした。これは結構ハマりました。
- STEP
AWS サポートプランの選択
AWS のサポートプランを選択しますが、試験的な利用なので無料の「ベーシックサポート」で十分です。ビジネスでしっかり使う場合は有料サポートを検討するのも良いと思います。
- STEP
サインアップ (AWS アカウントの作成) の完了
「AWS マネジメントコンソールにお進みください」をクリックしてAWSを利用開始できます。
AWS無料利用枠の確認
AWSには無料利用枠がありますが、敢えてなのか?!わかりにくくなっています。まずこの無料利用枠の種類は下記の3つの種類があります。
種類 | 説明 | 開始条件 |
---|---|---|
無料トライアル | 短期の無料トライアルは、 特定のサービスをアクティベートした日から開始されます | 対象サービスの 初回利用時 |
12 か月間無料 | AWS に最初にサインアップした日から 12 か月間、 これらのサービスをご利用いただけます | AWSアカウント 作成後 |
常に無料 | これらの無料利用枠に有効期限はなく、 AWS のすべてのお客様が利用可能です | 対象サービスを 利用 |
無料トライアル
トライアル期間中は無料で全ての機能が利用できますが、当然トライアル期間満了後は料金が課金されます。「無料トライアル」は例えば下記のようなサービスです。
12ヶ月間無料
AWSアカウントを新規に作成してから、12ヶ月の間の有効な無料利用枠です。ただしリソース制限がありこの無料利用枠の制限を超えた場合は通常の料金が発生します。
今回のEC2やRDSはこの12ヶ月間無料に該当します。無料利用枠の制限として750時間/月まででそれを超える場合は通用の料金が課金されますので注意が必要です。また無料利用枠のインスタンスのタイプも制限されています。
仮に1ヶ月間稼働し続けた場合、1日24時間×31日で744時間となり750時間/月の制限以内になりますが、注意点として750時間/月の制限はインスタンスの合計になるので、1インスタンスであれば問題ないですが、2インスタンス稼働させた場合でも合計750時間/月以内が無料利用枠です。仮に2インスタンス同時に稼働刺せた場合は、24時間×2インスタンス×15日で720時間となり、16日では768時間となり無料利用枠を超えますので注意してください。
また、AWSアカウントを新規に作成してから、12ヶ月間が無料利用枠の対象です。アカウントを作成した後に、使っても使わなくても12ヶ月間が無料利用枠なので注意してください。
「12ヶ月間無料」は例えば下記のようなサービスです。
常に無料(無期限無料)
実施無期限で無料のサービスです。 通知や監視などAWSの基本機能や新サービスの利用促進のために一定の制限の中で無期限で無料提供しているものがあります。
「常に無料」は例えば下記のサービスです。
リージョンについて
![イメージ画像](https://namileriblog.com/wp-content/uploads/2022/09/8-3.jpg)
Amazon Elastic Compute Cloud:Linux インスタンス用ユーザーガイド
リージョンとは物理的なロケーションの単位で、2022年3月現在で26のリージョンがあるようです。
コード | 名前 | 国 |
---|---|---|
us-east-2 | オハイオ | アメリカ |
us-east-1 | バージニア北部 | アメリカ |
us-west-1 | 北カリフォルニア | アメリカ |
us-west-2 | オレゴン | アメリカ |
af-south-1 | ケープタウン | 南アフリカ |
ap-east-1 | 香港 | 中国 |
ap-southeast-3 | ジャカルタ | インドネシア |
ap-south-1 | ムンバイ | インド |
ap-northeast-3 | 大阪 | 日本 |
ap-northeast-2 | ソウル | 韓国 |
ap-southeast-1 | シンガポール | シンガポール |
ap-southeast-2 | シドニー | オーストラリア |
ap-northeast-1 | 東京 | 日本 |
ca-central-1 | カナダ | カナダ |
eu-central-1 | フランクフルト | ドイツ |
eu-west-1 | アイルランド | アイルランド |
eu-west-2 | ロンドン | イギリス |
eu-south-1 | ミラノ | イタリア |
eu-west-3 | パリ | フランス |
eu-north-1 | ストックホルム | スウェーデン |
me-south-1 | バーレーン | バーレーン |
me-central-1 | アラブ首長国連邦 | アラブ首長国連邦 |
sa-east-1 | サンパウロ | ブラジル |
今回の構成
![イメージ画像](https://namileriblog.com/wp-content/uploads/2022/09/5-3.jpg)
事前説明が長くなりましたが、それではEC2とRDSを使ったwordpressのセットアップをやっていきましょう。最初に今回の構成です。
EC2、RDSそれぞれ1インスタンスのシンプルな構成で今回は試してみます。実際の運用時は冗長化した仕組みが必要になりますが今回はとりあえずEC2+RDS+wordpressを立ち上げることを目的にやります。
![今回のEC2とRDSの構成(シンプルです)](https://namileriblog.com/wp-content/uploads/2022/09/AWS_wordpress_network_B.png)
EC2インスタンスの作成
![イメージ画像](https://namileriblog.com/wp-content/uploads/2022/09/6-3.jpg)
下記にEC2のインスタンス作成の流れを記載します。ポイントは無料利用枠のt2.microを選択すること、SSHを使ってログインするためにキーペアを新たに作成すること(既存のキーペアがない想定)、SSHの接続元を自分の家などのIPアドレスに限定する、の3点がポイントです。
EC2インスタンス作成フロー
- EC2ダッシュボードへアクセス
- インスタンスを起動(オレンジ色)をクリック
- 名前はこのインスタンスに付ける名前なのでご自身で決めましょう
- AMI(Amazonマシンイメージ)は「Amazon Linux」に
- インスタンスタイプは無料利用枠のt2.microを選択
- キーペアはSSH接続に必要なので必ず新しいキーペアを作成する(後からでも出来ます)
- セキュリティグループは「セキュリティグループを作成する」とし、
- SSHのトラフィックを許可するをチェックし、
- 自分のIPアドレスを指定します。
- 右下のインスタンスを起動(オレンジ色)をクリックし、インスタンスを作成します
- インスタンスの画面へ行きます。(更新アイコンを押さないと出てこないかもです)
Elastic IPアドレスを割り当てる
Elastic IPアドレスとは、AWSの静的な固定IPアドレス(IPv4)のことです。EC2インスタンスを作成後、動的な(変動する)IPアドレスが付きますが、インスタンスを再起動するとこのIPアドレスが変わってしまいます。検証用などはそれで良い場合もありますが、今回は勉強も兼ねてElastic IPアドレス(静的なIPアドレス)を割り当てます。
料金ですが、インスタンスを実行しているときは、インスタンスに関連付けられた1つの Elastic IP アドレスに対して料金は発生しません。料金が発生するパターンは、インスタンスを停止したり、Elastic IPアドレスをインスタンスに関連づけてない場合や、インスタンスに2つ以上のElastic IP アドレスを関連づけた場合に課金されます。詳細はAWSのElastic IP アドレスのページを確認してください。→Elastic IP アドレス
Elastic IPアドレス割り当てフロー
- 左ナビゲーションからElastic IPを選択
- 右上の「Elastic IP アドレスを割り当て」(オレンジ色)をクリック
- 最下部の新規タグを追加をクリック
- キーに「Name」、値にEC2のインスタンス名を入力(値はわかりやすければ何でもOK)
- 右下の「割り当て」(オレンジ色)をクリックして割り当てる
Elastic IPアドレスの関連付けフロー
上記でAWSアカウントにElastic IPが割り当てられました。割り当てたIPを使うにはインスタンスに関連付ける必要があります。
- 左ナビゲーションからElastic IPを選択
- 割り当てられているElascitc IPのチェックボックスにチェックする
- 右上の「アクション」から「Elastic IPアドレスの関連付け」を選択
- Elastic IPアドレスの関連付け画面で
- リソースタイプ:インスタンス
- インスタンス:IPアドレスを関連付けるインスタンスを選択
- プライベートIPアドレス:プライベートIPアドレスが候補として出るので選択
- 右下の「関連付ける」(オレンジ色)をクリック
以上で、EC2のインスタンスを作成し、ElasticIPアドレスを関連付けることができました。
RDSデータベースの作成
![イメージ画像](https://namileriblog.com/wp-content/uploads/2022/09/7-3.jpg)
下記にRDSのデータベース作成の流れを記載します。ポイントは無料利用枠のt2.microを選択すること、SSHを使ってログインするためにキーペアを新たに作成すること(既存のキーペアがない想定)、SSHの接続元を自分の家などのIPアドレスに限定する、の3点がポイントです。
RDSデータベース作成フロー
- RDSのダッシュボードへアクセス
- 左メニューのデータベースをクリック
- 右上の「データベース作成」(オレンジ色)をクリック
- 「データベース作成」画面で
- データベースの作成方法:標準作成
- エンジンのオプション:MySQL
- バージョン:MySQL 8.0.30
- テンプレート:無料利用枠を選択
- 設定
- DB インスタンス識別子:wordpress(識別できれば何でもOK)
- マスターユーザー名:推測されにくいユーザー名にしましょう
- マスターパスワード:推測されにくい複雑なパスワードにしましょう
- インスタンスの設定:db.t3.micro(無料利用枠で利用できます)
- ストレージ:デフォルトのままでOK
- 接続
- EC2 コンピューティングリソースに接続
- EC2 インスタンス:EC2インスタンスを選択します
- ネットワークタイプ:IPv4
- Virtual Private Cloud (VPC):そのまま
- DB サブネットグループ:そのまま
- パブリックアクセス:なし
- VPC セキュリティグループ:既存の選択
- アベイラビリティーゾーン:指定なし
- データベース認証:パスワード認証
- 最下部の「データベースの作成」(オレンジ色)をクリック
これでRDSデータベースが作成されました。EC2のインスタンスからで3306ポートのみインバウンドを許可するセキュリティポリシー(その逆も)が自動的に作成もされていると思います。
MFA(多要素認証)を有効にする
AWSで必ずやっておきたい多要素認証の設定方法を紹介します。
AWSではセキュリティ強化のために必ずMFA(多要素認証)を設定しましょう。AWSアカウントのルートユーザーとIAMユーザーでMFAを設定することができます。設定も簡単です。
ざっくりMFAとは?
MFAとは、一般的なログイン認証情報であるユーザー名とパスワードに加えて、もう1つ(1つ以上)の認証要素を加え、ユーザに対してこの2つ以上の認証要素を要求し認証する方法です。
今回は追加の認証要素としてワンタイムパスワード(OTP)を追加します。ワンタイムパスワードは6桁の数字となり、受信方法はSMSやメールといったケースも多いですが、私は1Password8で保存してワンタイムパスワードを管理しています。
2FAとの違いは?
ちなみに、2FAという単語もよく見かけますが2FAとは「2要素認証」です。2FAは2つの要素で認証する方法ですが、MFAは2つ以上の要素を設定し認証する方式です。
それではAWSのMFAを有効にしましょう。
AWSでワンタイムパスワードを追加する手順
以下のAWS公式ドキュメントを参考にMFAを有効にします。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_checking-status.html
- STEP
IAM コンソールにアクセス
AWS Management Console にサインインし、IAM コンソールにアクセスします。
IAMコンソール:https://console.aws.amazon.com/iam/
- STEP
セキュリティ認証情報をクリック
右上のナビゲーションバーでユーザー名を選択し、セキュリティ認証情報をクリックします。
- STEP
MFAが有効か無効かを確認
MFAが有効でない場合は下の画像のようにアラートが出ています。
- STEP
MFAを割り当てる
では実際にMFAを割り当て設定します。
- STEP
MFAデバイスを選択
今回は1Password8でワンタイムパスワードを管理するので「Authenticator app」を選択します。デバイス名にはわかりやすい名前をつけます。(なんでも構いません)
- STEP
デバイスの設定
- STEP
MFAコードを2つ入力しMFAを追加する
最後に
最後まで読んでいただきありがとうございます。【AWS】EC2とRDSでwordpressをセットアップする【コンソール操作で準備する編】はいかがでしたでしょうか。無料利用枠の内容を理解しセットアップしていくことが大事だと思います。次回は、EC2にSSHで安全にアクセスするまでを紹介します。
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。
![](https://namileriblog.com/wp-content/uploads/2023/08/kindle_unlimited_sample.jpg)