このトピックでは、AlbConfig を使用してセキュリティグループを構成し、Application Load Balancer(ALB)インスタンスのトラフィックを安全に管理する方法について説明します。 また、関連するセキュリティポリシーと構成の推奨事項についても説明します。
前提条件
セキュリティグループが作成され、セキュリティグループにルールが追加されていること。
ALB Ingress コントローラー 2.15.0 以降がインストールされていること。
ACK 専用クラスターは、ALB Ingress を使用してサービスにアクセスします。 サービスをデプロイする前に、Container Service for Kubernetes(ACK)専用クラスターに ALB Ingress コントローラーへのアクセスを承認する必要があります。
注意事項
セキュリティグループを構成する際には、以下の点に注意してください。
アップグレードされた ALB インスタンスは、受信トラフィックを制御するためにセキュリティグループとアクセス制御リスト(ACL)の両方をサポートしていますが、アップグレードされていない ALB インスタンスは ACL のみをサポートしています。 ALB にセキュリティグループを使用する場合は、デフォルトでアップグレードされたバージョンの ALB インスタンスを作成するか、アカウントマネージャーに連絡して既存のアップグレードされていないインスタンスのアップグレードを申請してください。
互換性
同じ ALB インスタンスに対してセキュリティグループとアクセス制御リスト(ACL)を併用することはできません。 セキュリティグループと ACL を直接切り替えることはできません。切り替える場合は、現在の構成のバインドを解除し、AlbConfig を保存する必要があります。 変更が完了したら、ACL またはセキュリティグループを追加します。
更新ロジック
たとえば、セキュリティグループ
sg-1、sg-2、sg-3をsg-3、sg-4、sg-5に変更する場合、ALB Ingress コントローラーはsg-4とsg-5を追加してバインドし、次にsg-1とsg-2のバインドを解除します。 クォータ制限を超えないように、一度の更新数を制御してください。種類とクォータ
カテゴリ
セキュリティグループの種類
説明
ALB でサポートされているセキュリティグループ
ベーシックセキュリティグループ
アドバンストセキュリティグループ
セキュリティグループは仮想プライベートクラウド(VPC)内に存在し、セキュリティグループと ALB インスタンスは同じ VPC 内にある必要があります。
ALB インスタンスのセキュリティグループとセキュリティグループルールのクォータは、ALB インスタンスに関連付けられているバックエンド Elastic Compute Service(ECS)インスタンスのクォータに関連しています。
ALB インスタンスに追加できるセキュリティグループの最大数 = すべてのバックエンド ECS インスタンス(または Elastic Network Interface(ENI))のセキュリティグループクォータ - 1(マネージドセキュリティグループによって使用される)
ALB インスタンスの有効なセキュリティグループルールの最大数 = すべてのバックエンド ECS インスタンスまたは ENI のセキュリティグループルールのクォータ - ALB インスタンスのマネージドセキュリティグループ内のセキュリティグループルールの数
ALB インスタンスが追加されるセキュリティグループは、同じ種類である必要があります。 同じ ALB インスタンスをベーシックセキュリティグループとアドバンストセキュリティグループに同時に追加することはできません。
ベーシックセキュリティグループ内の ALB インスタンスをアドバンストセキュリティグループに追加するには、ALB インスタンスをベーシックセキュリティグループから削除してから、アドバンストセキュリティグループに追加する必要があります。 アドバンストセキュリティグループに ALB インスタンスを追加するには、まず ALB インスタンスをすべてのベーシックセキュリティグループから削除します。
ベーシックセキュリティグループとアドバンストセキュリティグループの詳細については、「ベーシックセキュリティグループとアドバンストセキュリティグループ」をご参照ください。
ALB でサポートされていないセキュリティグループ
マネージドセキュリティグループ
マネージドセキュリティグループの詳細については、「マネージドセキュリティグループ」をご参照ください。
セキュリティグループの動作
拒否ルールが含まれていないセキュリティグループに ALB インスタンスを追加した後、ALB インスタンスのリスナーポートはデフォルトですべてのリクエストを許可します。
特定の IP アドレスのみが ALB インスタンスにアクセスできるようにするには、拒否ルールを追加する必要があります。 詳細については、「シナリオ」をご参照ください。
バックエンドサービスのセキュリティポリシーの構成に関する推奨事項
ACK クラスタ内のノード、Elastic Network Interface(ENI)、およびポッドのセキュリティポリシーを構成できます。 バックエンドサービスとの正常な通信を確保するために、ALB インスタンスが属する vSwitch の CIDR ブロックを有効にすることをお勧めします。
手順
AlbConfig のセキュリティグループを作成または更新する前に、セキュリティルールが追加されるセキュリティグループの ID を取得する必要があります。
次のコマンドを実行して、セキュリティグループの ID を取得します。
ECS コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
上部ナビゲーションバーの左上隅で、リソースが属するリソースグループと、リソースが存在するリージョンを選択します。
セキュリティグループの ID をコピーして保存します。
AlbConfig を作成または更新します。
securityGroupIdsフィールドを AlbConfig に追加し、コピーして保存したセキュリティグループの ID を構成できます。 次の例は、構成を示しています。 複数のセキュリティグループを構成するには、セキュリティグループの 種類とクォータ に基づいて追加できるセキュリティグループの数を指定できます。apiVersion: alibabacloud.com/v1 kind: AlbConfig metadata: name: alb spec: config: name: alb-test addressType: Intranet zoneMappings: - vSwitchId: vsw-uf6k2yoy************* - vSwitchId: vsw-uf6pv7wg************* securityGroupIds: # セキュリティグループのフィールドを構成します。 - sg-uf6blkp8************ # セキュリティグループの ID。 - sg-djladhla************ # セキュリティグループの ID。 addressAllocatedMode: Fixed listeners: - port: 80 protocol: HTTP