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

Server Load Balancer:セキュリティグループを使用してリスナーとポートに基づいてアクセス制御を構成する

最終更新日:Sep 18, 2024

リクエストからのアクセスを規制するために、プロトコル、ポート、およびIPアドレスに基づいてアクセス制御を実装するようにセキュリティグループを構成できます。 セキュリティグループは、アクセス制御リストよりもきめ細かいアクセス制御を提供します。 セキュリティグループは、プロトコルとポートに基づくアクセス制御をサポートするだけでなく、IPv6アドレスからのアクセスを規制するアクセス制御ポリシーもサポートします。

シナリオ

  • ALBインスタンスがセキュリティグループに追加される前に、ALBインスタンスのリスナーポートはデフォルトですべてのリクエストを許可します。

  • ALBインスタンスがDenyルールを含まないセキュリティグループに追加されると、ALBインスタンスのリスナーポートはデフォルトですべてのリクエストを許可します。 特定のIPアドレスからALBインスタンスへのリクエストのみを許可する場合は、拒否ルールも作成する必要があります。

Application Load Balancer (ALB) インスタンスへのインバウンドアクセスを制御する場合は、ALBインスタンスをセキュリティグループに追加し、セキュリティ要件に基づいてセキュリティグループルールを設定できます。

重要

ALBのアウトバウンドトラフィックは、ユーザーに返される応答パケットを指します。 サービスの可用性を維持するために、セキュリティグループはALBのアウトバウンドトラフィックをブロックしません。 アウトバウンドトラフィックを許可するようにセキュリティグループルールを設定する必要はありません。

一部のリスナーポートへのアクセスをブロックし、他のリスナーポートへのアクセスを許可する場合は、ポートへのアクセスを制御するようにセキュリティグループを構成できます。 次の表に、3つの異なるシナリオでセキュリティグループを設定して、ALBインスタンスのポートのアクセス制御を有効にする方法を示します。 このシナリオでは、ポート80でリッスンするHTTPリスナーとポート81でリッスンするHTTPリスナーがALBインスタンスに設定されます。

シナリオ

セキュリティグループルール

期待される結果

関連ドキュメント

ALBインスタンスをセキュリティグループに追加する前

デフォルトでは、ALBインスタンスのリスナーポートはすべてのリクエストを許可します。

  • クライアントはALBインスタンスのHTTPポート80にアクセスできます

  • クライアントはALBインスタンスのHTTPポート81にアクセスできます

手順5: ALBインスタンスをセキュリティグループに追加する前にネットワーク接続をテストする

ALBインスタンスをセキュリティグループに追加する

HTTPポート81へのリクエストをブロックする

説明

このセクションでは、このトピックに関連するセキュリティグループルールについてのみ説明します。 その他のデフォルトルールについては説明しません。

  • クライアントはALBインスタンスのHTTPポート80にアクセスできます

  • クライアントはALBインスタンスのHTTPポート81にアクセスできません

手順6: ALBインスタンスをセキュリティグループに追加し、結果を確認します

セキュリティグループルールの変更

  • HTTPポート80へのリクエストをブロックする

  • HTTPポート81へのリクエストをブロックする

説明

このセクションでは、このトピックに関連するセキュリティグループルールについてのみ説明します。 その他のデフォルトルールについては説明しません。

  • クライアントはALBインスタンスのHTTPポート80にアクセスできません

  • クライアントはALBインスタンスのHTTPポート81にアクセスできません

手順7: セキュリティグループルールの変更と結果の検証

制限事項

  • デフォルトでは、セキュリティグループは使用できません。 セキュリティグループを使用するには、アカウントマネージャーに連絡してください。

  • カテゴリ

    セキュリティグループタイプ

    説明

    サポートされているセキュリティグループALB

    • セキュリティグループは仮想プライベートクラウド (VPC) にある必要があり、セキュリティグループとALBインスタンスは同じVPCにある必要があります。

    • ALBインスタンスは、最大4つのセキュリティグループに追加でき、最大800のセキュリティグループルールをサポートします。 同じALBインスタンスのセキュリティグループは、同じタイプである必要があります。 たとえば、ALBインスタンスを複数の基本セキュリティグループまたは複数の高度セキュリティグループに追加できます。

      すでに基本セキュリティグループに含まれているALBインスタンスを高度なセキュリティグループに追加するには、まず基本セキュリティグループからALBインスタンスを削除する必要があります。 すでに高度なセキュリティグループに含まれているALBインスタンスを基本セキュリティグループに追加する場合も、同じルールが適用されます。

    セキュリティグループがサポートされていませんALB

    管理されたセキュリティグループ

    マネージドセキュリティグループの詳細については、「マネージドセキュリティグループ」をご参照ください。

