ApsaraDB RDS for MySQL インスタンスを作成した後、ホワイトリストに IP アドレスを追加して、それらの IP アドレスを使用するデバイスが RDS インスタンスにアクセスできるようにします。
前提条件
ApsaraDB RDS for MySQL インスタンスが作成済みであること。
手順
ApsaraDB RDS には、表示されないデフォルトのシステムホワイトリストがあり、システムアカウントがデータベースの運用保守操作を実行することを許可します。 詳細については、「システムアカウント」をご参照ください。
-
RDS インスタンスリストを開き、上部でリージョンを選択し、対象インスタンスの ID をクリックします。
-
左側のメニューで ホワイトリストとセキュリティグループ をクリックします。
-
IP アドレスホワイトリストモードを確認します。
説明MySQL 5.5、5.6、または 5.7 を実行し、プレミアムローカル SSD を使用するインスタンスは、高セキュリティモードに切り替えることができます。 他のバージョンまたはストレージタイプのインスタンスは、通常モードを使用します。
-
default グループの右側で、変更 をクリックします。表示されたダイアログボックスで、IP アドレスをホワイトリストに追加します。
説明-
必要に応じて グループを追加する をクリックし、カスタムグループ名を指定することもできます。
-
グループは IP アドレスの管理にのみ使用され、実際のアクセス権には影響しません。 すべてのグループの IP アドレスは、RDS インスタンスに対して同じアクセス権を持ちます。
-
方法 1: アプリケーションサーバーの IP アドレスを IP アドレス フィールドに追加します。 アプリケーションサーバーの IP アドレスを表示するには、「付録:アプリケーションサーバーの IP アドレスの取得方法」をご参照ください。 ローカルのインターネット IP アドレスをロードします (ローカルネットワークプロキシが有効になっている場合は、まず先に無効にしてください) をクリックして、ローカルデバイスのパブリック IP アドレスを直接追加することもできます。
説明-
複数の IP アドレスはコンマ (,) で区切り、コンマの前後にスペースを追加しないでください。
-
1 つのインスタンスに最大 1,000 個の IP アドレスまたは CIDR ブロックを追加できます。 IP アドレスが多数ある場合は、個々の IP アドレスを
10.10.10.0/24などの CIDR ブロックに統合します。 -
ホワイトリストモードが高セキュリティモードの場合は、次の点にご注意ください:
-
パブリック IP アドレスを [クラシックネットワーク] グループに追加します。
-
VPC 内の ECS インスタンスのプライベート IP アドレスを [VPC] グループに追加します。
-
-
-
方法 2: [ECS プライベート IP の読み込み] をクリックして、現在の Alibaba Cloud アカウントとリージョン内のすべての ECS インスタンスの IP アドレスを表示します。 これにより、ECS プライベート IP アドレスをホワイトリストにすばやく追加できます。 [グループ内ホワイトリスト] 転送ボックスで、対象の IP アドレスを右側の [設定済み] リストに移動し、[OK] をクリックしてホワイトリストエントリを追加します。
説明ホワイトリストに追加する必要がある IP アドレスは、RDS にアクセスするコンピューティングリソースによって異なります。 状況に合った方法を選択してください:
-
Simple Application Server: Simple Application Server のプライベート IP アドレスを取得し、RDS ホワイトリストに追加します。
-
ACK Serverless クラスター: Pod はデフォルトで NAT ゲートウェイを介してインターネットにアクセスします。 クラスターのプライベート CIDR ブロックではなく、NAT ゲートウェイの Egress パブリック IP アドレス (NAT ゲートウェイコンソールの SNAT エントリで確認できます) を RDS ホワイトリストに追加します。
-
EMR および動的 IP アドレスを持つ他のクラスター: ソース IP アドレスは動的に変化するため、ホワイトリストを CIDR ブロック (CIDR 形式、例:
10.0.0.0/16) で設定し、考えられる IP アドレス範囲を網羅して、IP アドレスの変更によるアクセス障害を防ぎます。 -
アカウント間の ECS/VPC 接続: Cloud Enterprise Network (CEN) や VPC ピアリングなどのプライベートネットワークを介して接続されている場合は、アカウント間アクセスであるかどうかに関わらず、アプリケーション側の ECS インスタンスのプライベート IP アドレスを RDS ホワイトリストに追加します。
IP アドレスを追加すると、アプリケーションサーバーは RDS インスタンスにアクセスできるようになります。
-
-
[OK] をクリックします。
ベストプラクティスとセキュリティに関する推奨事項
-
パブリックネットワークアクセスのセキュリティ: パブリックエンドポイントを有効にすると、セキュリティリスクが生じます。 ホワイトリストをビジネスで必要なパブリック IP アドレスに厳密に制限し、
0.0.0.0/0を使用してすべての IP アドレスを許可しないでください。 予期しない IP アドレスからの接続を検出した場合は、それが正当なビジネスホストからのものか、または長時間実行されているトランザクションが解放されていないかを確認します。 ホストがビジネスホストでない場合は、直ちにホワイトリストポリシーを変更してください。 -
ブルートフォース攻撃からの保護: まず IP アドレスホワイトリストを使用して、信頼できる IP アドレスへのアクセスを制限します。 これにより、接続元での不正な接続試行が減少します。 SSL 暗号化とパスワードの複雑性ポリシーを使用して、セキュリティを向上させることもできます。
-
VPC CIDR ブロックの設定: 大きな VPC CIDR ブロック (例:
172.16.0.0/12) をホワイトリストに追加すると、その CIDR ブロック内のすべての IP アドレスが RDS にアクセスできます。 vSwitch の CIDR ブロックを個別に追加する必要はありません。 最小権限の原則に従うには、大きな CIDR ブロックを削除し、代わりに特定の ECS インスタンスのプライベート IP アドレスを指定します。 -
内部ネットワークと外部ネットワークの個別設定: プライベートネットワークアクセスを無制限にし、指定されたパブリック IP アドレスのみを許可するには、プライベート VPC CIDR ブロックをプライベートネットワークのホワイトリストグループに追加し、指定されたパブリック IP アドレスをパブリックネットワークのホワイトリストグループに追加します。
次のステップ
関連資料
-
API: ModifySecurityIps
-
他のデータベースエンジンについては、以下をご参照ください:
よくある質問
-
Q: ホワイトリストにない IP アドレスが RDS にアクセスできるのはなぜですか?
A: 以下を確認してください:
-
すべてのホワイトリストグループを確認し、
0.0.0.0/0が含まれていないかチェックします。0.0.0.0/0はすべての IP アドレスからの RDS へのアクセスを許可し、セキュリティリスクをもたらします。 これを削除し、信頼できる IP アドレスのみを許可してください。 -
すべてのセキュリティグループを確認し、その IP アドレスが含まれていないかチェックします。 セキュリティグループに IP アドレスが含まれている場合、そのアドレスは RDS にアクセスできます。
-
-
Q: インターネットアクセスを有効にせずに、コンピューターから RDS にアクセスするにはどうすればよいですか?
A: プライベートネットワーク接続を確立します。 詳細については、「VPC とデータセンターまたは他のクラウドとの接続」をご参照ください。
-
Q: アプリケーション側の IP アドレスが常に変化し、固定 IP アドレスがありません。 RDS データベースのホワイトリストはどのように設定すればよいですか?
A: 固定 IP アドレスがない場合、
0.0.0.0/0(すべての IP アドレスからの RDS へのアクセスを許可するため、セキュリティ上の理由から推奨されません) を設定しないでください。 IP ベースのアクセス制御の代わりに、ID ベースのアクセス制御を使用します。 たとえば、以下の方法があります:-
動的 DNS サービスの使用: 動的 DNS を使用して、動的 IP アドレスに対応するドメイン名を取得し、そのドメイン名または名前解決された IP アドレスをデータベースのホワイトリストに追加します。
-
リバースプロキシまたはロードバランサーの設定: ユーザー側からのすべてのアプリケーションリクエストをリバースプロキシサーバーまたはロードバランサーを介してデータベースに転送し、プロキシサーバーの固定 IP アドレスのみをデータベースのホワイトリストに追加します。
-
ホワイトリストの定期的な更新: ISP によって割り当てられた家庭用ブロードバンド IP アドレスなど、IP アドレスが特定の範囲内で変更される場合は、これらの IP アドレスを定期的に取得してホワイトリストを更新します。
-
-
Q: RDS コンソールでホワイトリストを追加すると、
InvalidSecurityIPListLength.Malformedというエラーが返されるのはなぜですか?問題の説明
RDS コンソールでホワイトリストを追加すると、次のエラーが発生することがあります:
Error code: InvalidSecurityIPListLength.Malformed Error message (Chinese): The security IP address is not in the available range or is already occupied. Error message (English): The security ip address is not in the available range or occupied.ソリューション
-
原因 1: 単一のホワイトリストグループは最大 1,000 個の IP アドレスまたは CIDR ブロックをサポートしますが、新たに追加した IP アドレスがこの制限を超えています。
ソリューション: 単一のホワイトリストグループに 1,000 個を超える IP アドレスまたは CIDR ブロックが含まれていないことを確認します。 個々の IP アドレスを
192.168.1.0/24などの CIDR ブロックに統合して、エントリ数を減らします。 -
原因 2: 追加した IP アドレスホワイトリストに無効なアドレスが含まれています。
ソリューション: 入力する IP アドレスが有効であることを確認します。 1 から 32 の範囲のマスクを持つ標準の CIDR 形式 (例:
10.23.12.0/24) を使用します。 複数の IP アドレスを追加するには、コンマ (,) で区切ります。 -
原因 3: 追加した IP アドレスが既存のホワイトリストと競合しています。 たとえば、RDS MySQL では、
192.168.1.8と192.168.1.1/8が競合します。ソリューション: 実際の要件に基づいてホワイトリストエントリを計画および追加し、既存のルールとの重複や競合を回避します。
説明システム機能や接続のセキュリティに影響を及ぼす可能性があるため、デフォルトグループ
default(127.0.0.1を含む) を削除したり、システムグループ (ali_dms_groupやhdm_security_ipsなど) を変更したりしないでください。 -
付録: 内部ネットワークアクセスの条件が満たされているかどうかを確認する
- のリージョンを表示します。ECSアプリケーションがデプロイされているインスタンス。また、ECSインスタンスのネットワークタイプも表示します。詳細については、「前提条件」をご参照ください。
- RDSインスタンスのリージョンとネットワークタイプを表示します。 ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。 表示されるページで、RDSインスタンスのリージョン、ネットワークタイプ、および仮想プライベートクラウド (VPC) IDを表示できます。

