TransitGateway経由でのデータベース接続方法について

質問

⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。

🕓 事例公開日 : 2024-11-26

【背景】

TransitGatewayが設置された環境で、社内ネットワークからAccel-Mart Plus環境のデータベースに接続を試みている。SFTPポート(20022)への接続は正常に動作するが、データベースポート(25432)への接続でエラーが発生している状況。



Q1.

社内環境からTransitGateway経由でデータベースに接続する際、APサーバのプライベートIPアドレスを指定して接続を試みているが、「対象のコンピューターによって拒否されたため、接続できませんでした」というエラーが表示される。データベース接続に秘密鍵が必要なのか、また正しい接続設定方法を教えてください。

Q2.

APサーバとDBサーバで異なるIPアドレスが割り当てられている場合、そのアドレス情報を教えてください。

回答

A1.

Accel-Mart Plusでは、IPアドレスを指定したデータベース接続は推奨しておりません。理由は以下の通りです:

・IPアドレスは動的に変更される可能性があるため
・RDSエンドポイントを使用した接続が推奨されている

AWS公式でも以下のように案内されています:
「Amazon RDS では、IP アドレスは動的ですが、エンドポイントは静的です。したがって、エンドポイントを使用してインスタンスに接続するのがベストプラクティスです。」

社内環境からTransitGateway経由でデータベースに接続するには、以下の有償オプションをご利用ください:



Route53 Resolverオプション
・Accel-Mart Plus側のRoute53 Resolverを使用
・プライベートIPアドレスをDNSで解決する方法
・有償オプションのため、営業担当までお問い合わせください

標準サービスでは上記方法のみ対応しており、それ以外の方法は受け付けておりません。



代替案
どうしても他の方法をご希望の場合は、「Accel-Mart Plus マネージドサービス」(有償)で個別対応が可能な場合があります。詳細は営業担当にご相談ください。

参考:プライベートIP取得方法
iAP上でnslookupコマンドを実行してIPアドレスを動的に取得する実装も可能です(IPアドレス変更を許容する前提):
let targetDnsName = "accelmartdb.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com";let result = execute("nslookup " + targetDnsName);let answerPart = result.output.substring(result.output.indexOf(targetDnsName));let ipAddr = answerPart.substring(answerPart.indexOf("Address:") + "Address:".length).trim();
Debug.browse(result, ipAddr);
上記は、以下の nslookup コマンドを AP サーバ上で実行し、出力されたプライベート IP アドレスを抽出する実装例となります。
$ nslookup accelmartdb.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.comServer:     xx.xx.x.xAddress:    xx.xx.x.x#53
Non-authoritative answer:

accelmartdb.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com canonical name = ec2-xx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com.
Name: ec2-xx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
Address: xx.xx.x.xx

実装時はお客様の責任で十分な検証を実施してください。

参考ドキュメント:
PostgreSQLの接続
スクリプト開発モデル プログラミングガイド



A2.

APサーバとRDSは別のインスタンスで稼働しているため、APサーバにアクセスしてもRDSに接続することはできません。 各プランのサーバ構成については以下をご確認ください:
標準リソースプラン

データベース接続には必ずRDSエンドポイントをご使用ください。IPアドレス直接指定による接続は動的IP変更のリスクがあるため推奨しておりません。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk