ztbuz@dev

人生に絶望しているZが、それでも技術を身につけようと必死になるブログ

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の必要最小限の設定は分かりましたが、じゃあこれからどうすればいいのかというと、さっぱり分かりません。