このトピックでは、Elastic Compute Service (ECS) インスタンスを内部ネットワーク経由でApsaraDB RDS for SQL Serverインスタンスに接続できない、または別のデバイスをインターネット経由でRDSインスタンスに接続できないという問題を解決する方法について説明します。
問題の説明
内部ネットワークを介してECSインスタンスをRDSインスタンスに接続すると、次のエラーメッセージが表示されます。
Cannot connect to XXX Cannot connect to XXX.
When you attempt to connect to an ApsaraDB RDS for SQL Server instance, a network-related or instance-specific error occurs. The server was not found or was inaccessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ) (Microsoft SQL Server, Error code: 10060 or 258)
解決策
以下の点にご注意ください。
インスタンスの設定やデータの変更など、リスクの高い操作を実行する前に、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認して、データのセキュリティを確保することを推奨します。
ECSインスタンスやRDSインスタンスなどのインスタンスの設定やデータを変更する前に、スナップショットを作成するか、インスタンスのバックアップを有効にすることを推奨します。 たとえば、RDSインスタンスのログバックアップを有効にできます。
Alibaba Cloud管理コンソールで機密情報に対する権限を付与した場合、またはユーザー名やパスワードなどの機密情報を送信した場合は、できるだけ早い機会に機密情報を変更することを推奨します。
内部ネットワーク経由でECSインスタンスをRDSインスタンスに接続できない問題
ECSインスタンスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。
RDSインスタンスの内部エンドポイントを使用してECSインスタンスをRDSインスタンスに接続する前に、ECSインスタンスのプライベートIPアドレスをRDSインスタンスのIPアドレスホワイトリストに追加する必要があります。 詳細については、「IPアドレスホワイトリストの設定」および「ECSインスタンスのIPアドレスを照会する方法」をご参照ください。
説明ECSインスタンスのパブリックIPアドレスのみをRDSインスタンスのIPアドレスホワイトリストに追加した場合、RDSインスタンスの内部エンドポイントを使用してECSインスタンスをRDSインスタンスに接続することはできません。
ECSインスタンスとRDSインスタンスが同じリージョンにあることを確認します。
ECSインスタンスを内部ネットワーク経由でRDSインスタンスに接続できるのは、これらのインスタンスが同じリージョンにある場合のみです。 これらのインスタンスは、同じリージョンの同じゾーンまたは異なるゾーンに存在できます。
ECSインスタンスとRDSインスタンスが異なるリージョンにある場合、これらのインスタンスは内部ネットワークを介して相互に直接通信することはできません。 この場合、次のいずれかの方法を使用して問題を解決できます。
方法1:
方法2:
RDSインスタンスのパブリックエンドポイントを使用して、インターネット経由でECSインスタンスをRDSインスタンスに接続します。 この方法では、最適なパフォーマンスや高いセキュリティと安定性を実現できません。 詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
方法3:
RDSインスタンスとECSインスタンスのネットワークタイプが仮想プライベートクラウド (VPC) の場合、cloud Enterprise network (CEN) インスタンスを使用して、リージョン間でインスタンスのVPCを接続します。 詳細については、「概要」をご参照ください。
ECSインスタンスとRDSインスタンスがVPCまたはクラシックネットワークにあることを確認します。
1つのインスタンスがクラシックネットワークにあり、もう1つのインスタンスがVPCにある場合、次のいずれかの方法で問題を解決します。
重要クラシックネットワークタイプを使用するAlibaba Cloudリソースは段階的に廃止されています。 RDSインスタンスまたはECSインスタンスがクラシックネットワークタイプを使用している場合、インスタンスのネットワークタイプをVPCに変更することを推奨します。 詳細については、[製品の変更 /機能の変更] Alibaba Cloudは、クラシックネットワークタイプのApsaraDB RDSインスタンスを段階的に廃止する予定です」および「クラシックネットワーク内のAlibaba Cloud ECSインスタンスのEOL通知」をご参照ください。
ECSインスタンスがVPCにあり、RDSインスタンスがクラシックネットワークにあるシナリオに適した方法:
方法1: RDSインスタンスをクラシックネットワークから、接続するECSインスタンスが存在するVPCに移行します。 これは推奨される方法です。 詳細については、「ネットワークタイプの変更」をご参照ください。
方法2: RDSインスタンスのパブリックエンドポイントを使用して、インターネット経由でECSインスタンスをRDSインスタンスに接続します。 この方法では、最適なパフォーマンスや高いセキュリティと安定性を実現できません。 詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
ECSインスタンスがクラシックネットワークにあり、RDSインスタンスがVPCにあるシナリオに適した方法:
方法1: ECSインスタンスをクラシックネットワークから、接続するRDSインスタンスが存在するVPCに移行します。 これは推奨される方法です。 [ネットワークタイプ] ページの右側にある [接続の詳細の表示] をクリックすると、RDSインスタンスが存在するVPCのIDが表示されます。 詳細については、「クラシックネットワークからVPCへのECSインスタンスの移行」をご参照ください。
方法2: ClassicLink機能を使用して、クラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンスの間に内部ネットワーク接続を確立します。 ClassicLink機能の詳細については、「ClassicLinkの有効化」をご参照ください。
説明ClassicLink機能の使用後、クラシックネットワークタイプのECSインスタンスとVPCタイプのRDSインスタンス間の内部ネットワーク接続を確立できない場合は、ClassicLink接続を確立した後のクラシックネットワークとVPC間の接続の問題のトラブルシューティングの説明に基づいて問題を処理します。
方法3: RDSインスタンスのパブリックエンドポイントを使用してECSインスタンスをRDSインスタンスに接続します。この方法では、最適なパフォーマンスや高いセキュリティと安定性を実現できません。 パブリックエンドポイントを申請する方法の詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
ECSインスタンスとRDSインスタンスがVPCネットワークタイプを使用している場合は、ECSインスタンスとRDSインスタンスが同じVPCにあるかどうかを確認します。
ECSインスタンスとRDSインスタンスが異なるVPCにある場合、次のいずれかの方法で問題を解決します。
方法1: ECSインスタンスをRDSインスタンスが存在するVPCに移行します。 これは推奨される方法です。 詳細については、「ECSインスタンスのVPCの変更」をご参照ください。
方法2: ECSインスタンスが存在するVPCにRDSインスタンスを移行します。 詳細については、「VPCとvSwitchの変更」をご参照ください。
方法3: CENインスタンスを作成して、2つのVPC間の接続を確立します。 詳細については、「CENを使用したリージョン内ネットワーク通信の有効化」をご参照ください。
方法4: RDSインスタンスのパブリックエンドポイントを使用して、ECSインスタンスをRDSインスタンスに接続します。 この方法では、最適なパフォーマンスや高いセキュリティと安定性を実現できません。 パブリックエンドポイントを申請する方法の詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
0.0.0.0
エントリがRDSインスタンスのIPアドレスホワイトリストに追加されているかどうかを確認します。 有効な形式は0.0.0.0/0
です。重要0.0.0.0/0
は、すべてのデバイスがRDSインスタンスにアクセスできることを示します。 これは潜在的なセキュリティリスクを引き起こす可能性があります。 作業は慎重に行ってください。RDSインスタンスのIPアドレスとポート番号がECSインスタンスに正しく設定されているかどうかを確認します。 詳細については、「エンドポイントとポート番号の表示と変更」をご参照ください。
ECSインスタンスではなくデバイスをインターネット経由でRDSインスタンスに接続できない問題
RDSインスタンスにアクセスするには、IPアドレスの代わりに内部ドメイン名を使用することを推奨します。 RDSインスタンスの移行に伴い、IPアドレスが変更される場合があります。
ECSインスタンスではなくデバイスをRDSインスタンスに接続できるのは、インターネット経由でのみです。 接続に失敗した場合は、次の手順を実行して問題を解決します。
接続に使用するエンドポイントがRDSインスタンスの内部エンドポイントであるかどうかを確認します。
エンドポイントをRDSインスタンスのパブリックエンドポイントに変更する必要があります。 詳細については、「エンドポイントとポート番号の表示と変更」をご参照ください。
説明ECSインスタンスまたはデータ管理 (DMS) ではなくデバイスを内部ネットワーク経由でRDSインスタンスに接続する場合は、Express connect回線を使用します。 詳細については、「」をご参照ください。Express Connect回路を介した接続とは何ですか?
デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されているかどうかを確認します。 デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていない場合、RDSインスタンスのIPアドレスホワイトリストにIPアドレスを追加する必要があります。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。
ホワイトリストは
0.0.0.0
に設定されています。 有効な形式は0.0.0.0/0
です。重要0.0.0.0/0
は、すべてのデバイスがRDSインスタンスにアクセスできることを示します。 これは潜在的なセキュリティリスクを引き起こす可能性があります。 作業は慎重に行ってください。デバイスのIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加された場合、IPアドレスホワイトリストに追加されたデバイスのパブリックIPアドレスが正しくないため、接続が失敗する可能性があります。 この問題は、次のいずれかの理由で発生します。
パブリックIPアドレスが動的に変更されます。
パブリックIPアドレスの照会に使用されるツールまたはWebサイトは、不正確な結果を返します。
説明パブリックIPアドレスを取得する方法の詳細については、「ApsaraDB RDS for SQL serverインスタンスに接続されている外部サーバーまたはクライアントのパブリックIPアドレスを取得するにはどうすればよいですか。 」をご参照ください。
適用範囲
ApsaraDB RDS for SQL Server