前提条件

  • VPC1という名前の仮想プライベートクラウド (VPC) が作成されます。 詳細については、「VPC の作成と管理」をご参照ください。

  • ECS01とECS02という名前の2つのElastic Compute Service (ECS) インスタンスがVPC1に作成されます。 ECS01およびECS02は、ALBインスタンスのバックエンドサーバーとして機能します。 異なるアプリケーションがECS01とECS02に展開されます。

    • ECSインスタンスの作成方法の詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    • 次のサンプルコードは、ECS01およびECS 02にテストアプリケーションをデプロイする方法を示しています。

      ECS01にアプリケーションをデプロイするためのコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World !  This is ECS01." > index.html

      ECS02にアプリケーションをデプロイするためのコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World !  This is ECS02." > index.html

手順

image

手順

手順1: ALBインスタンスのサーバーグループの作成

  1. ALBコンソールにログインします。

  2. 上部のナビゲーションバーで、サーバーグループを作成するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  3. 左側のナビゲーションウィンドウで、ALB > サーバーグループを選択します。

  4. [サーバーグループ] ページで、[サーバーグループの作成] をクリックします。

  5. [サーバーグループの作成] ダイアログボックスでパラメーターを設定し、[作成] をクリックします。

    次の表に、このトピックに関連するパラメーターを示します。 他のパラメーターにはデフォルト値を使用します。 詳細については、「サーバーグループの作成と管理」をご参照ください。

    パラメーター

    説明

    サーバーグループタイプ

    サーバーグループの種類を選択します。 この例では、[サーバー] が選択されています。

    サーバーグループ名

    サーバーグループの名前を入力します。

    [VPC]

    サーバーグループを作成するVPCを選択します。 この例では、VPC1が選択されています。

    バックエンドサーバープロトコル

    バックエンドプロトコルを選択します。 この例では、HTTPが選択されています。

    スケジューリングアルゴリズム

    スケジューリングアルゴリズムを選択します。 この例では、[加重ラウンドロビン] が選択されています。

  6. [サーバーグループの作成] ダイアログボックスで、[バックエンドサーバーの追加] をクリックします。

  7. [バックエンドサーバー] タブで、[バックエンドサーバーの追加] をクリックします。

  8. [バックエンドサーバーの追加] パネルで、[ECS01] と [ECS02] を選択し、[次へ] をクリックします。

  9. バックエンドサーバーのポートと重みを指定し、[OK] をクリックします。

手順2: ALBインスタンスの作成とリスナーの設定

  1. ALBコンソールにログインします。

  2. [インスタンス] ページで、[ALBの作成] をクリックします。

  3. 購入ページで、次のパラメータを設定します。

    次の表に、一部のパラメーターのみを示します。 他のパラメーターはデフォルト値を使用します。 詳細については、「ALBインスタンスの作成」をご参照ください。

    • リージョン: ALBインスタンスを作成するリージョンです。 この例では、中国 (杭州) が選択されています。

    • ネットワークタイプ: ALBインスタンスのネットワークタイプ。 この例では、インターネットが選択されています。

    • VPC: ALBインスタンスを作成するVPC。 この例では、VPC1が選択されています。

  4. [今すぐ購入] をクリックして、支払いを完了します。

  5. [インスタンス] ページに戻り、ALBインスタンスのIDをクリックします。

  6. [リスナー] タブをクリックし、[リスナーのクイック作成] をクリックします。

  7. [クイック作成リスナー] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 この例では、ポート80でリッスンするHTTPリスナーが作成されます。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    リスナープロトコル

    リスナープロトコルを選択します。 この例では、HTTPが選択されています。

    リスナーポート

    リスナーポートを入力します。 この例では、ポート80が指定されている。

    サーバーグループ

    [サーバータイプ] を選択し、[サーバータイプ] の横にあるドロップダウンリストからサーバーグループを選択します。 この例では、ステップ1で作成したサーバグループが選択されています。

  8. [リスナー] タブで、[クイック作成リスナー] をクリックします。

  9. [クイック作成リスナー] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 この例では、ポート81でリッスンするHTTPリスナーが作成されます。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    リスナープロトコル

    リスナープロトコルを選択します。 この例では、HTTPが選択されています。

    リスナーポート

    リスナーポートを入力します。 この例では、ポート81が指定されている。

    サーバーグループ

    [サーバータイプ] を選択し、[サーバータイプ] の横にあるドロップダウンリストからサーバーグループを選択します。 この例では、ステップ1で作成したサーバグループが選択されています。

