【aws】 ec2からrdsに接続できない→原因はVPCだった!
公開日:
:
aws
機能新しくAWSのアカウントを作って、EC2+RDS環境を作ったのだけれどDBにアクセス出来ない。
Is the server running on host "mydb.ccpy7hlqlyxh.ap-northeast-1.rds.amazonaws.com" (172.31.12.345) and accepting TCP/IP connections on port 5432?
何回やってもDBの接続でエラーとなる。
これまで通りEC2に設定したセキュリティグループをRDSの方にも設定したのにつながらn…ん?
RDSのSecurity Groupsを選択すると設定画面の代わりになにやらお知らせが。
ジェフ・ベゾス「AWSのネットワークは全てVPCに変わったぜ?」
Your account does not support the EC2-Classic Platform in this region. DB Security Groups are only needed when the EC2-Classic Platform is supported. Instead, use VPC Security Groups to control access to your DB Instances. Go to the EC2 Console to view and manage your VPC Security Groups. For more information, see AWS Documentation on Supported Platforms and Using RDS in VPC.
RDSインスタンス作るときにセキュリティグループを選択していたので気づかなかったけど、何やらVPCなるものがデフォルトになって、最近作ったアカウントではそれしか選べなくなっている模様。おかげで数時間が飛びました。ジェフ・ベゾスの罠ですね。
VPCはクラウド上に仮想的なプライベートネットワークを作るもの。
VPCのセキュリティグループにVPCの通信を許可する設定をする必要がある。
設定方法
管理コンソール -> メニューバー -> Service -> VPC -> Security Groups
ここにいつもの見慣れたセキュリティーグループの設定ができるので、同一VPC内からの接続をすべて解放します。
Port range : 0 – 65535
Source : [VPC ID]
VPC IDはEC2インスタンスやRDSインスタンスのプロパティに書いてあるsg-[0-9a-z]{9}といった形式のIDです。
RDS作るときにデフォルトのセキュリティグループを選択していれば落ちない穴でした。
以上
関連記事
-
【aws】AWSをWindowsからコマンドライン操作する!
AWSのインスタンスは時間単位の従量課金制なので、一日の終わりにインスタンスを落として帰ったりするの
-
【aws】awsでサーバー運用 準備編
インスタンスを作成 【1】コンソールにログインして「Launch Istance」ボタンを
-
【aws】 AWSでロードバランサー+MultiAZ構築
参考URL: AWS Documentation まずは言葉の定義から リージ
-
【aws】EC2インスタンスタイプの変更
1.インスタンスを停止 インスタンスを右クリック コンテキストメニューのInstance Lif