- ECSインスタンスとRDSインスタンスが、内部ネットワークを介した通信で次の条件を満たしているかどうかを確認します。
- ECSインスタンスとRDSインスタンスは同じリージョンにあります。
- ECSインスタンスとRDSインスタンスは、同じタイプのネットワークに存在します。 ECSインスタンスとRDSインスタンスの両方がVPCに存在する場合、これらのインスタンスは同じVPCに存在する必要があります。
説明 上記のいずれかの条件が満たされない場合、ECSインスタンスは内部ネットワークを介してRDSインスタンスと通信できません。
付録:アプリケーションサーバーの IP アドレスの取得方法
表 1. アプリケーションサーバーの IP アドレスの取得方法
|
シナリオ |
必要な IP アドレス |
取得方法 |
|
プライベートネットワークのアクセス要件が満たされている |
ACK クラスター内のコンテナの IP アドレス |
対象の ACK クラスターの Pod ページで、Pod の IP アドレスとノードの IP アドレスを確認できます。 |
|
ECS インスタンスのプライベート IP アドレス |
ECS インスタンスリストを開き、リージョンを選択し、インスタンスリストでプライベート IP アドレスとパブリック IP アドレスを表示します。 |
|
|
プライベートネットワークのアクセス要件が満たされていない |
ECS インスタンスのパブリック IP アドレス |
|
|
ローカルデバイスから RDS インスタンスにアクセスする必要がある |
ローカルデバイスのパブリック IP アドレス |
説明
パブリック IP アドレスは、データベースのアップグレードや設定変更中に変更されることがあります。 ローカル IP アドレスをホワイトリストに追加しても接続できない場合は、「ApsaraDB RDS 接続用のパブリック IP の検索」を参照してトラブルシューティングを行ってください。 |
付録:システムのデフォルトホワイトリスト
DMS、DTS、および DAS サービスが RDS MySQL と連携するとき、システムは通常のアクセスを確保するために、次のホワイトリストグループを自動的に追加します。
|
グループ名 |
説明 |
|
dms |
DMS が RDS MySQL インスタンスにログインするために使用されます。 |
|
dts |
DTS がデータ転送に使用します。 |
|
hdm_security_ips |
DAS がデータ収集、最適化、運用保守、およびセキュリティ管理に使用します。 重要
2020 年 12 月以降に作成されたインスタンスの場合、hdm_security_ips ホワイトリストグループはユーザーには表示されず、関連サービスの使用に影響を与える可能性のあるグループの偶発的な変更や削除を防ぎます。 |