はじめに
この記事で行った手順が後から不要であったことが発覚したりします。
勉強しながら進めているのでご容赦ください。
#2 で分かったことですが WEBサーバー として Elastic Beanstalk を利用する場合、ここで行う EC2 のサーバーインスタンス作成は不要です。 Elastic Beanstalk で環境を作成すると自動で EC2 のサーバーインスタンスが作成されます。またElastic Beanstalk の作成時や作成後にインスタンスタイプの選択も可能です。
#3 でわかりましたが Elastic Beanstalk で作成された EC2 のインスタンスには DB をインストールしない(できない?)ようですので、Elastic Beanstalk でWEBサーバーを作成した場合は 別途 DB 用の EC2インスタンスを作成するか RDS を利用することになりそうです。
この連載記事では謎に紆余曲折がありますが、端的に WordPress を aws で稼働させたい方へは Lightsail の利用をお勧めします。
Lightsailにもいろいろデメリット(負荷の掛かるサーバーには向かないなど)があるらしいので「お勧め」は削除しました。
動機は単純
現在さくらインターネットのレンタルサーバーで動いているブログ(WordPress)をawsへ移行したくなりました。
さくらインターネットでの運用上の問題は全くなく費用も500円/月程度で何の文句もありません。
移行したい理由はawsにするとちょっとかっこ良さそうなのと、単純に使ってみたいと言うところがあります。
そして初めの一年間は無料で使えるサービスがあると言うことですので一年間の運用費を浮かせることもできるかもしれません。
費用はどのくらい?
awsには費用の計算ツールが用意されていて、簡単計算の場合は地域とサーバー性能、ストレージ容量を選択するだけで金額が表示されます。(詳細な計算もできるみたい)

これを元に最低のサーバー性能でストレージ容量をSSDで5Gbにして計算してみたところ$5.05/月。これなら現在の運用と大差ないので乗り換えてもいいかもしれません。
参)料金は24時間稼働、年契約なしで計算したものですので年契約にするともっと安くなります 1年:$3.45/月 3年:$2.5/月
ただ数値の上ではかなり貧弱(全然詳しくない私の印象です)に見えるのでこれでやっていけるかは謎です。
ですが一年間は無料なので試してみるのも面白いと思います。
以下が最低構成の性能(t3a.nano)
- 仮想CPU2個
- メモリ0.5GB
- GPU非対応
- ネットワーク性能最高5Gigabit

ちなみに
サーバーは起動している時間に対して課金されます。
もしかすると起動と終了の時間設定ができるかもしれません。
例えば夜間 (00:00 .. 08:00)はお休み(そんなブログないと思うけど)するなどの設定をするとサーバーの料金は2/3に節約できます^^;
注)ストレージは時間課金ではありません
EC2課金体系に関してもう少しだけ詳しく
インスタンスの課金体系は契約によって異なります
on demand の場合は時間単位で課金されるので、稼働時間に対してインスタンスタイプ分の単価が掛けられます。インスタンスを停止している間は課金されません。
reservation term:1, 3 year などの年契約の場合、on demand に比べて割安になりますが、1年や3年分の枠を購入しているのでインスタンスが稼働されていてもいなくても料金に変わりはない様です。また、1年契約したが半年後に不要になったとしても解約はできません。しかしMarketplace で余った分を売ることができる?様子です。
予想される引越しに必要な工程
- サーバー(Linux)の用意
- Amazon EC2
- WEBサーバーの構築(様々な方法があるみたい)
- 自分で apache をインストールする
- AWS Elastic Beanstalkを利用する
- DBの用意(こちらも様々な方法があるみたい)
- 自分で MySQL をインストールする
- Amazon RDS(EC2とは切り離されている) を利用する
有料(最低構成でも$18.98/月かかるみたい^^;(ストレージ別))
- ブログアプリ(WordPress)のインストール
- 現在のサーバーからデータの引越し
- ドメインの移行(同じURLでさくらインターネットではなくawsへつながる様にする)
- Amazon Route53
または、以下の方法でも実現できるみたいです
- WordPress が利用できる様になっているイメージ(仮想環境?)をAmazon Market Place から取得して利用する
この場合 DB は外だしパターンとRDSパターンがあるのかな? - Amazon Lightsail(無料なのが初めの1ヶ月だけ) を利用する
必要なものが全て整えてある一番簡単な開始方法らしい
今回はサーバー(Linux)を構築します
awsは Amazon Web Services の略称で 175を超えるサービスを提供しているそうです。そんな中から今回は EC2(Amazon Elastic Compute Cloud) を利用してサーバーを構築します。
なにはともあれ aws のアカウント作成
メールアドレス、パスワード、連絡先、支払い情報を入力し携帯番号で本人認証を行えば作成できます。
awsにログイン
awsのサイトトップの 「アカウント」-「awsマネジメントコンソール」を選択します。
始めに選択されている「ルートユーザー」のままメールアドレスとパスワードを入力してログインします。
ログインはここから(awsトップの右上) ログインはルートユーザーで
全てはAWSマネジメントコンソールから始まる
「仮想マシンを起動する」を選択します

