新しいAmazon rdsインスタンスを作成すると、「パブリックにアクセス可能」オプションのtrue/falseを選択するように求められます。既存のインスタンスに対してこれを変更する方法はありますか?
編集:はい、「公開アクセス可能」プロパティを「いいえ」から「はい」に変更できるようになりました。 (そしてその逆)やったー!
歴史的な目的でここに残された古い答え:いいえ。
それはいいですよね?回避策として、最良のオプションは次のとおりです。
証拠:
私はこれに出くわして、同じ答えを探しました。悲しいことに、10か月後の答えはまだ「いいえ」です。既存のDBを一般に公開するように変更することはできません。
ただし、近づくことはできます...公開されていなくても、同じVPCで起動するEC2インスタンスで使用できます。また、コンピューターからEC2インスタンスを介してそのDBへのSSHトンネルを設定できます。スナップショットからインスタンスを再起動しなくても、インスタンスに効果的にアクセスできます。
あなたはあなたのコンピュータのOSを指定しなかったので、私は都合よくlinuxを仮定するつもりです...
まず、EC2インスタンスを起動し、セキュリティグループを介してRDSインスタンスへのアクセスを許可します。そのEC2インスタンスにログインできることを確認し、そのEC2インスタンスからRDS DBにアクセスできることを確認してください。いずれかが失敗すると、残りの部分は機能しません。
次に、トンネルをセットアップします。
ssh -v -N -L 1234:rds.endpoint:3306 [email protected]
ここで、rds.endpointはRDSインスタンスのURL、your.ec2.HostはEC2インスタンスのホスト名、yourec2usernameはEC2ホストのユーザー名です。
次に、RDSインスタンスに接続できます。
mysql -p -u dbuser -h 127.0.0.1 -P 1234 dbname --password=dbpassword
これでつまずく次の人を助けることを願っています...
AWSがアクセシビリティプロパティを変更できるようになったようです。ただし、データベースは変更されているようで、この間、最終的に接続の問題が発生する可能性があります。
それに関するブログ/ニュース記事は見つかりませんでした。しかし、私のアカウントではそれを行うことができます。
VPCにsshトンネルを作成するか、iptablesを使用してポート転送を行うこともできますが、最善かつ最も簡単な解決策は、PubliclyAccessibleフラグがtrueのリードレプリカを作成し、そのレプリカをマスターに昇格させることです。私は常にRDSエンドポイントのCNAMEを使用することをお勧めします。これにより、アプリに触れずにDNSでCNAMEを変更できます。
スナップショットを作成して復元すると、アプリで不要なダウンタイムが発生します。
ほら!
まず、どのVPCを使用しているかを確認します。
RDSインスタンスをパブリックアクセス可能にするには、DNSホストと解決でVPC属性を有効にする必要があります。
これは、パブリックIPアドレスに解決されるパラメーターPubliclyAccessible
を使用して設定できます。
これはAWSのドキュメントからです:
Amazon RDSは、EC2-VPCとEC2-Classicの2つのVPCプラットフォームをサポートしていました。 EC2-VPCプラットフォームにはデフォルトのVPCがあり、特に指定しない限り、すべての新しいDBインスタンスが作成されます。 EC2-ClassicプラットフォームにはデフォルトのVPCがありませんが、どちらのプラットフォームでも、独自のVPCを作成して、そのVPCにDBインスタンスを配置するように指定できます。