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

API Gateway:セキュリティグループルールの構成

最終更新日:Apr 28, 2025

クラウドネイティブ API Gateway インスタンスとバックエンドサービスがデプロイされているノードが異なるセキュリティグループに属している場合は、セキュリティグループルールを構成して、クラウドネイティブ API Gateway インスタンスがバックエンドサービスにアクセスすることを承認できます。

背景情報

セキュリティグループは、Elastic Compute Service(ECS)インスタンスと Elastic Network Interface(ENI)のインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォールとして機能します。 セキュリティグループは、ECS インスタンスのセキュリティを向上させるのに役立ちます。 セキュリティグループは、ステートフルパケットインスペクション(SPI)とパケットフィルタリング機能を提供します。 セキュリティグループとセキュリティグループルールを使用して、クラウド内のセキュリティドメインを定義できます。 詳細については、「概要」をご参照ください。

クラウドネイティブ API Gateway インスタンスを購入する際は、仮想プライベートクラウド(VPC)とセキュリティグループタイプを選択する必要があります。 バックエンドサービスと同じセキュリティグループタイプを選択することをお勧めします。 構成が完了すると、クラウドネイティブ API Gateway インスタンスは、選択したセキュリティグループタイプに基づいてマネージドセキュリティグループを作成します。 マネージドセキュリティグループは、ゲートウェイインスタンスのノードを管理するために使用されます。 クラウドネイティブ API Gateway インスタンスとバックエンドサービスがデプロイされているノードは、異なるセキュリティグループに属しています。 したがって、ポートの範囲でクラウドネイティブ API Gateway インスタンスがバックエンドサービスにアクセスすることを承認する必要があります。

云原生网关场景架构图

上の図は、クラウドネイティブ API Gateway を使用して、さまざまなサービスタイプ間で安全なアクセスコントロールとトラフィック分散を実装する方法を示しています。 具体的には、次のとおりです。

  • クライアント(コンピューターなど)を使用して、クラウドネイティブ API Gateway の内部ネットワークにアクセスします。

  • クラウドネイティブ API Gateway は、構成に基づいてリクエストを service-sg1 と service-sg2 に分散します。

  • service-sg1 のポッドは、ポート 8080/8080 からのリクエストを処理します。

  • service-sg2 のポッドは、ポート 80/9000 からのリクエストを処理します。

手順 1:バックエンドサービスがデプロイされているノードのセキュリティグループ情報を取得する

クラウドネイティブ API Gateway インスタンスに関連付けられているアップストリームサービスは、Container Service for Kubernetes(ACK)クラスターまたは ECS インスタンスにデプロイされます。 このセクションでは、セキュリティグループ ID を取得する方法について説明します。

バックエンドサービスが ACK クラスターにデプロイされている場合

  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。 左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. [ノードプール] ページで、目的のノードを [クリック] します。[概要] タブで、セキュリティグループの ID を取得します。

    节点池查看安群组.png

バックエンドサービスが ECS インスタンスにデプロイされている場合

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

  2. 左側のナビゲーションウィンドウで、[インスタンスとイメージ] > [インスタンス] を選択します。

  3. [インスタンス] ページで、バックエンド サービスがデプロイされている ECS インスタンスをクリックします。[セキュリティ グループ] タブで、セキュリティ グループの ID を取得します。

    ecs安全组.png

手順 2:セキュリティグループルールを追加する

  1. クラウドネイティブ API Gateway コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。

  3. [インスタンス] ページで、管理するゲートウェイインスタンスの名前をクリックします。

  4. 左側のナビゲーションウィンドウで、[概要] をクリックします。 表示されるページで、[セキュリティグループの承認] タブをクリックします。

  5. [セキュリティグループルールの追加] をクリックします。手順 1 で取得したセキュリティグループ ID を [セキュリティグループ ID] フィールドにコピーし、表示されるセキュリティグループを選択します。

    image

  6. 開始ポート/終了ポートの形式で [ポート範囲] を入力します。

    複数のポート範囲を入力できます。ポート範囲を入力するたびに、Enter キーを押して設定を検証します。image

  7. [保存] をクリックします。

    クラウドネイティブ API Gateway インスタンスのセキュリティグループルールが生成されます。

    image

    バックエンド サービスがデプロイされているノードのセキュリティグループで、セキュリティグループルールを表示することもできます。

    image

セキュリティグループルールを削除する

  1. クラウドネイティブ API Gateway コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。

  3. [インスタンス] ページで、管理するゲートウェイインスタンスの名前をクリックします。

  4. [セキュリティグループの承認] タブをクリックします。 削除するセキュリティグループルールを見つけ、[アクション] 列の [削除] をクリックします。 表示されるメッセージで、[OK] をクリックします。

重要

デフォルトでは、クラウドネイティブ API Gateway インスタンスのセキュリティグループルールが削除されます。 サービスがデプロイされているノードのセキュリティグループルールを削除する場合は、表示されるメッセージで [セキュリティグループ内の上記のインバウンドルールも削除されます] を選択します。

FAQ

セキュリティグループルールを構成した後、クラウドネイティブ API Gateway インスタンスからサービスにアクセスできないのはなぜですか?

次の手順を実行します。

  1. セキュリティグループルールを構成するノードが、サービスがデプロイされているノードであることを確認します。

    たとえば、サービスはノード A にデプロイされていますが、ノード B のセキュリティグループルールを構成します。

  2. サービスノードに複数のセキュリティグループが構成されているかどうかを確認します。

    サービスノードに複数のセキュリティグループが構成されている場合は、セキュリティグループごとにセキュリティグループルールを構成することをお勧めします。

クラウドネイティブ API Gateway インスタンスがサービスにアクセスするためのセキュリティグループルールを構成し、アクセスは成功しました。 しかし、今はアクセスに失敗します。 なぜですか?

次の手順を実行します。

  1. サービスが正常かどうかを確認します。

    同じセキュリティグループ内の他のノードで curl コマンドを実行して、サービスの接続性を確認できます。

  2. Cloud Shell: Cloud Shell

    たとえば、公開ポートが 8080 から 8081 に変更されましたが、ポート 8080 のみが開かれています。この場合、セキュリティグループルールでポート番号を変更する必要があります。この問題を防ぐために、セキュリティグループルールを作成するときに、ポート範囲を 1/65535 に設定することをお勧めします。