ClassicLink を使用して、クラシックネットワークタイプの Elastic Compute Service (ECS) インスタンスを、Virtual Private Cloud (VPC) 内にある ApsaraDB RDS for PostgreSQL インスタンスに接続します。
このトピックは、ECS インスタンスがクラシックネットワークに、RDS インスタンスが VPC にあり、両方が同じリージョンにある場合に適用されます。ECS インスタンスを RDS インスタンスと同じ VPC に移行できる場合、そのアプローチでは ClassicLink を使用せずに直接的な内部ネットワーク接続が提供されます。移行手順については、「クラシックネットワークから VPC への ECS インスタンスの移行」をご参照ください。
背景情報
標準 SSD または拡張 SSD (ESSD) を使用する ApsaraDB RDS for PostgreSQL インスタンスは、クラシックネットワークをサポートしなくなりました。ECS インスタンスの VPC への移行がすぐに実現できない場合、ClassicLink を使用すると、クラシックネットワークタイプの ECS インスタンスが内部ネットワーク経由で VPC タイプの RDS インスタンスにアクセスできるようになります。
前提条件
開始する前に、以下を確認してください。
-
ECS インスタンスは [クラシックネットワーク] にあります
-
RDS インスタンスは [VPC] 内にあります
-
ECS インスタンスと RDS インスタンスが同じリージョンにあること
-
ECS インスタンスのプライベート IP アドレスが RDS インスタンスの IP アドレスホワイトリストに追加されていること。詳細については、「IP アドレスホワイトリストの設定」をご参照ください
インスタンスの接続
ステップ 1: VPC での ClassicLink の有効化
-
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部のメニューで、RDS インスタンスが存在するリージョンを選択します。RDS インスタンスを見つけて、その ID をクリックします。
-
左側のナビゲーションペインで、[データベース接続] をクリックします。
-
[ネットワークタイプ] の横にある VPC ID をクリックして、VPC コンソールを開きます。

-
右上隅の [ClassicLink を有効化] をクリックします。

-
確認ダイアログボックスで、[OK] をクリックします。
ステップ 2: ECS インスタンスへの ClassicLink セキュリティグループルールの追加
-
ECS コンソールにログインします。
-
左側のナビゲーションペインで、[インスタンスとイメージ] > [インスタンス] を選択します。上部のメニューで、リージョンを選択します。
-
クラシックネットワークタイプの ECS インスタンスを見つけます。[操作] 列の
アイコンをクリックし、[ネットワークとセキュリティグループ] > [VPC に接続] を選択します。 -
表示されるダイアログボックスで、[VPC] パラメーターを設定し、[確認] をクリックします。
-
[インスタンスのセキュリティグループリストに移動して ClassicLink ルールを追加] をクリックします。

-
セキュリティグループの [操作] 列で、 をクリックします。
-
[セキュリティグループルール] ページで、右上隅の [ClassicLink ルールを追加] をクリックします。次の表のパラメーターを使用してルールを設定し、[OK] をクリックします。
パラメーター 説明 [クラシックセキュリティグループ] クラシックネットワークのセキュリティグループです。事前に入力されているため、操作は不要です。 [VPC を選択] ルールを追加する VPC です。 [VPC タイプセキュリティグループ] 接続先の VPC 内のセキュリティグループです。 [モード] アクセスの方向です。[クラシック <=> VPC] (推奨) を選択して、クラシックネットワークと VPC 間の双方向アクセスを許可します。または、[クラシックネットワーク => VPC] を選択してクラシックネットワークから VPC への一方向アクセスを許可するか、[VPC => クラシックネットワーク] を選択して VPC からクラシックネットワークへの一方向アクセスを許可します。 [プロトコルタイプ] 通信で使用されるプロトコルです。デフォルトは カスタム TCP で、変更は不要です。 [ポート範囲] xx/xx形式のポート範囲です。デフォルトの PostgreSQL ポートを許可するには、5432/5432と入力します。[優先度] ルールの優先度です。値が小さいほど優先度が高くなります。例: 1。[説明] ルールの任意の説明です。 
ステップ 3: RDS インスタンスへの接続
-
PostgreSQL クライアントが ECS インスタンスにインストールされており、データベースアカウントが RDS インスタンスに存在することを確認してください。
-
ECS インスタンスから、次のコマンドを実行して、内部エンドポイントを使用して RDS インスタンスに接続します。
psql \ --host=<internal-endpoint> \ --port=<port-number> \ --username=<database-account> \ --dbname=<database-name>プレースホルダーを実際の値に置き換えてください。
プレースホルダー 説明 <internal-endpoint>RDS インスタンスの内部エンドポイントです。RDS コンソールの [データベース接続] ページで確認できます <port-number>RDS インスタンスのポート番号です (デフォルト: 5432)<database-account>データベースアカウント名です <database-name>接続するデータベースの名前です RDS インスタンスへの接続の詳細については、「ApsaraDB RDS for PostgreSQL インスタンスへの接続」をご参照ください。
トラブルシューティング
接続に失敗した場合は、以下を確認してください。
-
VPC で ClassicLink が有効になっているか — [VPC コンソール] に移動し、RDS インスタンスが存在する VPC で ClassicLink が有効として表示されていることを確認してください。
-
セキュリティグループルールが正しく設定されているか — ECS セキュリティグループの ClassicLink ルールにポート
5432が含まれ、[クラシック <=> VPC] モードが使用されていることを確認してください。 -
ECS のプライベート IP アドレスが RDS のホワイトリストに含まれているか — RDS コンソールの [ホワイトリスト設定] ページで、ECS インスタンスのプライベート IP アドレスが IP アドレスホワイトリストに記載されていることを確認してください。
-
ECS と RDS インスタンスが同じリージョンにあるか — ClassicLink はリージョンをまたいで機能しません。
-
ポート番号が一致しているか — セキュリティグループルールと
psqlコマンドのポートが、RDS インスタンスで設定されているポートと一致していることを確認してください。