PostgreSQL DB インスタンスを作成して PostgreSQL DB インスタンスのデータベースに接続する
DB インスタンスを作成する最も簡単な方法は、AWS Management Console を使用することです。DB インスタンスを作成したら、pgAdmin などの SQL スタンダードクライアントユーティリティを使用して、DB インスタンスに接続できます。この例では、db.r6g. ラージ DB インスタンスクラスと 100 ギビバイト (GiB) のストレージを使用して、database-1
という PostgreSQL データベースエンジンを実行する DB インスタンスを作成します。
DB インスタンスを作成したり、DB インスタンスに接続したりする前に、必ず Amazon RDS のセットアップ のタスクを完了してください。
AWS アカウントを作成するための料金はかかりません。ただし、このチュートリアルを完了すると、使用する AWS リソースのコストが発生する可能性があります。これらのリソースが不要になった場合は、チュートリアルの完了後に削除できます。
目次
PostgreSQL DB インスタンスを作成する
Amazon RDS の基本的な構成要素は DB インスタンスです。これは、PostgreSQL データベースを実行する環境です。
[Easy create (簡易作成)] を使用して、AWS Management Console で PostgreSQL を実行する DB インスタンスを作成します。[Easy create (簡易作成)] を使用して、DB エンジンタイプ、DB インスタンスサイズ、DB インスタンス識別子のみを指定します。[Easy create (簡易作成)] では、他の設定オプションのデフォルト設定を使用します。[Easy create (簡易作成)] の代わりに [Standard create (スタンダード作成)] を使用する場合は、データベースの作成時に、可用性、セキュリティ、バックアップ、メンテナンスなどを含む設定オプションを追加指定します。
この例では、[Easy Create (簡易作成)] を使用して、db.r6g. ラージ DB インスタンスクラスの PostgreSQL データベースエンジンを実行する DB インスタンスを作成します。
スタンダード作成で DB インスタンスを作成する方法については、Amazon RDS DB インスタンスの作成 を参照してください。無料利用枠を利用する場合は、[Standard create (スタンダード作成)] を使用します。
簡易作成で PostgreSQL DB インスタンスを作成するには
-
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 Amazon RDS コンソールの右上で、DB インスタンスを作成する AWS リージョンを選択します。
-
ナビゲーションペインで、[データベース] を選択します。
-
[Create database (データベースの作成)] を選択し、[Easy create (簡易作成)] が選択されていることを確認します。
-
[設定] で、[PostgreSQL] を選択します。
-
[DB インスタンスサイズ] で、[Dev/Test] を選択します。
-
[DB インスタンス識別子] に、DB インスタンスの名前を入力するか、デフォルト名のままにします。
-
[マスターユーザー名] に、マスターユーザーの名前を入力するか、デフォルト名 (
postgres
) のままにします。[データベースの作成] ページは、次のイメージのようになります。
-
DB インスタンス用に自動生成されたマスターパスワードを使用するには、[Auto generate a password (パスワードの自動生成)] チェックボックスがオンになっていることを確認します。
マスターパスワードを入力するには、[Auto generate a password (パスワードの自動生成)] チェックボックスをオフにして、[Master password (マスターパスワード)] と [Confirm password (パスワードの確認)] に同じパスワードを入力します。
-
(オプション) [View default settings for Easy create (簡易作成のデフォルト設定を表示)] を開きます。
[Easy Create (簡易作成)] で使用されるデフォルト設定を調べることができます。[Editable after database is created (データベース作成後に編集可能)] 列には、データベース作成後に変更できるオプションが表示されます。
-
その列で [No (いいえ)] の設定を変更する場合は、[Standard create (スタンダード作成)] を使用します。
-
その列で [Yes (はい)] の設定を変更する場合は、[Standard Create (スタンダード作成)] を使用するか、作成後に DB インスタンスを変更して設定を変更します。
デフォルト設定を変更する際の重要な考慮事項は次のとおりです。
-
場合によっては、Amazon VPC サービスに基づく特定の仮想プライベートクラウド (VPC) を DB インスタンスで使用する必要があります。もしくは、特定のサブネットグループまたはセキュリティグループが必要な場合があります。その場合、[Standard create (スタンダード作成)] を使用して、これらのリソースを指定します。Amazon RDS の設定時にこれらのリソースを作成した可能性があります。詳細については、「セキュリティグループを作成して VPC 内の DB インスタンスへのアクセスを提供する」を参照してください。
-
VPC 外のクライアントから DB インスタンスにアクセスする場合は、[Standard Create (スタンダード作成)] を使用して、[Public access (公開アクセス)] を [Yes (はい)] に設定します。
DB インスタンスをプライベートにする必要がある場合は、[Public access (公開アクセス)] を [No (いいえ)] に設定します。
-
無料利用枠を利用する場合は、[Standard Create (スタンダード作成)] をクリックして バージョン 13 以前の PostgreSQL バージョンを設定し、[Templates (テンプレート)] の [Free tier (無料利用枠)] を選択します。
-
-
[データベースの作成] を選択します。
自動生成されたパスワードを使用することを選択した場合は、[データベース] ページに [認証情報の詳細の表示] ボタンが表示されます。
DB インスタンスのマスターユーザー名およびパスワードを表示するには、[認証情報の詳細の表示] を選択します。
マスターユーザーとして DB インスタンスに接続するには、表示されているユーザー名およびパスワードを使用します。
重要 マスターユーザーのパスワードを再度表示することはできません。記録していない場合は、変更する必要がある場合があります。
DB インスタンスが有効になった後にマスターユーザーのパスワードを変更する必要がある場合は、そのように DB インスタンスを変更することができます。DB インスタンスの変更の詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。
-
[データベース] で、新しい PostgreSQL DB インスタンスの名前を選択します。
RDS コンソールに、新規の DB インスタンスの詳細が表示されます。DB インスタンスが使用できるようになるまで、DB インスタンスのステータスは [Creating (作成中)] のままになります。ステータスが [Available] に変わると、DB インスタンスに接続できます。DB インスタンスクラスとストレージの合計によっては、新しいインスタンスを使用できるようになるまで最長 20 分かかることがあります。
PostgreSQL DB インスタンスに接続する
Amazon RDS によって DB インスタンスがプロビジョニングされると、スタンダードの SQL クライアントアプリケーションを使用してインスタンスに接続できます。以下に、PostgreSQL DB インスタンスに接続する 2 つの方法を示します。初期の例では、オープンソースの PostgreSQL 向け管理開発ツールとして人気のある pgAdmin を使用します。pgAdmin は、クライアントコンピュータに PostgreSQL のローカルインスタンスがなくても、ダウンロードして使用できます。2 番目の例では、PostgreSQL に付属するコマンドラインユーティリティである psql を使用します。psql を使用するために、PostgreSQL または psql クライアントがクライアントコンピュータにインストールされていることを確認してください。
DB インスタンスに接続する前に、DB インスタンスにアクセスするセキュリティグループに DB インスタンスが関連付けられていることを確認してください。詳細については、「セキュリティグループを作成して VPC 内の DB インスタンスへのアクセスを提供する」を参照してください。
場合によっては、DB インスタンスへの接続に問題があることがあります。接続に問題がある場合、多くは、セットアップしたアクセスルールに原因があります。これらは DB インスタンスに割り当てたセキュリティグループ内にあります。DB インスタンス作成時に適切なセキュリティグループを指定しなかった場合は、DB インスタンスを変更して、そのセキュリティグループを変更できます。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。
DB インスタンスがパブリックにアクセス可能な場合は、関連付けられているセキュリティグループに、アクセスする IP アドレスのインバウンドルールがあることを確認します。DB インスタンスがプライベートの場合は、関連するセキュリティグループに、アクセスする各リソースのセキュリティグループに対するインバウンドルールがあることを確認します。Amazon EC2 インスタンスのセキュリティグループはその一例です。
PostgreSQL DB インスタンスへの接続の詳細については、「PostgreSQL データベースエンジンを実行する DB インスタンスへの接続」を参照してください。DB インスタンスに接続できない場合は、「RDS for PostgreSQL インスタンスへの接続に関するトラブルシューティング」を参照してください。
pgAdmin を使用した PostgreSQL DB インスタンスへの接続
pgAdmin を使用して PostgreSQL DB インスタンスに接続するには
-
DB インスタンスのエンドポイント (DNS 名) とポート番号を見つけます。
-
RDS コンソールを開き、[データベース] を選択して、DB インスタンスを一覧表示します。
-
PstgreSQL DB インスタンス名を選択して、詳細を表示します。
-
[接続とセキュリティ] タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。
リポジトリの 「設定」タブで、DB 名をメモします。pgAdmin を使用して接続する場合は必要ありませんが、psql を使用して接続する場合は必要です。
-
-
https://www.pgadmin.org/
から pgAdmin をインストールします。pgAdmin は、クライアントコンピュータに PostgreSQL のローカルインスタンスがなくても、ダウンロードして使用できます。 -
クライアントコンピュータの pgAdmin アプリケーションを起動します。
-
[File] メニューの [Add Server] を選択します。
-
[New Server Registration] ダイアログボックスの [Host] ボックスに、DB インスタンスのエンドポイント (例:
database-1.123456789012.us-west-1.rds.amazonaws.com
) を入力します。Amazon RDS コンソールに示されているように、コロンやポート番号は含めないでください (例:database-1.c6c8dntfzzhgv0.us-west-1.rds.amazonaws.com:5432
)。[ポート] に、DB インスタンスに割り当てたポートを入力します。[Username] および [Password] に、DB インスタンスの作成時に入力したユーザーネームとパスワードをそれぞれ入力します。
-
[OK] を選択します。
-
オブジェクトブラウザで、[Server Groups] を展開します。作成したサーバー (DB インスタンス) を選択し、データベース名を選択します。
-
プラグインアイコンをクリックし、[PSQL Console] を選択します。作成したデフォルトデータベース用の psql コマンドウィンドウが開きます。
-
コマンドウィンドウを使用して、SQL コマンドまたは psql コマンドを入力します。ウィンドウを閉じるには「
\q
」と入力します。
psql を使用した PostgreSQL DB インスタンスへの接続
クライアントコンピュータに PostgreSQL がインストールされている場合は、psql のローカルインスタンスを使用して、PostgreSQL DB インスタンスに接続できます。psql を使用して PostgreSQL DB インスタンスに接続するには、ホスト情報、ポート番号、とアクセス認証情報、データベース名を指定します。これらの詳細は、pgAdmin を使用した PostgreSQL DB インスタンスへの接続のステップの初期のステップに従うことで入手できます。
Amazon RDS 上の PostgreSQL DB インスタンスに接続する際は、次の形式が使用されます。
psql --host=
DB_instance_endpoint
--port=port
--username=master_user_name
--password --dbname=database_name
例えば、次のコマンドは、架空の認証情報を使用して、mypgdb
という PostgreSQL DB インスタンス上の mypostgresql
というデータベースに接続します。
psql --host=database-1.123456789012.us-west-1.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=postgres
DB インスタンスを削除する
作成したサンプル DB インスタンスに接続したら、料金がこれ以上発生しないように、DB インスタンスを削除してください。
最終的な DB スナップショットを作成しないで DB インスタンスを削除するには
-
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[データベース] を選択します。
-
削除する DB インスタンスを選択します。
-
[アクション] で、[削除] を選択します。
-
[最終スナップショットを作成しますか?] で [No] を選択し、確認を選択します。
-
[削除] を選択します。