EveryDB3は、ローカルやLAN内にインストールされたDBMSだけでなく、Amazon Web Services(AWS)上に構築した
リレーショナルデータベース(RDB)にも接続できます。各サービスはMySQL/MariaDB/PostgreSQLと互換性のある
プロトコルで通信するため、EveryDB3側では専用のドライバを追加することなく、通常の
「MySQL」「MariaDB」「PostgreSQL」と同じ方法で接続できます。
本章では、以下のAWSサービスへの接続手順を解説します。
| 項番 | AWSサービス | EveryDB3で選択するDBの種類 | 既定ポート | 備考 |
|---|---|---|---|---|
| 1 | RDS for MySQL | MySQL | 3306 | |
| 2 | RDS for MariaDB | MariaDB | 3306 | |
| 3 | RDS for PostgreSQL | PostgreSQL | 5432 | |
| 4 | Aurora MySQL | MySQL | 3306 | MySQL互換 |
| 5 | Aurora PostgreSQL | PostgreSQL | 5432 | PostgreSQL互換 |
| 6 | Aurora Serverless v2 (MySQL / PostgreSQL) |
MySQL / PostgreSQL | 3306 / 5432 | 通常のエンドポイントを持つため 専用クラスタと同じ手順で接続可能 |
※Aurora Serverless v1 は本章の対象外です。 Aurora Serverless v1はData API前提の利用形態や自動停止からの起動遅延があるため、本手順では扱いません。
EveryDB3はWindows上で動作するデスクトップアプリケーションです。AWS上のRDBはVPC(仮想ネットワーク)内に配置されるため、 EveryDB3を動かすパソコンからDBエンドポイントへ到達できる経路を用意する必要があります。代表的な構成は次の3つです。
| 方式 | 概要 | 長所 | 注意点 |
|---|---|---|---|
| A. EC2上でEveryDB3を実行 (推奨) |
同一VPC内のWindows EC2インスタンス上でEveryDB3を動かし、内部からRDB接続する。 | 低遅延・高速・安全。更新処理が最も安定する。 | EC2の費用・運用が必要。JV-Link/JRA-VAN利用条件を確認のこと。 |
| B. VPN / Direct Connect 経由 | 手元のPCからVPN等で社内/自宅ネットワークとVPCを接続して内部アクセスする。 | DBをパブリック公開せずに済む。 | VPNの構築が必要。 |
| C. パブリックアクセス | RDB/Auroraを「パブリックアクセス可」にし、手元PCのグローバルIPからのみ許可する。 | 手軽に試せる。 | インターネットに公開されるため、必ずセキュリティグループでIP制限・SSL利用を行うこと。本番運用は非推奨。 |
速度・安定性・安全性の観点から、本番運用では「A. 同一VPC内のEC2でEveryDB3を実行」する構成を強く推奨します。 インターネット越し(方式C)の場合、ネットワーク遅延により更新処理が遅くなる場合があります。
EveryDB3で接続する前に、AWSマネジメントコンソール等で以下を準備してください。
mydb.xxxxxxxx.ap-northeast-1.rds.amazonaws.com3306 を許可5432 を許可AWS上のRDBでも、基本的な操作は通常のDBMSと同じく「接続設定」→「データベース作成」→「テーブル作成」の順で行います。 異なるのは、接続設定の「サーバ名」にlocalhostではなくAWSのエンドポイントを入力する点だけです。
mydb.xxxxxxxx.ap-northeast-1.rds.amazonaws.com)を入力します。
mydb.xxxxxxxx.ap-northeast-1.rds.amazonaws.com)を入力します。
※マネージドサービスの権限設定によっては、アプリケーションからのデータベース作成が許可されていない場合があります。 その場合は、あらかじめAWS側(または管理ツール)でデータベースを作成し、EveryDB3の接続設定で そのデータベースを指定してください。
インターネット経由(方式C)でAWS上のRDBに接続する場合は、通信内容の盗聴を防ぐためにSSL/TLSによる 暗号化通信を利用することを強く推奨します。EveryDB3が内部で使用するプロバイダ(MySQL/MariaDBは MySqlConnector、PostgreSQLはNpgsql)は、既定でサーバがSSLに対応していれば暗号化通信を試みます。 通常のRDS/Aurora(SSL任意)であれば、標準の接続設定のままで接続できます。
一方、DB側でSSL接続を必須化している場合(PostgreSQLのrds.force_ssl=1、
MySQLのrequire_secure_transport=ON 等)は、明示的にSSL接続を指定する必要があります。
その場合は、接続設定画面の「SSLで接続する」チェックボックスをオンにしてください。
これにより、EveryDB3が接続文字列へ自動的にSSL指定(MySQL/MariaDBはSslMode=Required;、PostgreSQLはSSL Mode=Require;)を付与します。
※「SSLで接続する」チェックボックスは、MySQL・MariaDB・PostgreSQL を選択した場合のみ有効になります。
チェックを外した場合は非SSL接続(MySQL/MariaDBはSslMode=None;、PostgreSQLはSSL Mode=Disable;)となります。
RDS/Auroraの認証局(CA)証明書(rds-ca バンドル)はAWSの公式ドキュメントから入手できます。証明書検証まで厳密に行いたい場合の指定方法は、各プロバイダおよびAWSのドキュメントを参照してください。