2013年10月4日金曜日

【IT】AWSでEC2とRDSの連動でホストが見つからないと怒られてハマったネタ

ここ1〜2日くらい、ちょっとばかり実験したいことがあってAWSをいじってました。

必要なデータをJSONで返すだけなので、EC2だけでどうにかなると言えばどうにかなるのですが、まあせっかくなのでRDSと連動させてみようか、と余計なことをしたのが運の尽きでした。

で、RDSとEC2を連動させた時にMySQLに入れずハマったので自分用にメモを残します。


AWSの入門はざーっとドットインストールを見るとニュアンスは掴めるでしょう。

ドットインストール Amazon Web Services入門 (全17回)

で、何にハマったのか。

ホストがありません

と言われます。

この入門編だけを見ているとハマります。(あ、別にDisっていませんよ?)

なんでも、最近(そんなに最近でもない?春くらい?)の変更で作るInstanceがVPCに出来てしまうという事が原因なんだとかどうだとか。

で、解決方法は何か、と。

EC2のSecurityGroupでdefaultじゃない場合はそのSecurityGroupのInboundに2つの設定を入れます。

手順的には次のような感じです。
  • Create a new ruleでMySQLを選ぶ(ポート3306を追加する)
  • SourceにSecurityGroupのGroupIDを入力する(sg-hogehogeな感じのやつ)
  • このSecurityGroupをEC2、RDS共に設定します。
ちなみに、まあ、いいんでしょうけど個人的にはSourceのところに0.0.0.0/0と書くのは気持ち悪いです。

あとはEC2からmysqlコマンドでMySQLにログインするだけです。

あ、これもドットインストールのままだとハマります。

$ mysql -h RDSのendpointから:3306を除いたもの -u MySQLのユーザー名 -p

こんな感じでログインしてください。

ポートを変えている場合は適宜-Pオプションで指定するように。

メモなので手短に。

パクった参考にした記事
亀岡的プログラマ日記 AWSのEC2 → RDS接続がVPC環境でハマったメモ
ナレコムAWSレシピ Amazon RDS編~EC2インスタンスからDBインスタンスへの接続~


しかし、こう、今必要ないからと追わないでいると色々ダメなことになるのよね。ホント。

0 件のコメント :

コメントを投稿