AWSのRDSの使い方(MySQLインスタンス作成〜EC2からの接続まで)
前回のEC2に引き続き今回はRDSについて学んだので、覚え書きを残します。 以下は、あいかわらず最小限の構成で設定するための手順です。
インスタンス作成画面まで
RDS Management Consoleを開く
インスタンス作成画面を開く
上記ページの『Launch a DB Instance』より、インスタンス作成画面を開きます。
インスタンス作成画面
Step 1:Engine Selection
データベースエンジンを選択します。 今回はMySQLを選択します。
Step 2:Production?
本番環境の場合、Multi-AZ Deploymentという設定を有効にすることが推奨されているようです。 Multi-AZ Deploymentは、スタンバイインスタンスにデータを複製するため信頼性が高くなりますよ、という特徴があるようです。
こちらは今回は無効化しておきます。 なぜならお金がかかりそうだから。
Multi-AZ Deploymentについては以下をどうぞ。
Step 3:DB Instance Details
データベースの詳細を設定できます。
いくつか設定すべき項目がありますが、以下のとおりに設定します。 なぜならお金がかかりそうだから。
- Multi-AZ Deploymentはnoにする(Step 2でしなかったっけ?)
- DB Instance Class(データベースの種類)はmicroにする
- Allocated Storage(割り当てる容量)は最小にする(ここでは
5GB
)
Step 4:Additional Config
ここではさらなる設定ができます。 そのまま次に進みます。
Step 5:Management Options
こちらはバックアップなど、管理に関する設定です。 そのまま次に進みます。
Step 6:Review
いままでの設定が確認できます。 問題がなければ、『Launch DB Instance』でインスタンスの作成が完了します。
EC2からデータベースに接続する
ファイアウォールの設定
デフォルトの状態では、MySQLに使用しているポート(3306
)は閉じているので、これを有効にしなければなりません。
データベースのインスタンスの詳細にSecurity Groupsという項目があるので、そのリンクをクリックしてEC2のSecurity Groupsに移動します。 該当するグループを選択すると詳細が表示されるので、『Create a new rule』からMySQLを選択し、『Apply Rule Changes』を選択します。
これで、データベースへの接続の準備が整いました。
EC2から接続
あらかじめEC2にSSHで接続しておきます。 次に、以下のコマンドでMySQLに接続します。
mysql -h [ホスト] -u [ユーザ名] -p
ホストは、データベースのインスタンスを選択したときに表示されるEndpointの部分です。 ユーザ名と、コマンド実行時に聞かれるパスワードは、ともにインスタンス作成時に設定したものです。
もちろん、mysql
コマンドはmysql
が入っていないと実行できません。
以下のコマンドで、あらかじめ入れておきましょう。
sudo yum -y install mysql
以上で完了です。 とりあえずEC2とRDSの必要最小限の設定は分かりましたが、じゃあこれからどうすればいいのかというと、さっぱり分かりません。