すべてのプロダクト
Search
ドキュメントセンター

:ルーティングの問題により、ECSがRDSインスタンスに接続できない

最終更新日:Jan 18, 2024

説明

ECSインスタンスとRDSインスタンスは同じVPCおよびリージョンにあります。 したがって、イントラネットアドレス (インターネットアドレスを使用して接続可能) を使用してRDSインスタンスに接続することはできず、ping操作とtelnet操作の両方が失敗します。

原因

Dockerなどのサービスがインストールされているため、ルーティングテーブルのエントリが変更されます。

ソリューション

重要

以下の点にご注意ください。

  • インスタンス設定やデータの変更など、リスクを引き起こす可能性のある操作を実行する前に、データのセキュリティを確保するために、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認することを推奨します。

  • ECS (Elastic Compute Service) およびRDS (Relational Database Service) インスタンスを含むインスタンスの設定およびデータを変更できます。 変更前に、スナップショットを作成するか、RDSログバックアップを有効にすることを推奨します。

  • Alibaba Cloud管理コンソールでログオンアカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、そのような情報をタイムリーに変更することを推奨します。

  1. 問題のあるECSインスタンスにログインし、次のコマンドを実行してpingコマンドを使用し、RDSインスタンスの内部IPアドレスをテストします。

    ピンg rm-XXX-mysql.rds.aliyuncs.com

    同様の出力が表示されます。これは、RDSインスタンスをpingできない場合でも、RDSインスタンスのイントラネットIPアドレスを取得できることを示しています。

  2. 次のコマンドを実行して、ECSインスタンスのルートテーブル情報を表示します。

    ルート-n

    同様のルートエントリがシステムに表示されている場合は、Dockerおよび他のサービスのルートエントリが追加されていることを確認します (通常のECSインスタンスのルートテーブルと比較して確認することもできます) 。

  3. 次のコマンドを実行して、ルートエントリを追加します。

    route add -net [$ネットワーク] gw [$ゲートウェイ] dev [$Network_Card]
    説明
    • 実行環境にこのルートエントリを追加しても、現在のビジネスに影響がないことを確認してください。

    • [$Network] は、RDSインスタンスが配置されているCIDRブロックです。

    • [$Gateway] はゲートウェイのアドレスです。 ECSインスタンスの内部エンドポイントを使用できます。

    • [$Network_Card] は、ECSインスタンスがネットワークインターフェイスコントローラー名のイントラネットIPアドレスを一般的にeth0で使用してはならないことです。

  4. 次のコマンドを実行して、正常にpingできることを確認します。

    ピンg rm-XXX-mysql.rds.aliyuncs.com

適用可能性

  • ECS

  • RDS