手順3: CNAMEレコードの設定

ALBインスタンスのドメイン名をコピーし、次の操作を実行して、カスタムドメイン名をALBインスタンスのドメイン名にマップするCNAMEレコードを追加します。

  1. Alibaba Cloud DNS コンソールにログオンします。

  2. [ドメイン名の解決] ページで、[ドメイン名の追加] をクリックします。

  3. [ドメイン名の追加] ダイアログボックスで、ホストのドメイン名を入力し、[OK] をクリックします。

    重要

    CNAMEレコードを作成する前に、TXTレコードを使用してドメイン名の所有権を確認する必要があります。

  4. 管理するドメイン名を見つけて、[操作] 列の [DNS設定] をクリックします。

  5. [DNS設定] ページで、[DNSレコードの追加] をクリックします。

  6. [DNSレコードの追加] パネルで、次のパラメーターを設定し、[OK] をクリックします。

    パラメーター

    説明

    レコードタイプ

    ドロップダウンリストから [CNAME] を選択します。

    ホスト名

    ホストのドメイン名のプレフィックスを入力します。

    DNSリクエストソース

    [デフォルト] を選択します。

    レコード値

    ALBインスタンスのドメイン名であるCNAMEを入力します。

    TTL

    DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を選択します。 この例では、デフォルト値が使用されます。

手順4: セキュリティグループの作成

ALBインスタンスをセキュリティグループに追加する前に、ECSコンソールでセキュリティグループを作成する必要があります。

  1. ECS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ネットワークとセキュリティ] > [セキュリティグループ] を選択します。

  3. 上部のナビゲーションバーで、セキュリティグループを作成するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  4. [セキュリティグループ] ページで、[セキュリティグループの作成] をクリックします。

  5. [セキュリティグループの作成] ページで、[基本情報] セクションのパラメーターを設定します。

    次のセクションでは、このトピックに関連するパラメーターのみについて説明します。 その他のパラメーターの詳細については、「セキュリティグループの作成」をご参照ください。

    • クイック作成リスナー: この例では、VPC1が選択されています。

    • セキュリティグループタイプ: この例では、基本的なセキュリティグループが選択されています。

  6. セキュリティグループにアクセスルールを追加します。

    1. [インバウンド] タブで、[ルールの追加] をクリックします。

    2. パラメーターを設定し、[セキュリティグループの作成] をクリックします。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      Action

      [拒否] を選択します。

      優先度

      デフォルト値の1が使用されます。

      プロトコルタイプ

      [カスタムTCP] を選択します。

      説明

      QUICリスナーのセキュリティグループルールを追加するには、[カスタムUDP] を選択します。

      ポート範囲

      ポート番号81を入力します。

      権限付与オブジェクト

      [すべてのIPv4アドレス (0.0.0.0/0)] および [すべてのIPv6アドレス (::/0)] を選択します。

      説明

      セキュリティグループルールの説明を入力します。

手順5: ALBインスタンスをセキュリティグループに追加する前にネットワーク接続をテストする

クライアントとECS01およびECS02間のネットワーク接続をテストします。 この例では、インターネットアクセスを有するクライアントが使用される。

  1. http:// domain name:80など、ブラウザのアドレスバーにドメイン名とポート番号を入力し、Enterキーを押します。 次の図は、ALBインスタンスがHTTPポート80にアクセスできることを示しています。

    image

  2. http:// domain name:81など、ブラウザのアドレスバーにドメイン名とポート番号を入力し、Enterキーを押します。 次の図は、ALBインスタンスがHTTPポート81にアクセスできることを示しています。

    image

手順6: ALBインスタンスをセキュリティグループに追加し、結果を確認します

