[AWS]RDS_データベース立ち上げ

By | 2018年2月7日

本日のお昼ごろ、誤ってWordPressサーバーをシャットダウンしていました(汗)
さて、本日もAWSの学習の続きをやっていきます。
今回はRDSを使ってデータベースを立ち上げてみます。
RelationalDatabaseServerの略称みたいですね。

 

データベースインスタンスの作成

AWSへログインしたら「サービス」を押すとサービスの一覧が出てきます。データベースの項目にある「Relational Databese Server」を押すと、RDSの管理ページへ移動します。

私の場合は初めて開いたからか、下記のような紹介文が表示されました。
ここは素直に「今すぐ始める」を押します。

するとどのデータベースを使うか選択するように促されます。
Amazon Auroraに興味があったのですが、どうやらAuroraは無料期間対象外のようです。根本的なシステムを理解していないので、まずは仕組みを理解するためにMySQLを選択しておきます。

データベースサーバーのスペックを設定することができますが、無料期間の範囲で使いたいのでほぼカスタマイズはできません。DBインスタンスの名前と、DBへの接続用アカウントを作成して次に進みます。

詳細設定を行うページに遷移します。
項目こそ多いですが内容自体は読めば分かるレベルのものだと思います。分からなければ、後でいつでも変更できると思いますので必須項目以外はデフォルトで問題ないでしょう。
EC2で作成した仮想サーバーと接続する使い方になると思いますので、とりあえず「アベイラビリティーゾーン」だけはEC2で作成したインスタンスと揃えておきました。

エラーが無ければインスタンスの作成画面に映ります。
左側のメニューボタンから「インスタンス」を押すと確かにDBインスタンスが作成されていることが確認できました。

 

インスタンスの管理・スペック変更

メニュー画面の「インスタンス」を押すとインスタンスの一覧が表示されます。
「EC2」の管理画面とは違って右クリックでメニューは開きません。ラジオボタンを押すか、設定を操作したいインスタンス名に管理画面へのリンクがありますので、対象のインスタンスをクリックします。

管理ページでは「インスタンスの操作」というプルダウンから各種操作を行うことができます。
例えば「変更」を押すとスペックの変更ができます。
「リードレプリカ」という聞きなれない単語がありますが、これは負荷分散のための読み取り専用DBのようです。マスター/スレーブの関係という認識で良さそうですね!

 

EC2からデータベースへ接続

まずEC2のインスタンスをひとつ立ち上げて、以前の記事でやったようにターミナルからssh接続します。

EC2とssh接続できたら以下のコマンドを打ち込みます。
$ mysql -h [エンドポイント] -u [DBユーザー名] -p
ここで使うDBユーザー名やパスワードはインスタンス作成時に入力したものですね!
エンドポイントというのは、インスタンスの詳細画面に書かれているヤツです。

さて、EC2の仮想サーバーからRDSのDBサーバーへ接続できたでしょうか?
私はできませんでした。

セキュリティグループの設定が行われていないため、コネクションを成立させることができなかったのです。
ということで早速セキュリティグループの設定を行います。

 

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

EC2のコンソールか、RDSのインスタンス詳細画面からセキュリティグループ一覧ページへ飛びます。

現在接続が許可されているのは、私の自宅のIPアドレスのみです。
PCで本記事を読んでいる方は画像をクリックしていただけると読めると思うのですが、「同じリージョン内の別のセキュリティグループの名前または ID を指定できます。」という記述があります。

そこで、DBと接続したいEC2インスタンスで使用しているセキュリティグループのIDをRDSインスタンスのセキュリティグループのインバウンドへ記述してみます。

そして保存後、再度ターミナルからデータベースへの接続を試みます。


ということでMySQLサーバーへ接続できました。

 

終わりに

EC2で立ち上げたサーバーとRDSで立ち上げたデータベースの接続を行いました。
AWSにはまだまだサービスがたくさんあるのですが、この2つさえあればWebサービスは大体できちゃいそうな気がしますね!
しかしまだまだドットインストール先生の講義も6章分残っていますし、そもそも今受けているレクチャーは「入門編」です。全体的な機能を把握したら、次は自ら手探りしつつ情報収集して機能の理解を深めていきたいですね!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です