はじめの一歩!無料で始めるAWS その4(RDS、CloudWatch、退会編)

スポンサーリンク

前回まででEC2、ELB、CloudFrontで遊んだので、最後はデータベースのサービスRDSと、CloudWatchで見るEC2のCPUCreditの話。RDSのエンジンはMySQLを選んだ場合の設定方法です。

スポンサーリンク
スポンサーリンク

RDSとは

RDSはMySQL、PostgreSQLをはじめとしたRDBを、OSやRDBをインストールすることなく利用できるサービス。インストール作業はありませんが、データベースの設定ファイルはちゃんといじれます。

いつもの確認

いつもと同じく、リージョンが東京になっていることを確認し、サービス→データベース→RDSをクリックします。

rds02

前準備

DBインスタンスを作る前に、通信するためのサブネットの作成、セキュリティグループの作成、DB用設定ファイルを作っておきます。

DB用サブネットの作成

RDSとEC2を通信させるには、VPC編で作ったネットワークで通信できる必要があります。

RDSはより良い感じに使えるように、セットアップ時に2つの異なるアベイラビリティーゾーンのサブネットに入れてあげる必要があります。1つしか作っていない場合は、ネットワーキング→VPCを開き(実際には使わないけど)サブネットの作成→アベイラビリティーゾーンの異なるサブネットを追加します。

rds03

こちら側で接続するEC2が無いけどインストールに必要

DBサブネットグループの作成

RDSダッシュボード→サブネットグループ→DBサブネットグループの作成

名前:適当(db)
説明:適当(db)
VPC ID:VPCで作ったIDを選択
アベイラビリティーゾーン:ap-northeast-1x(VPCで作ったサブネットの1つ)
サブネットID:VPCで作ったサブネットの1つを選択
追加
アベイラビリティーゾーン:ap-northeast-1x(VPCで作ったサブネットの1つ)
サブネットID:VPCで作ったサブネットの1つを選択
追加
作成
します

rds04

VPCのセキュリティグループの設定

RDSに適用するセキュリティグループを設定します。

ダッシュボードからネットワーキング→VPC→セキュリティグループの作成
ネームタグ:適当に(db)
グループ名:適当に(db)
説明:適当に(db)
VPC:作ったVPCを選択

2015-05-19_11h32_06

インバウンドルールの設定

インバウンドルール→編集
タイプ:MySQL(3306)
送信元:VPCの範囲内(今回は192.168.0.0/16)

2015-05-19_11h28_56

MySQLの設定ファイルの作成(パラメータグループ)

デフォルトのMySQLの設定を使うと日本語関係があんまりよろしくなかったりするので、その辺りの設定ファイルを作っておきます。

パラメータグループ→パラメータグループの作成

rds08

Parameter Group Family:使うmysqlのバージョンを選択
Group Name:適当に(Wordpress_jp)
Description:適当に(Wordpress日本語用)

rds09

選択→パラメータの編集

rds10

フィルタ→変えたいパラメータを入力
値の編集→変更
変更の保存

今回は下記のように設定しました。

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_results utf8
character_set_server utf8
slow-query-log = 1
long_query_time = 2

rds11

フィルタ機能を使うと楽です

RDSの作成

ようやく作成です。

インスタンス→DBインスタンスの起動

rds05

エンジンの選択

今回はMySQLを選択しました

rds06

本番稼働用?

無料枠なので「いいえ」を選択します。

rds07

DB詳細の設定

DBエンジンのバージョン:設定ファイルと同一のバージョン
DBインスタンスのクラス:db.t2.micro(無料枠)
マルチAZ配置:いいえ
ストレージ:10GB

インスタンスの識別子:適当に
マスターユーザの名前:適当に(管理ユーザid)

rds12

ちなみに、無料枠以外の設定を選択するとちゃんと教えてくれるので安心です。

rds13

無料にならない組み合わせを選ぶとちゃんと教えてくれる

詳細設定

VPC:作ったVPC
サブネットグループ:EC2と同じサブネットグループ
パブリックアクセス可能:外部から接続しないので いいえ
アベイラビリティーゾーン:選択
VPCセキュリティグループ:このページ上部で作ったDB用のセキュリティグループ

データベースの名前:初期で作るDB(wordpressとか)
DBパラメータグループ:このページ上部で作ったパラメータ

rds14

DBパラメータグループを上記で作った物に変更する

バックアップは7日としました。