ALBインスタンスをセキュリティグループに追加し、セキュリティグループルールがポートで有効になるかどうかをテストします。

  1. ALBコンソールにログインします。

  2. [インスタンス] ページで、管理するALBインスタンスのIDをクリックします。 [インスタンスの詳細] タブで、[セキュリティグループ] タブをクリックします。

  3. [セキュリティグループ] タブで、[セキュリティグループの作成] をクリックします。 [ALBインスタンスをセキュリティグループに追加] ダイアログボックスで、[手順4: セキュリティグループの作成] で作成したセキュリティグループを選択し、[OK] をクリックします。

  4. 左側のパネルで、管理するセキュリティグループのIDをクリックします。 [インバウンドポリシー] または [アウトバウンドポリシー] タブをクリックして、セキュリティグループルールを表示できます。

    次の表では、このトピックに関連するインバウンドルールのみを説明します。 ALBインスタンスは、次のセキュリティグループルールを使用します。

    ポリシー

    優先度

    プロトコルタイプ

    ポート範囲

    権限付与オブジェクト

    許可

    1

    カスタマイズTCP

    目的地: 80/80

    出典: すべてのIPv4アドレス (0.0.0.0/0)

    許可

    1

    カスタマイズTCP

    目的地: 80/80

    ソース: すべてのIPv6アドレス (::/0)

    拒否

    1

    カスタマイズTCP

    目的地: 81/81

    出典: すべてのIPv4アドレス (0.0.0.0/0)

    拒否

    1

    カスタマイズTCP

    目的地: 81/81

    ソース: すべてのIPv6アドレス (::/0)

  5. セキュリティグループを変更し、結果を確認します。

    1. http:// domain name:80など、ブラウザのアドレスバーにドメイン名とポート番号を入力し、Enterキーを押します。 次の図は、ALBインスタンスがHTTPポート80にアクセスできることを示しています。

      image

    2. http:// domain name:81など、ブラウザのアドレスバーにドメイン名とポート番号を入力し、Enterキーを押します。 アプリケーションにアクセスできない場合は、コマンドラインインターフェイス (CLI) を開き、curl http:// Domain name:81コマンドを実行します。 次の図は、クライアントがALBインスタンスのHTTPポート81にアクセスできないことを示しています。 この結果は、セキュリティグループルールがポート81で有効になることを示しています。

      image

手順7: セキュリティグループルールの変更と結果の検証

セキュリティグループルールを変更し、セキュリティグループルールがポートで有効になるかどうかをテストします。

  1. [インスタンス] ページに戻り、ALBインスタンスのIDをクリックします。 [インスタンスの詳細] タブで、[セキュリティグループ] タブをクリックします。

  2. [基本情報] セクションで、セキュリティグループのIDをクリックします。 [セキュリティグループ] タブの右上隅にある [ECSコンソール] をクリックして、[セキュリティグループの詳細] ページに移動することもできます。

  3. [セキュリティグループの詳細] ページで、TCPポート80へのアクセスを許可するセキュリティグループルールを見つけ、[操作] 列の [変更] をクリックします。 [アクション][拒否] に設定し、[保存] をクリックします。

    次の表に、このトピックに関連するセキュリティグループルールのみを示します。 次の表に、新しいセキュリティグループルールを示します。

    ポリシー

    優先度

    プロトコルタイプ

    ポート範囲

    権限付与オブジェクト

    拒否

    1

    カスタマイズTCP

    目的地: 80/80

    出典: すべてのIPv4アドレス (0.0.0.0/0)

    拒否

    1

    カスタマイズTCP

    目的地: 80/80

    ソース: すべてのIPv6アドレス (::/0)

    拒否

    1

    カスタマイズTCP

    目的地: 81/81

    出典: すべてのIPv4アドレス (0.0.0.0/0)

    拒否

    1

    カスタマイズTCP

    目的地: 81/81

    ソース: すべてのIPv6アドレス (::/0)

  4. セキュリティグループルールを変更した後、ポートのアクセシビリティをテストします。

    1. CLIを開き、curl http:// Domain name:80コマンドを実行します。 次の図は、クライアントがALBインスタンスのHTTPポート80にアクセスできないことを示しています。 この結果は、セキュリティグループルールがポート80で有効になることを示しています。

      image

    2. CLIを開き、次のコマンドを実行します: curl http:// Domain name:81。 次の図は、クライアントがALBインスタンスのHTTPポート81にアクセスできないことを示しています。 この結果は、セキュリティグループルールがポート81で有効になることを示しています。

      image

関連ドキュメント