簡単AmazonAWSで立ち上げたPostgreSQLに、同じサブネット内に起動したEC2のWindowsSrvインスタンスから接続する

PostgreSQLサーバの稼働はこちらから

この作成に際し、VPCと、セキュリティグループが設定されているものとします。

EC2内からAmazon RDSで稼働させたPostgreSQLに接続

EC2内から、パブリック公開していないAmazon RDS内に構築したPostgreSQLに接続します。

今回成功したのは同じサブネット内に入れたEC2のWindows2019サーバです。

今回構築できたのは上記の図に近いかと。

若干、Security group の考え方とサブネットが違うので、上記の図のままではないですけど、パブリック公開していないPostgreSQLに、公開したWindowsを踏み台にしてアクセスする事ができました。

EC2でWindowsインスタンスを稼働させる

Amazon EC2 って?

Amazon Elastic Compute Cloud (Amazon EC2)

インスタンスと呼ばれる仮想コンピューティング環境を構築する事ができます。

インスタンスを起動をクリック

無料利用枠のWindows Server 2019 を稼働させます。

無料利用可能なのは

1vCPU 1GiBメモリ

キーペアを作成し、ダウンロードしておきます。後で、リモートデスクトップするために、このキーを元にパスワードを取得します。

ネットワーク設定が重要

稼働させたPostgreSQLサーバが、どのサブネットにいるのか確認します。

私の環境では、PostgreSQLのIPアドレスが、172.30.1.0/24 にいたので、そこからサブネットIDはどれかというのが分かりました。このサブネットIDを控えておきます。

VPCももちろん、PostgreSQLと同じものを選択、さらにサブネットも、上記で調べたサブネットIDとおなじものにします。私が作成する時には、同じサブネットIDは出てこなかったので、コピペしたら、出てきました。

※サブネットを合わせるのが重要

パブリックIPも自動割り当てを行いました。

また、セキュリティグループも、PostgreSQLと同じセキュリティグループに入れてやります。ただし、ここは、同じじゃなくてもいいかも。

このセキュリティグループはファイヤーウォールとして動作します。宛先ポートや、ソースIPを指定する事でアクセスを拒否する事が可能です。

PostgreSQLへのアクセスポート5432と、リモートデスクトップ接続のための3389ポートを許可してあります。

この状態で、インスタンスを起動します。

インスタンスが利用できるまで少し時間がかかります。

リモートデスクトップ接続

インスタンスが実行中になったのを確認したら、リモートデスクトップ接続します。

アクションの中から接続をクリック

RDPクライアントをクリックし、リモートデスクトップファイルをダウンロードします。

パスワードを取得を押すと、インスタンス作成時にダウンロードしたキーペアからAdministratorのパスワードを取得する事ができます。

パスワードを復号化すると、パスワードが表示されます。これをコピーしておきます。

ダウンロードしたリモートデスクトップファイルを実行すると、リモートデスクトップへの接続が始まります。

取得したパスワードをコピペします。

Windowsへログインできます。

インターネットエクスプローラを立ち上げ、PgAdminをダウンロードします。

インターネットエクスプローラは、セキュリティが高くかかっていてちょっと面倒ですけど、頑張ってURLを追加していきながらお目当ての実行ファイルをダウンロードします。

ダウンロードできたら早速インストール

RDS → データベース → PostgreSQLで作成したデータベースの画面から、エンドポイントを調べておきます。

PgAdminでサーバを追加し、エンドポイントなどを貼り付けて設定します。PostgreSQLのパスワードは、インスタンス作成時に決めたパスワードを入れます。

すると、接続できました。