rds15

DBインスタンスの起動

ステータスが利用可能になるまでは結構時間かかりました(5分程度?)ので、ちょっと休憩でもしておきましょう。

rds16

接続確認

ステータスが利用可能に変わったら、EC2内から接続してみます。
RDSダッシュボード→インスタンス→起動してるdbの▼→「エンドポイント」をメモします。

2015-05-19_12h18_13

EC2にログインし↓等を参考にMysql 5.6 クライアントをインストールします。


vi /etc/my.cnf
[client]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

mysql -u 設定したマスターユーザ -p -h dbのエンドポイント

とかして、接続、show databases;とかして、上記の設定で作ったDBが存在していることを確認します。

ちなみに設定では、スロークエリログを出す設定にしました。ログの確認方法は↓。

CPUCreditについて(CloudWatch)

t2系のインスタンスは、CPUを使わないときにエネルギー(クレジット)を貯めておいて、使うときになったらエネルギーを使って普段以上の性能を使える(バースト)って機能が付いています。それがCPUクレジット。1クレジットで1分間バースト可能。なんだかゲームっぽい。

無料利用枠のt2.microは、

ベースライン性能 1時間あたりに貯まるCPUクレジット 最大チャージ料
t2.micro 10%  6 144

で、ベースラインを越えたときにクレジットが消費され、越えてないときに貯まります*1。クレジットが無くなったら、強制的に10%の性能しか使えなくなるみたい。

どれくらいのクレジットが消費され、現在貯まっているかはCloudWatch→EC2から見ることができます。

で、しばらく人を入れて運用して見てみたところ…

CPUクレジットは徐々に右下がりで少なくなって、全然回復してくれていません。もう少しCPUを使わないように工夫しないとt2.microでは厳しい&このままほっておくとガツンとCPUを使って裁けたとしても、回復できずいつかは使い物にならないときが来ると言うことでしょうか。詳しい方教えて下さい。

2015-05-19_15h08_30

人を入れて使うと、最大値の144には回復しそうもないの図

*1
クレジットは整数で減っていくのかと思っていたのですが、CPUCreditUsageを見る限り、0.0Xとかの単位で減ってます。CPU Utilizationを見る限りは10%を越えているようには見えません。CPUを使ったら減るもの=CPUCreditなのかもしれません。

2015-05-19_15h10_50

これを見る限り10%は越えてない気がするけど、クレジットは消費されて行っている。

参考

その他の資料

性格にもよると思うのですが、一通り触った後に読むと理解もしやすくなります。
Amazon公式でいくつか初心者向けの資料が出ています。

  • AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
    http://www.slideshare.net/AmazonWebServicesJapan/aws-webinar-47323216
    ・セキュリティに関する不安
    ・AWSに関する簡単なおさらい
    ・ネットワークセキュリティ
    ・論理アクセス管理
    ・データの保護
    ・監視・ログ

最初に読んでおけば色々捗りそうだけど、手を動かさないと眠くなっちゃうんですよね。

一年後どうするか

無料期間が終わった後どうするか… 自分がどんな設定をしたか覚えてない場合は、いっその事 解約しちゃうのが早いかもしれません。他の所へ引っ越すのであれば、初めからDockerとかで作るのも良いのかもしれませんね。

解約する

アカウントの最下部の「アカウントの解約」を押します。

2015-06-24_09h40_04

RDS等を使わず小さくする

本番運用しながらだとなかなか厳しい部分もあるかもしれませんが、EC2インスタンスのコピーを取り、そちらで作業して良い感じに切り替えとかはクラウドっぽくて良いかもしれません。

他社へ引っ越しする

再度、一から構築すると言うのは面倒ですよね。クラウドモノは競争も激しく値段も競い合っていますので、初めからOSをCoreOS等にして、Dockerで環境を組み、Dockerコンテナのみ他のクラウドに移すと言うのも楽しい気がします。

最後に

他のクラウドものも触っていますが、AWSはホント色んな事ができますね。ただ、できることが多い分、(料金も含め)分かりにくい。他社がシンプルな物をと言うのを売りにしている気持ちがよく分かります。

あー。でも面白かった。

 

・はじめの一歩!無料で始めるAWS

  1. 登録、請求アラート、用語編
  2. EC2、EBS編
  3. ELB、CloudFront編
  4. RDS、CloudWatch、退会編

コメント

タイトルとURLをコピーしました