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

Server Load Balancer:アクセス制御

最終更新日:Sep 03, 2026

Classic Load Balancer (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 が空の場合、アクセス制御は有効になりません。ホワイトリストまたはブラックリストのモードに関係なく、リスナーはすべてのリクエストを転送します。ホワイトリストを有効化する前に、サービス中断を防ぐため、ACL に許可する IP アドレスが含まれていることを確認してください。

  • 複数の ACL を 1 つのリスナーに関連付ける場合、すべての ACL に含まれる IP エントリ同士が重複してはいけません。

コンソール

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

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

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

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

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

API

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

  • AclStatus:アクセス制御を有効化するかどうかを指定します。有効な値:onoff

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

  • AclId:関連付けられている ACL の ID です。

よくある質問

ホワイトリストで、すべての IP が許可されるのはなぜですか?

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

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

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

原因:リクエストがプロキシ (CDN または Web Application Firewall (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 は、バックエンドの Elastic Compute Service (ECS) インスタンスとの通信に 100.64.0.0/10 の範囲を使用します。設計上、ECS のセキュリティグループのインバウンドルールは、この範囲からのトラフィックを制限しません。

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

リクエストがブロックされた場合はどうなりますか?

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

ホワイトリストは DDoS 対策になりますか?

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

推奨Anti-DDoS を使用してください。

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

説明:アクセス制御スイッチが無効のまま、ACL がリスナーに関連付けられている場合があります。ACL を設定しただけではアクセス制御は有効になりません。また、Cloud Firewall のポートルール、Anti-DDoS Origin の保護、または複数層のプロキシによる実際のクライアント IP のマスキングにより、アクセス制御が想定どおりに動作しない場合があります。次の手順を優先順位の高い順に実施してください。

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

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

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

手順 4:実際のクライアント IP を特定します。 リクエストが複数のプロキシ層を通過する場合、CLB は上流プロキシの IP のみを認識し、実際のクライアント IP は認識できないため、アクセス制御ルールが一致しない可能性があります。実際のクライアント IP を特定するには、CLB のアクセス制御を一時的に無効化し、バックエンドサーバーまたはアプリケーションログを確認して実際の送信元 IP を特定し、それを ACL に追加したうえで、アクセス制御を再度有効化します。

CLB はクライアント IP ごとのレート制限をサポートしていますか?

いいえ。CLB のアクセス制御は、IP アドレスおよび CIDR ブロックを許可または拒否 (ホワイトリストまたはブラックリスト) する基準で評価します。単一の IP アドレスからの 1 秒あたりのリクエスト数など、IP ごとのリクエストレートの制限はサポートしていません。

IP ごとのリクエストレートを制限するには、Web Application Firewall (WAF) のカスタムルールを使用し、クライアント IP に基づいて指定した時間枠内のリクエスト数のしきい値を設定します。特定の異常な IP アドレスのみをブロックする必要がある場合は、それらの IP アドレスまたは CIDR ブロックをアクセス制御で CLB のブラックリストに追加します。

多層プロキシのシナリオ

レイヤー 7 プロキシが CLB の前段にある場合、アクセス制御では上流プロキシのバックツーソース IP のみが認識され、実際のクライアント IP は認識できません。適切な層でアクセス制御を設定してください。次の表は、CNAME ベースの WAF 連携 (Client → CDN → WAF → CLB → ECS) における、各層で観測される送信元 IP と推奨設定を示します。

透過プロキシモードでは、別途バックツーソース IP 範囲を用意せずに、トラフィックは自動的に WAF を経由して検査されます。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 課金の概要をご参照ください。

クォータ

次の上限については、クォータセンターでクォータの引き上げを申請できます。

上限

クォータ名

デフォルト上限

クォータの引き上げ

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

slb_quota_acls_num

200

クォータセンターに移動

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

slb_quota_acl_entries_num

300

ACL を関連付け可能なリスナー数

slb_quota_acl_attached_num

50

次の上限は固定されており、引き上げできません。

上限

最大

リスナーに関連付け可能な ACL の数

3

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

1,000