Amazon RDSに関連するキーワード

Amazon Relational Database Service (RDS)について


RDS(Relational Database Service)はAWSのデータベースサービスです。

RDSを使うと、EC2がなくても簡単かつスピーディーにAWS上にデータベースを構築する事ができます。

また、RDSはマネージドサービスであるため、面倒なOSのパッチ当てやミドルウェアのアップデートなどは全てユーザーが意識する事なく、勝手にやってくれます。そのため、ユーザーの負担は軽減され、最も重要な作業に意識を集中させる事ができます。

加えて、RDSは冗長化やレプリケーションにも対応している為、可用性も確保できます。

RDSの作成について

RDSで利用可能なエンジン

RDSで利用できるRDBをエンジンと呼称しています。単純にMySQLやOracleなどのRDS製品をエンジンと呼んでいるのだと思って頂ければOKです。

利用可能なエンジンは以下です。

・AmazonAurora
・MySQL
・MariaDB
・PostgreSQL
・Oracle
・Microsoft SQL Server

各エンジンのバージョンも指定可能です。

RDSの作成

AWSの無料枠でRDSを作成してみましょう

実際にRDSを作成してみました。

まず、AWSのマネージドコンソールからサービスでRDSと検索し、RDSの画面を開きます。その際、リージョンは東京を選択しました。

次にデータベースの作成ボタンをクリックし、以下のように選択しました。

  • ・データベース作成方法 : 簡単作成
  • ・エンジンのオプション : PostgreSQL
  • ・バージョン : 11.5-R1
  • ・テンプレート : 無料利用枠
  • ・DBインスタンス接続子 : デフォルト
  • ・マスターユーザー名 : 任意のユーザー名
  • ・マスターパスワード : 任意のパスワード
  • ※その他の項目はすべてデフォルトします。

最後にページ下部のデータベースの作成ボタンをクリックすると、RDSが作成されます。立ち上がるまで、時間がかかる事があるため、焦らず待ちましょう。

その後、ステータスが利用可能となったらOKです。

RDSに接続してみましょう

使い方説明 : 接続前にエンドポイントを確認

無事RDSが作成できたら、まずエンドポイントを確認します。

何故かというと、RDSは特定のOS上で動作している訳ではないので、IPアドレスを指定してアクセスはできません。その為、IPアドレスの代わりにエンドポイントを指定します。

作成したRDSの一覧を表示し、DB識別子をクリックします。接続とセキュリティの項目を表示すると、エンドポイントが確認できます。

使い方説明 : クライアントツールから接続してみる

エンドポイントが判明したら、クライアント側で、以下のように接続設定を作成します。

  • ホスト名/アドレス : エンドポイント
  • ポート番号 : 5432
  • 管理用データベース : postgres
  • ユーザ名 : マスターユーザー名
  • パスワード : マスターパスワード

あれ? 接続できない...なぜ?

多くの人がここで、ハマってしまうと思います。実際、私も最初は接続NGとなり、ハマりました。

接続NGで最も多い原因はセキュリティグループの設定です。簡単作成で作成すると、デフォルトのセキリティグループが割り当てられるのですが、これを確認してみてください。ポート : 5432 が許可されていない場合は許可のルールを追加してください。

それでも接続できない場合は、RDSの設定で、パブリックアクセシビリティが なし に設定されている事が原因かもしれません。私の場合、犯人はコイツでした。

接続とセキュリティの項目で確認できますので、なしの場合はありに変更しましょう。

設定変更に少し時間がかかります。変更完了後、再度接続を試したところ、問題なく接続できました。

使い方説明 : アプリケーションから接続してみる

今回はJavaで簡単なプログラムを作成して、RDSに簡単なSELECT文を発行してみました。

postgreSQLに接続する為のJDBCドライバを使って接続する事は同じで、変更すべき点はホスト名の指定をエンドポイントに変更するだけです。

試しにrds_test という名前のテーブルを作成してid,name列を定義して適当にデータをINSERTしておきます。

Connection conn = null;
Statment stmt = null;
Resultset rs = null;

//XXXX の部分をエンドポイントにしてください。
String url = "jdbc:postgresql://XXXX:5432/postgres";
String user = ※マスタユーザーパスワード
String password = ※マスターユーザーパスワード

try{
	conn = DriverManager.getConnection(url,user,password);
	conn.setAutoCommit(false);
	
	stmt = conn.createStatement();
	rs = stmt.executeQuery(“SELECT id,name FROM rds_test”);

	while(rs.next()){
		System.out.println(rs.getString(“id”));
		System.out.println(rs.getString(“name”));
}
	
}catch(e){
	e.printStackTrace();
}finally{
		try{
			if(rs != null)rs.close();
			if(stmt != null)stmt.close();
			if(conn != null)conn.close();
}catch(e2){
	e2.printStackTrace();
}
}

import文は適宜設定してください。

無事コンソールにSELECTしたデータが表示されればOKです。

まとめ

如何でしょうか、RDSの基本的な使い方は難しくないのですが、ハマるポイントがあるので、焦らずAWSセキュリティ設定を確認したほうがよいでしょう。

今回は使い方のほんの一部紹介させて頂きましたが、RDSはその他のAWSサービスといろいろと連携できるので、お試し頂くと更にAWSの理解が深まるのではないでしょうか。

AWSは世界中でユーザーが多く、インターネットで検索すれば、ほしい情報にアクセスしやすいので、様々な使い方をマスターしてください。




Amazon RDSのレビュー・評価

Amazon Relational Database Service (RDS)について のレビュー

2020年05月19日