there are no subnets with available IP addresses in the specified Availability Zone ap-northeast-1dの対処法【AWSサポートからの回答あり】【AWS】

DB作成時に「EC2コンピューティングリソースに接続」を選ぶと下記のエラーが表示されたため、こちらの対処法を紹介します。

DBサブネットグループにdは指定していないし、そもそもDBサブネットグループはIP枯渇していないしで、わからなかったので共有します。
・DB作成時に「EC2コンピューティングリソースに接続」を押すとエラーが出る
記事の目次
原因
どうやら接続設定の「EC2コンピューティングリソースに接続」でDBのサブネットグループにないAzのEC2を指定してしまうとダメなようです。
今回の場合、DBのサブネットグループにAZ-aとAZ-cのみを指定しており、EC2がAZ-dで作成していました。

AWSサポートからの回答
今回調査でAWSサポートを利用しましたので、そちらの回答も紹介します。
はじめに、お客様にてご確認いただいております「EC2コンピューティングリソースに接続」についてご説明いたします。
ドキュメントでご案内しているとおり、Amazon RDS には DB インスタンスの作成時のオプションとして、既存の EC2 インスタンスとの自動ネットワーク設定が提供されております[1]。
現状の動作として、このオプションを使用しシングル AZ で DB インスタンスを作成する場合、DB インスタンスは接続先の EC2 インスタンスと同じアベイラビリティゾーンに作成されるようになっております[2]。
そのため、使用する DB サブネットグループに EC2 インスタンスの所属するアベイラビリティゾーンが存在しない場合、DB インスタンスの作成に失敗します。
たとえば、EC2 インスタンスが ap-northeast-1d に存在し、かつ ap-northeast-1a と ap-northeast-1c の DB サブネットグループを指定しシングル AZで作成を行ったとします。
DB インスタンスは ap-northeast-1d に作成されようとしますが、DB サブネットグループに ap-northeast-1d が存在しないため、エラーが発生します。
この問題には、DB サブネットグループに ap-northeast-1d に所属するサブネットを追加することで対応が可能です。
[1] EC2 インスタンスと DB インスタンスを自動的に接続する – Amazon Relational Database Service – https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/ec2-rds-connect.html
[2] Amazon RDS DB インスタンスの作成 – Amazon Relational Database Service – https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html#USER_CreateDBInstance.Prerequisites.VPC.Automatic
「EC2コンピューティングリソースに接続」を選び、シングル構成の場合EC2と同じAZに作成されるんですね。
あまり使わない設定ですが、参考になれば幸いです。
- タグ:
- RDS