スズキです。
表記の件、いろいろなやり方が存在し、クラスメソッドさんのブログでも下記のように具体的に紹介されています。
- インターネットから直接Amazon RDS in VPCにアクセスできない時の解決方法
- RDS作成時に”Public Accessible”を有効にする方法です。
- Internal Port Concentrator パターン(仮)でプライベートサブネットへのアクセスを考える
- NATインスタンス&”iptables”を用いた中継サーバ(EC2)を用意する方法です。
今回は”xinetd”の”redirect”を利用して実現してみました。
具体的には下記のように、”xinetd”を利用して1521ポートをリッスンし、1521ポートへの
通信をRDS(Oracle)にリダイレクトする中継サーバ(EC2)を用意します。
xinetdのインストールは、いつもの”yum”で
# yum -y install xinetd
...
該当する”xinetd”の設定は下記の通りです。
# cat /etc/xinetd.d/oracle
service oracle
{
disable = no
type = UNLISTED
socket_type = stream
wait = no
user = nobody
protocol = tcp
port = 1521
redirect = xxx.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com 1521
}
この状態でxinetdを起動しインターネットから中継サーバの1521ポートにアクセスすると、
RDSにリダイレクトされて透過的に利用できます。