クラウドネイティブゲートウェイとバックエンドサービスがデプロイされているノードは、異なるセキュリティグループに属しています。この場合、セキュリティグループルールを設定して、クラウドネイティブゲートウェイがバックエンドサービスにアクセスすることを承認できます。
背景情報
セキュリティグループは、Elastic Compute Service(ECS)インスタンスとElastic Network Interface(ENI)のインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォールとして機能します。セキュリティグループは、ECSインスタンスのセキュリティを向上させるのに役立ちます。セキュリティグループは、ステートフルパケットインスペクション(SPI)とパケットフィルタリング機能を提供します。セキュリティグループとセキュリティグループルールを使用して、クラウド内のセキュリティドメインを定義できます。詳細については、「セキュリティグループの概要」をご参照ください。
クラウドネイティブゲートウェイを購入する際は、仮想プライベートクラウド(VPC)とセキュリティグループタイプを選択する必要があります。バックエンドサービスが属するセキュリティグループと同じセキュリティグループタイプを選択することをお勧めします。その後、クラウドネイティブゲートウェイは、選択したセキュリティグループタイプに基づいてマネージドセキュリティグループを作成します。作成されたマネージドセキュリティグループは、クラウドネイティブゲートウェイのノードを管理するために使用されます。クラウドネイティブゲートウェイとバックエンドサービスがデプロイされているノードは、異なるセキュリティグループに属しています。クラウドネイティブゲートウェイが特定のポート範囲でバックエンドサービスにアクセスすることを承認する必要があります。
手順 1:バックエンドサービスがデプロイされているノードのセキュリティグループ情報を取得する
クラウドネイティブゲートウェイに関連付けられているアップストリームサービスは、主にContainer Service for Kubernetes(ACK)クラスターまたはElastic Compute Service(ECS)インスタンスにデプロイされます。このセクションでは、セキュリティグループ ID を取得する方法について説明します。
ACK クラスターにデプロイされたバックエンドサービス
ACK コンソール にログインします。左側のナビゲーションペインで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションペインで、 を選択します。
[ノードプール] ページで、目的のノードをクリックします。[概要] タブで、セキュリティグループの ID を取得します。
ECS インスタンスにデプロイされたバックエンドサービス
ECS コンソール にログインします。
左側のナビゲーションペインで、 を選択します。
[インスタンス] ページで、バックエンドサービスがデプロイされている ECS インスタンスをクリックします。[セキュリティグループ] タブで、セキュリティグループの ID を取得します。
手順 2:セキュリティグループルールを追加する
MSE コンソール にログインします。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、クラウドネイティブゲートウェイの名前をクリックします。左側のナビゲーションペインで、Overview をクリックします。表示されるページで、Security Group Authorization タブをクリックします。
Add Security Group Rule をクリックします。手順 1 で取得したセキュリティグループ ID を [セキュリティグループ ID] フィールドにコピーし、表示されるセキュリティグループを選択します。
開始ポート/終了ポートの形式で [ポート範囲] を入力します。
複数のポート範囲を入力できます。ポート範囲を入力するたびに、Enter キーを押して設定を検証します。
[保存] をクリックします。
クラウドネイティブゲートウェイにセキュリティグループルールが生成されます。
バックエンドサービスがデプロイされているノードのセキュリティグループでも、セキュリティグループルールを表示できます。
セキュリティグループルールを削除する
MSE コンソール にログインします。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションペインで、Overview をクリックします。表示されるページで、Add Security Group Rule タブをクリックします。削除するセキュリティグループルールを見つけ、Actions 列の Delete をクリックします。表示されるメッセージで、OK をクリックします。
デフォルトでは、セキュリティグループルールはクラウドネイティブゲートウェイから削除されます。サービスがデプロイされているノードからもセキュリティグループルールを削除する場合は、表示されるメッセージで [セキュリティグループ内の上記のインバウンドルールも削除されます] を選択します。
FAQ
セキュリティグループルールを設定した後、クラウドネイティブゲートウェイからサービスにアクセスできないのはなぜですか?
次の手順を実行します。
セキュリティグループルールを設定したノードが、サービスがデプロイされているノードであるかどうかを確認します。
たとえば、サービスはノード A にデプロイされていますが、ノード B のセキュリティグループルールを設定しています。
サービスノードに複数のセキュリティグループが設定されているかどうかを確認します。
サービスノードに複数のセキュリティグループが設定されている場合は、各セキュリティグループにセキュリティグループルールを設定することをお勧めします。
クラウドネイティブゲートウェイがサービスにアクセスするためのセキュリティグループルールを設定し、アクセスは成功しました。しかし、今はアクセスできません。なぜですか?
次の手順を実行します。
サービスが正常かどうかを確認します。
同じセキュリティグループ内の他のノードで
curl
コマンドを実行して、サービスの接続性を確認できます。 // curl command to check service connectivityサービスの公開ポートが変更されているかどうかを確認します。
たとえば、公開ポートが 8080 から 8081 に変更されましたが、ポート 8080 のみが承認されています。この場合、セキュリティグループルールのポート番号を変更する必要があります。この問題を防ぐために、セキュリティグループルールを作成するときにポート範囲を 1/65535 に設定することをお勧めします。