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

Server Load Balancer:アクセス制御

最終更新日:Jul 29, 2026

CLB のアクセス制御は、リスナーに IP ホワイトリストまたはブラックリストを適用して、クライアントからのリクエストをフィルタリングします。

ACL の作成

ACL は IP エントリの集まりです。ACL をリスナーに関連付けて、ホワイトリストまたはブラックリストによるフィルタリングを適用します。

コンソール

  1. CLB コンソールの[アクセス制御] ページに移動し、上部のナビゲーションバーで対象のインスタンスがデプロイされているリージョンを選択してから、アクセス制御リストの作成 をクリックします。

  2. アクセス制御リストの作成 パネルで、リスト名 を入力し、IP プロトコル バージョン (IPv4 または IPv6) を選択し、必要に応じて IP エントリを追加してから、作成 をクリックします。

    IPv4 インスタンスは IPv4 ACL のみを、IPv6 インスタンスは IPv6 ACL のみをサポートします。CLB インスタンスに合わせて IP バージョンを選択してください。

API

CreateAccessControlList API を呼び出して ACL を作成します。

IP エントリの追加

既存の ACL に IP エントリを追加します。

コンソール

CLB コンソールのアクセス制御 ページに移動し、対象の ACL の ID をクリックして詳細ページを開きます。次のいずれかの方法で IP エントリを追加します。

  • 単一エントリの追加: エントリの追加 をクリックします。 ダイアログボックスで、IP アドレス/ IP CIDRブロックコメント を入力し、追加 をクリックします。

  • エントリの一括追加複数のエントリの追加 をクリックし、次の形式でエントリを入力します。

    • 1 行に 1 つのエントリを入力します。Enter キーを押して改行します。

    • IP アドレスまたは CIDR ブロックと、その説明を縦棒 (|) で区切ります。例:192.168.1.0/24|description

    • 一度に最大 50 個のエントリを追加できます。

エントリリストからエントリを削除またはエクスポートできます。

API

アクセス制御の有効化または無効化

ACL をリスナーに関連付けてアクセス制御を有効化します。不要になった場合は、いつでも無効化できます。

重要
  • 関連付けられた ACL が空の場合、アクセス制御は有効になりません。この場合、リスナーはアクセス制御モードにかかわらずすべてのリクエストを転送します。サービスの中断を避けるため、ホワイトリストを有効にする前に、許可する IP アドレスが ACL に含まれていることを確認してください。

  • 1 つのリスナーに複数の ACL を関連付ける場合、関連付けるすべての ACL 間で、IP エントリが重複しないようにしてください。

コンソール

  1. CLB コンソールのインスタンス ページに移動します。上部メニューで、対象インスタンスがデプロイされているリージョンを選択し、インスタンス ID をクリックします。

  2. リスナー タブをクリックして目的のリスナーを見つけ、アクセス制御 列で 有効化 または 閉じる をクリックします。

    • [有効化]: 表示されるダイアログボックスで、アクセス制御モード (ホワイトリスト または ブラックリスト) と アクセス制御リストの選択 を選択し、保存 をクリックします。

    • [閉じる]:確認ダイアログボックスで、OK をクリックします。

また、リスナー詳細ページのアクセス制御セクションでアクセス制御を有効化または無効化することもできます。
リスナーの作成時にアクセス制御を有効にすることもできます。

API

CreateLoadBalancerHTTPSListenerSetLoadBalancerHTTPSListenerAttribute などの API を呼び出してリスナーを作成または変更する際に、次のパラメーターを使用してアクセス制御を設定します。

  • AclStatus:アクセス制御を有効にするかどうかを指定します。有効値:on および off

  • AclType:アクセス制御のタイプ。有効値:white (ホワイトリスト) および black (ブラックリスト)。

  • AclId:関連付けられた ACL の ID。

よくある質問

ホワイトリストがすべての IP を許可してしまうのはなぜですか?

原因:リスナーでアクセス制御が無効になっているか、関連付けられた ACL が空であるためです (空の ACL はすべてのトラフィックを許可します)。

解決策: お使いの CLB インスタンスのリスナー タブに移動します。対象のリスナーのアクセス制御 列に有効と表示されていること、および関連付けられた ACL に IP エントリが含まれていることを確認します。

ブラックリストが IP をブロックできないのはなぜですか?

原因:リクエストがプロキシ (CDN または WAF) を経由すると、CLB はリアルクライアント IP ではなくプロキシのバックツーソース IP を認識するため、ブラックリストのルールが一致しません。

解決策:プロキシレイヤー (CDN または WAF) でブラックリストを設定します。クライアントがプロキシをバイパスできる場合は、プロキシのバックツーソース IP 範囲のみを許可する CLB ホワイトリストを追加します。

レイヤー 7 リスナーで Nginx の allow/deny ルールが有効にならないのはなぜですか?

原因:CLB のレイヤー 7 リスナーは、100.64.0.0/10 の範囲のプライベート IP からトラフィックを転送します。Nginx の allow/deny ルールはソース IP に基づいて照合するため、リアルクライアント IP によるフィルタリングはできません。

解決策

ECS セキュリティグループが CLB トラフィックをブロックできないのはなぜですか?

原因:CLB は 100.64.0.0/10 の IP 範囲を使用してバックエンドの ECS インスタンスと通信します。設計上、ECS セキュリティグループのインバウンドルールは、この IP 範囲からのトラフィックを制限しません。

