クラウドネイティブゲートウェイとバックエンドサービスがデプロイされているノードが異なるセキュリティグループにある場合、クラウドネイティブゲートウェイにバックエンドサービスへのアクセスを許可するセキュリティグループルールを設定する必要があります。
背景情報
セキュリティグループは、グループ内の Elastic Compute Service (ECS) インスタンスと Elastic Network Interface (ENI) のインバウンドおよびアウトバウンドトラフィックを制御する仮想ファイアウォールです。これにより、ECS インスタンスのセキュリティが強化されます。セキュリティグループは、ステートフルインスペクションとパケットフィルタリングを提供し、セキュリティグループの属性とルールの設定に基づいてクラウド内にセキュリティドメインを定義できます。詳細については、「セキュリティグループの概要」をご参照ください。
クラウドネイティブゲートウェイを作成する際には、VPC とセキュリティグループのタイプを選択する必要があります。バックエンドサービスが属するものと同じセキュリティグループタイプを選択することをお勧めします。選択に基づいて、クラウドネイティブゲートウェイはマネージドセキュリティグループを作成し、そのインスタンスノードを管理します。クラウドネイティブゲートウェイとバックエンドサービスがデプロイされているノードは異なるセキュリティグループにあるため、バックエンドサービスのセキュリティグループで、クラウドネイティブゲートウェイに必要なポート範囲へのアクセス権限を付与する必要があります。

ステップ 1: 宛先サービスがデプロイされているノードのセキュリティグループを取得する
クラウドネイティブゲートウェイに関連付けられているアップストリームサービスは、通常、コンテナーまたは ECS インスタンスにデプロイされます。次の方法でセキュリティグループ ID を取得できます。
ACK マネージドクラスターにデプロイされたバックエンドサービス
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、宛先ノードをクリックし、[基本情報] タブを選択してセキュリティグループ ID を取得します。

Serverless Kubernetes クラスターにデプロイされたバックエンドサービス
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、宛先クラスターの名前をクリックします。次に、[基本情報] タブをクリックしてセキュリティグループ ID を見つけます。

ECS インスタンスにデプロイされたバックエンドサービス
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[インスタンス] ページで、宛先サービスがデプロイされている ECS インスタンスをクリックし、[セキュリティグループ] タブをクリックしてセキュリティグループ ID を取得します。

ステップ 2: セキュリティグループの権限付与ルールを追加する
MSE コンソールにログインします。
左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、対象のゲートウェイの名前をクリックします。左側のナビゲーションウィンドウで Overview をクリックし、Security Group Authorization タブを選択します。
Add Security Group Rule をクリックします。[セキュリティグループ ID] テキストボックスに、ステップ 1 で取得したセキュリティグループ ID を貼り付け、セキュリティグループを選択します。

[ポート範囲] に、セキュリティグループの権限付与のためのポート範囲を「開始ポート/終了ポート」の形式で入力します。
複数のポート範囲を入力できます。ポート範囲を入力した後、Enter キーを押して適用します。

[保存] をクリックします。
クラウドネイティブゲートウェイは対応するルールを生成します。

クラウドネイティブゲートウェイで作成されたセキュリティグループルールは、ターゲットノードが属するセキュリティグループにも表示されます。
セキュリティグループの権限付与ルールを削除する
MSE コンソールにログインします。
左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの ID をクリックします。
左側のナビゲーションウィンドウで Overview をクリックします。Add Security Group Rule タブで、削除するルールを見つけ、Actions 列の Delete をクリックし、次に OK をクリックします。
デフォルトでは、クラウドネイティブゲートウェイのセキュリティグループルールのみが削除されます。宛先ノードのセキュリティグループからもルールを削除するには、[このセキュリティグループの先行するインバウンドルールをカスケード削除] を選択します。
よくある質問
質問 1: セキュリティグループに権限を付与しましたが、サービスにアクセスできないのはなぜですか?
次の手順を実行して、問題をトラブルシューティングできます。
まず、サービスが正しいノードにデプロイされているかどうかを確認します。
たとえば、サービスはノード A にデプロイされているのに、ノード B が属するセキュリティグループに権限を付与した場合などです。
ターゲットノードに複数のセキュリティグループが設定されているかどうかを確認します。
複数のセキュリティグループが設定されている場合は、各セキュリティグループに権限を付与することをお勧めします。
質問 2: セキュリティグループに権限を付与しました。ゲートウェイからサービスにアクセスできましたが、現在はアクセスに失敗します。なぜですか?
次の手順を実行して、問題をトラブルシューティングできます。
まず、サービスが期待どおりに実行されていることを確認します。
同じセキュリティグループ内の他のノードで
curlコマンドを実行して、サービスの接続性を確認できます。公開されたサービスによって公開されているポートが変更されたかどうかを確認します。
たとえば、ポートが 8080 で、クラウドネイティブゲートウェイに対してポート 8080 のみの権限を付与したとします。後でポートが 8081 に変更された場合、セキュリティグループの権限付与ルールでポートを変更する必要があります。この問題を回避するには、セキュリティグループの権限付与を設定する際に、1/65535 などのより広いポート範囲を指定することをお勧めします。