ClassicLink を使用して、クラシックネットワークタイプの Elastic Compute Service (ECS) インスタンスを、VPC (Virtual Private Cloud) 内にある 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 インスタンスで設定されているポートと一致していることを確認します。