解決策:CLB の ACL を設定して、リクエストがバックエンドサーバーに到達する前にクライアント IP でブロックします。

リクエストがブロックされるとどうなりますか?

説明:CLB はブロックされたリクエストを破棄し、レスポンスを返しません。クライアント側では接続タイムアウトが発生します。

ホワイトリストでDDoS攻撃を防ぐことはできますか?

説明:いいえ。DDoS トラフィックは、アクセス制御レイヤーに到達する前にインスタンスの帯域幅を消費します。深刻な攻撃はブラックホール状態を引き起こす可能性があります。

推奨事項Anti-DDoS を使用することを推奨します。

CLB のアクセス制御 (ブラックリスト/ホワイトリスト) が有効にならないのはなぜですか?

説明:リスナーに ACL ポリシーグループがアタッチされていても、アクセス制御のスイッチが無効になっている場合があります。ポリシーグループを設定するだけではアクセス制御は有効になりません。さらに、Cloud Firewall のポートルール、Anti-DDoS Origin Protection、またはリアルクライアント IP をマスキングする多層プロキシなどが、それぞれ独立してアクセス制御が期待どおりに機能しない原因となる可能性があります。以下の手順を優先順位に従って実行してください。

ステップ 1: アクセス制御が有効になっていることを確認します。 CLB インスタンスの リスナー タブに移動します。 アクセス制御 列で、リスナーのステータスが 有効 と表示されていることを確認します。 アクセス制御スイッチがオフのままでも、リスナーに ACL ポリシーグループが存在する場合があります。 スイッチが無効になっている場合は、有効化 をクリックし、アクセス制御タイプとして ホワイトリスト または ブラックリスト を選択し、ACL ポリシーグループを関連付け、保存 をクリックします。

ステップ 2:Cloud Firewall のポートルールを確認する。アカウントで Cloud Firewall が有効になっている場合、Cloud Firewall コンソールにログインし、ネットワークアクセス制御ポリシーで CLB リスナーポートが許可されていることを確認します。Cloud Firewall は、CLB のアクセス制御が正しく有効になっていても、ポート上のトラフィックを独立してブロックできます。

ステップ 3:Anti-DDoS Origin の設定を確認する。CLB インスタンスの前段に Anti-DDoS が配置されている場合、Anti-DDoS レイヤーの保護ルールが CLB 側のブラックリスト エントリを上書きすることがあります。この場合、ブラックリストとホワイトリストのルールを CLB ではなく Anti-DDoS インスタンスで設定します。

ステップ 4:リアルクライアント IP を特定する。リクエストが複数のプロキシレイヤーを通過すると、CLB はリアルクライアント IP ではなく、上位のプロキシ IP のみを認識するため、アクセス制御ルールが一致しない場合があります。リアルクライアント IP を特定するには、一時的に CLB のアクセス制御を無効にし、バックエンドサーバーまたはアプリケーションのログを確認して実際のソース IP を特定し、それを ACL に追加してから、アクセス制御を再度有効にします。

多層プロキシのシナリオ

レイヤー 7 プロキシが CLB の前段に配置されている場合、アクセス制御はリアルクライアント IP ではなく、上位プロキシのバックツーソース IP のみを認識します。アクセス制御は適切なレイヤーで設定する必要があります。次の表は、CNAME ベースの WAF 統合 (クライアント → CDN → WAF → CLB → ECS) における各レイヤーでのソース IP と推奨設定を示しています。

透過プロキシモードでは、トラフィックは自動的に WAF を経由して検査されるため、別途バックツーソース IP 範囲を設定する必要はありません。追加の CLB アクセス制御設定は必要ありません。

レイヤー

認識される送信元 IP

推奨事項

WAF

  • CDN がない場合、これはリアルクライアント IP です。

  • CDN がある場合、これは CDN のバックツーソース IP です。WAF のアクセス設定で、「クライアント IP の識別方法」を設定してリアルクライアント IP を取得します。

推奨:このレイヤーでアクセス制御を設定します。 WAF はリアルクライアント IP に基づいてブロックし、リージョンベースのブロッキングをサポートします。

CLB

WAF のバックツーソース IP。

攻撃者が WAF をバイパスするのを防ぐため、CLB 上で WAF のバックツーソース IP 範囲のみをホワイトリストに登録します。WAF コンソールの [Webサイトアクセス] ページで「WAF のバックツーソース IP 範囲」を確認します。

バックエンド ECS

CLB のプライベート IP (100.64.0.0/10 CIDR ブロックから)。

ホストのファイアウォール (iptables、firewalld) で 100.64.0.0/10 をブロックしないでください。この範囲をブロックすると、ヘルスチェックとリクエスト転送が失敗します。

課金

アクセス制御に追加料金は発生しません。詳細については、「CLB の課金の概要」をご参照ください。

クォータ

以下の制限については、Quota Center でクォータの引き上げをリクエストできます。

制限

クォータ名

デフォルトの制限

クォータの引き上げ

Alibaba Cloud アカウントが作成できる ACL の数

slb_quota_acls_num

200

Quota Center に移動

各 ACL に追加できるエントリの数

slb_quota_acl_entries_num

300

ACL に関連付けることができるリスナーの数

slb_quota_acl_attached_num

50

以下の制限は固定されており、引き上げることはできません。

制限

最大値

リスナーに関連付けることができる ACL の数

3

1 つのリスナーに関連付けられたすべての ACL に含まれる IP エントリの合計数

1,000