Amazon Linux 2 AMI
LINUXがたくさんあってどれがどれだかわかりませんが「先頭が万能説」を信じて
Amazon Linux2 AMI を選択します。

ここでまさかの誤算
試してみようと目論んでいた最低構成の t3a.nano は無料で使えない^^;
無料で利用できるのは t2.micro 一択
ちなみに t2.micro の費用は $11.7/月 でした。
さくらでの費用500円/月と比較すると2倍以上ですが、今回は練習も兼ねてこちらを選択します。無料なんで^^

特に設定を変更するほど知識がないので、ここで完了しても良いのですがこのままだと初期設定の8GBのストレージが割り当てられるので「確認と作成」ボタンではなくて「次のステップ」を選択して「ストレージの追加」まで遷移して容量を5GBへ変更した後に「確認と作成」を選択しました。
とここでまた想定外が発生
構成可能な容量は8GBが最低みたい。でも費用は対して変わらなかった。
ちなみに8GBで費用を計算し直すと下記になりました。
t2.micro
$12.6/月
t3a.nano(当初の希望枠)
$5.41/月

確認と作成
「確認と作成」ボタンを選択すると「インスタンスの作成の確認」画面になります。

「起動」ボタンを選択すると「キーのペアを選択するか、新しいキーを作成します」のダイアログが表示されます。
キーペア
キーペアとは作成したサーバー(インスタンス)に安全にログインするための鍵になります。AWSは公開鍵を保存します。ユーザーはここで作成した秘密キーを使って今後サーバーへログインすることになります。

ここで「新しいキーペアを作成」を選択すると「キーペア名」の入力が求められます。適当にこれを入力しキーペアをダウンロードするとこれが自分の「秘密鍵」となります。
この鍵がないとせっかく作ったサーバーにログインできなくなるので大切に保管しましょう。
インスタンスの作成
キーペアを作成して秘密鍵をダウンロードし「インスタンスの作成」を行うと
サーバー(インスタンス)の作成完了です!!
「インスタンスの表示」を選択して作成したインスタンスを見てみましょう^^

無事にサーバーの作成が完了し起動しました!
セキュリティー云々など設定はいろいろあると思いますがとりあえずサーバーの作成と起動ができました。
ターミナルからのサーバーへの接続は先ほどダウンロードした秘密キーの権限を400に変更してインスタンスページに記載されているパブリックIPにユーザー「ec2-user」で可能です!

次回はウェブサーバーかな?
シリーズのリンク
#1 サーバー構築編
#2 WEBサーバー構築編
#3 DB構築編
#4 ドメイン設定とWrodPress稼働編
編集履歴
- 2020.08.13 引っ越しに必要な工程を修正しました
- 2020.08.16 RDSに料金情報を追記しました
- 2020.08.23 Elastic Beanstalkで環境を作成すると EC2 のインスタンスが作成される旨を「はじめに」として追記しました
- 2020.08.27 Elastic Beanstalk の作成時や作成後にインスタンスタイプが変更可能であることがわかったので「はじめに」を修正しました
- 2020.08.27 「EC2課金体系に関してもう少しだけ詳しく」を追記しました
- 2020.08.27 端的にawsでWordpressを始めたい人への 「Ligtsail の勧め」を追記しました
- 2020.08.30 簡単に始めたい方向けにLightsailを勧めていましたがそれなりにデメリットもあるそうなのでお勧めをやめました
コメントを残す