PostgreSQL データベースを作成して接続する
(Amazon RDS を使用)
はじめに
このチュートリアルでは、PostgreSQL データベースを実行するための環境を作成する方法 (この環境を「インスタンス」と呼びます)、データベースに接続する方法、DB インスタンスを削除する方法について学びます。ここでは、Amazon Relational Database Service (Amazon RDS) を使用します。チュートリアルの全作業は無料利用枠内で実行できます。
実装
-
RDS コンソールを起動する
ここをクリックすると、AWS マネジメントコンソールが新しいブラウザウィンドウで開くため、このステップバイステップガイドを開いたままで操作できます。この画面が表示されたら、[Database] (データベース) で [RDS] をクリックし、Amazon RDS コンソールを開きます。
-
PostgreSQL DB インスタンスを作成する
このステップでは、Amazon RDS を使用して、db.t2.micro DB インスタンスクラス、20 GB のストレージ、保持期間 1 日の自動バックアップが設定された PostgreSQL DB インスタンスを作成します。 これらはすべて、無料利用枠の対象です。
a.Amazon RDS コンソールの右上隅で、DB インスタンスを作成するリージョンを選択します。
注意: AWS クラウドのリソースは、世界のさまざまな地域にある高可用性データセンター施設に格納されています。Amazon RDS アクティビティをホストするリージョンを選択できます。
b. [Create database] (データベースの作成) セクションで、[Create database] (データベースの作成) を選択します。
c. エンジンを選択できるようになりました。このチュートリアルでは、PostgreSQL アイコンを選択し、[Engine Version] (エンジンバージョン) を選択して、無料利用枠のテンプレートを選択します。
d.DB インスタンスの設定を始めます。以下のリストは、このチュートリアルで使用できる設定の例です。
設定:
- DB instance identifier (DB インスタンス識別子): DB インスタンス名を入力します。これは、選択したリージョン内で、自分のアカウントにとって一意である必要があります。このチュートリアルでは、rds-postgresql-10minTutorial という名前にします。
- Master username (マスターユーザー名): DB インスタンスへのログインに使用するユーザー名を入力します。この例では、masterUsername を使用します。
- Master password (マスターパスワード): マスターユーザーのパスワードを 8~41 文字で入力します。使用できるのは印刷可能な ASCII 文字 (/、"、@ を除く) です。
- Confirm password (パスワードの確認): パスワードを再入力します。
インスタンスの仕様:
- DB instance class (DB インスタンスクラス): デフォルトの [db.t2.micro --- 1 vCPU, 1 GIB RAM] を選択します。これは、1 GB のメモリと 1 基の vCPU に相当します。サポート対象のインスタンスクラスのリストを確認するには、Amazon RDS の料金を参照してください。
- Storage type (ストレージタイプ): [General Purpose (SSD)] (汎用 (SSD)) を選択します。ストレージの詳細については、Amazon RDS のストレージを参照してください。
- Allocated storage (割り当て済みストレージ): デフォルトの 20 を選択して、データベースに 20 GB のストレージを割り当てます。Amazon RDS では、最大 64 TB までスケールアップできます。
- Enable storage autoscaling (ストレージのオートスケーリングを有効にする): ワークロードが周期的または予測不能な場合は、ストレージのオートスケーリングを有効にし、必要に応じて RDS でストレージを自動的にスケールアップできます。このオプションについては、このチュートリアルでは取り扱いません。
- Multi-AZ deployment (マルチ AZ 配置): マルチ AZ 配置は有料であることにご注意ください。マルチ AZ 配置では、異なるアベイラビリティーゾーンに同期スタンバイレプリカが自動的にプロビジョンされ、維持されます。 詳細については、High Availability Deployment を参照してください。
e. これで、RDS が PostgreSQL の DB インスタンスを起動するために必要な追加情報を提供する [Connectivity] (接続) セクションが表示されます。以下のリストはサンプル DB インスタンス向けの設定です。
ネットワークとセキュリティ
- Virtual Private Cloud (VPC): [デフォルト VPC] を選択します。VPC の詳細については、Amazon RDS および Amazon Virtual Private Cloud (VPC) を参照してください。
追加の接続設定
- Subnet group (サブネットグループ): [default] (デフォルト) サブネットグループを選択します。サブネットグループの詳細については、DB サブネットグループの使用を参照してください。
- Public accessibility (パブリックアクセシビリティ): [Yes] (はい) を選択します。データベースインスタンスに IP アドレスが割り当てられ、自分のデバイスから直接データベースに接続できるようになります。
- Availability zone (アベイラビリティーゾーン): [No preference] (指定なし) を選択します。詳細については、リージョン、アベイラビリティーゾーンを参照してください。
- VPC security groups (VPC セキュリティグループ): [Create new VPC security group] (新しい VPC セキュリティグループの作成) を選択します。これにより、現在使用しているデバイスの IP アドレスから作成済みデータベースへの接続を許可するセキュリティグループが作成されます。
- Port (ポート): デフォルト値の 5432 のままにします。
[Additional Configurations] (追加設定) セクションで以下のとおり設定します。
データベースオプション
- Database name (データベース名): 1~64 文字の英数字でデータベース名を入力します。名前を入力しない場合、Amazon RDS は、作成する DB インスタンス上にデータベースを自動的に作成しません。このチュートリアルでは、[myDatabase] を使用します。
- DB parameter group (DB パラメータグループ): デフォルト値を使用します。詳細については、DB パラメータグループを使用するを参照してください。
- Option group (オプショングループ): このオプションは無料利用枠内では利用できません。Amazon RDS では、追加機能の有効化と設定にオプショングループが使用されます。詳細については、オプショングループを使用するを参照してください。
暗号化
このオプションは無料利用枠内では利用できません。詳細については、Amazon RDS リソースの暗号化を参照してください。バックアップ
- Backup retention period (バックアップ保持期間): 取得したバックアップを保持する日数を選択できます。このチュートリアルでは、値を [1 day] (1 日) に設定します。
- Backup window (バックアップウィンドウ): デフォルトの [No preference] (指定なし) のままにします。
Performance Insights
このチュートリアルでは [Disable Performance Insights] (Performance Insights を無効にする) を選択します。データベースのパフォーマンスおよび監視機能である Performance Insights の詳細については、Performance Insights のウェブページを参照してください。モニタリング
Enhanced monitoring (拡張モニタリング): [Enable enhanced monitoring] (拡張モニタリングを有効にする) を選択します。拡張モニタリングを有効にすると、DB インスタンスが実行されるオペレーティングシステム (OS) のメトリクスをリアルタイムで利用できます。詳細については、DB インスタンスのメトリクスの表示を参照してください。
メンテナンス
- Auto minor version upgrade (マイナーバージョンの自動アップグレード): [Enable auto minor version upgrade] (マイナーバージョンの自動アップグレードを有効にする) を選択し、利用可能になったときにアップデートを自動的に受信できるようにします。
- メンテナンスウィンドウ: [No preference] (指定なし) を選択します。
削除保護
このチュートリアルでは [ Enable deletion protection] (削除保護を有効にする) をオフにします。このオプションが有効になっていると、データベースを削除できません。[Create database] (データベースの作成) をクリックします。
f.DB インスタンスが作成されました。 [View Your DB Instances] (DB インスタンスの表示) をクリックします。
注: DB インスタンスクラスと割り当てられたストレージによっては、新しい DB インスタンスが使用可能になるまでに数分かかる場合があります。
RDS コンソールの DB インスタンスリストに、新しい DB インスタンスが表示されます。DB インスタンスが作成されて使用できるようになるまで、DB インスタンスの状態は作成中となります。 状態が利用可能になると、DB インスタンスのデータベースに接続できます。
DB インスタンスが利用可能な状態になるのを待っている間に、次のステップに進むことができます。
-
SQL クライアントをダウンロードする
データベースインスタンスの作成が完了し、利用可能な状態になると、標準的な SQL クライアントを使用して DB インスタンスのデータベースに接続できます。このステップでは、よく使用される SQL クライアントである SQL Workbench をダウンロードします。
注意: SQL Workbench は、DB インスタンス作成に使用したのと同じネットワーク、同じデバイスから実行してください。データベースに設定されたセキュリティグループは、DB インスタンスを作成したデバイスからの接続のみ許可するよう設定されています。別のネットワークやデバイスから接続しようとすると、IP アドレスが別のものになります。任意の IP アドレスからでもアクセスできるようにデータベースを設定することも可能ですが (詳細についてはこちらを参照してください)、このチュートリアルではシンプルなままにしておきます。
a.SQL Workbench ウェブサイトにアクセスし、[Generic package for all systems including all optional libraries] をクリックします。
b.次に、こちらをクリックして、PostgreSQL のウェブサイトから最新の JDBC ドライバーをダウンロードします。わかりやすい場所にファイルを保存しておきます。このファイルは次のステップで使用します。
-
PostgreSQL データベースに接続する
このステップでは、SQL Workbench を使用して、作成したデータベースに接続します。
a.ダウンロード完了後、SQL Workbench をインストールします。
注: アプリケーションを起動するには、.exe ファイル (Windows) か、またはダウンロードフォルダに含まれるシェルスクリプト (macOS、Linux) を使用します。詳細については、ダウンロードしたフォルダに含まれている PDF ファイルを参照してください。
b.プログラムを開きます。ダイアログボックスが表示されます。 次のように入力します。
- Driver: PostgreSQL (org.postgresql.Driver)
注意: ドロップダウンからドライバーを選択する際に、ドライバーの定義を編集するよう指示されます。[Yes] を選択します。次のダイアログボックスでは、フォルダのアイコンをクリックし、先ほどのステップでダウンロードしておいたドライバーを選択します。
- URL: 右のスクリーンショットのように、Amazon RDS コンソールから JDBC URL を見つけることができます。「jdbc:postgresql://」に続けて、DB インスタンスのエンドポイント (ポートを含む) を入力するか、ペーストします。最後に、URL 末尾にスラッシュとデータベースインスタンスの名前を追加します。たとえば、URL はjdbc:postgresql://postgresql-instance1.cg034hpkmmjt.us-east-1.rds.amazonaws.com/myDatabase のようになります。
- ユーザー名: Amazon RDS データベース用に作成したユーザー名を入力します。このチュートリアルでは、「masterUsername」とします。
- Password (パスワード): Amazon RDS データベース作成時に使用したパスワードを入力します。
[OK] をクリックします。
c.データベースに接続できました。Amazon RDS コンソールで、[Databases] (データベース) リストからインスタンスを選択すると、[Current activity] (現在のアクティビティ) の見出しの下のデータベース一覧に [1 Connection] (1 件の接続) と表示されるはずです。
注: この時点で、データベースを使用する準備が整いました。SQL Workbench クライアントからテーブル作成、データ挿入、クエリ実行などを始めることができます。
-
DB インスタンスを削除する
PostgreSQL DB インスタンスは、Amazon RDS コンソールから簡単に削除できます。ここでは、使用しなくなったインスタンスに課金され続けることがないように、削除することをお勧めします。
a.Amazon RDS コンソールに戻ります。 [Databases] (データベース) を選択し、削除したいインスタンスを選択します。それから [Actions] (アクション) のドロップダウンメニューから [Delete] (削除) を選択します。
b.最終スナップショットの作成と削除の確認を求められます。この例では、最終スナップショットは作成せず、インスタンスを削除することを確認してから [Delete] (削除) をクリックします。
注: DB インスタンスの削除には数分かかる場合があります。
おめでとうございます。
Amazon RDS を使用して、PostgreSQL データベースインスタンスの作成、接続、削除ができました。 Amazon RDS を使用すれば、クラウド内でリレーショナルデータベースを簡単にセットアップ、運用、スケールできます。このサービスは、時間がかかるデータベースの管理タスクをお客様の代わりに行い、サイズ変更が可能なコスト効率の高い容量を提供します。これにより、お客様は、ご自身のアプリケーションやビジネスに集中できます。