2016/12/11

AWSでWebサービスを構築07 RDSでインスタンス作成

前回で前準備を行ったので、今回は実際にRDSでインスタンスを作成する。



RDSインスタンスの起動


RDSのショートカットを選択すると、RDSの管理画面が表示されるので、画面左部メニューから「インスタンス」を選択する。
画面上部の「DBインスタンスの起動」ボタンを選択すると、ウィザードが始まる。

エンジンの選択




まずはデータベースエンジンの選択。
今回はMySQLを選択する。

本番稼働用かどうかの選択


ここでもAurora使うかどうかを聞かれる。
Auroraは無料枠どころかスペックがいいインスタンスクラスしかないので、今回はなし。
MySQLの本番用か開発用を選択できる。
どちらでも無料枠はあるから問題ないが、開発用なら無料枠しか選択できないようにするオプションがある。

今回は開発用を選択する。ただ、設定はどちらもあまり変わらない。

DB詳細の指定


今回は無料枠を選択したいので、「RDS 無料利用枠内で利用できるオプションのみを表示」にチェックを入れる。

「インスタンスの仕様」では、初期設定以外では「DB インスタンスのクラス:db.t2.micro」のみを設定した。
ストレージは20GBまでは無料枠とのこと。

「設定」に関して、DB インスタンス識別子はサービスがわかるような名前を適当に入力する。
ただ、同じ名前のDBは作成できないので、テストの場合「test」などをつけた方がいい。

マスターユーザの名前とマスターパスワードはDBにアクセスする認証情報なので、設定した内容をひかえておこう。

入力したら、画面下部の「次のステップ」ボタンを選択する。

[詳細設定] の設定


「ネットワーク & セキュリティ」のブロックについては、下記の通りに設定する。

「VPC」には、前に作成したVPCを選択する。「サブネットグループ」も自動的に選択されるものでいい。
「パブリックアクセス可能」を「いいえ」にしておくと、VPC外からはアクセスできない。(グローバルにIPが割り振られない)
どちらにせよVPC内からはアクセスできるので、用途に合わせて選ぶ。
「アベイラビリティーゾーン」も特に指定しなくていい。有料だったらマルチAZが選択できる。冗長化なので、本サービスの時にはマルチAZを指定した方がいい。
「VPC セキュリティグループ」は、前回の記事で作成したDB用のセキュリティーグループを選択する。

「データベースの設定」のブロックについては、今は編集しなくてもいい。
データベースを実際に使いたい場合や、パラメータを修正したい場合にパラメータグループを用意して選択する。が、今はいい。

「バックアップ」「モニタリング」「メンテナンス」のブロックに関しても、実際に使う際に吟味するといい。が、今は修正の必要ないだろう。

すべて入力したら、画面下部の「DBインスタンスの作成」ボタンを選択する。
作成にはしばらく時間がかかる。

画面左部のメニューから「インスタンス」を選択するとインスタンスのリスト内に、作成したインスタンスが確認できるだろう。


設定確認


DBインスタンス管理画面で作成したインスタンスを選択すると、設定情報が閲覧できるかと思う。



「エンドポイント」の右にある長めのURLがDBインスタンスへのアクセスURI+ポート番号になる。
よくWebアプリに設定するDBへのURLがあると思うが、そこにこの「エンドポイント」を設定する。
(ただし、「パブリックアクセス可能」の項目を「いいえ」にした場合、VPC外からはアクセスできないから注意)
次の項目で使用するので、URLをひかえておいてね。

左にある「Monitoring」「Details」「Replication」のタブがあるが、Detailsのタブでは、詳細な設定情報が確認できる。


動作確認


動作確認は、先日立ち上げたVPC内のAPインスタンスから接続する。
まずは、APのセキュリティグループに、MySQLのポートを設定する。

セキュリティグループへの設定追加


EC2の管理画面のメニュー「セキュリティグループ」を選択。
先日作成したAP用のセキュリティグループに、DB用と同様にMySLQ/Auroraを追加。送信元も同様にVPCのCIDERを設定する。
(このシリーズでは10.0.0.0/16)

APインスタンスからMySQL接続


EC2インスタンス作成時に接続確認したように、SSHで接続する。
接続後にMySQLのクライアントをインストールする。
$ sudo yum install mysql
次に、実際に接続する。
$ mysql -h [エンドポイントURL] -u [マスターユーザの名前] -p 
とコマンドを打った後にパスワードを聞かれるので、ここもマスターパスワードを入力。

接続できたらOK。通常のMySQLとほぼ同様に使用できるので、DB作成を行ったりテーブルを作ったりするといい。
接続できない場合は、AP、DBのセキュリティグループの設定の見直しや、DBインスタンスがそもそもVPC内に入っているか、などを確認するといい。

とりあえずDBの作成もこれで完了。
これでAPサーバからDBへの接続は出来るようになった。
最低限Webアプリを動かせそうな環境は揃ったが、まだまだ運用には不便な点がたくさんあるので、次回は構成などを改善する。




0 件のコメント:

コメントを投稿