💬

AWS CDK v2でNetwork Load Balancerのセキュリティグループを設定する

2023/09/22に公開

AWSのNetwork Load Balancerはセキュリティグループをサポートしていますが、AWS CDK v2のL2コンストラクトではまだ直接対応していません。そのため、以下のようにCfnLoadBalancerを利用してセキュリティグループを設定することができます。

ステップ1: Network Load Balancerを作成する

まず、Network Load Balancerを作成します。

import * as elb from 'aws-cdk-lib/aws_elasticloadbalancingv2';

const nlb = new elb.NetworkLoadBalancer(this, 'MyNLB', {
  // ここでNLBのプロパティを設定します
});

ステップ2: セキュリティグループを作成する

次に、NLBに関連付けるセキュリティグループを作成します。

import * as ec2 from 'aws-cdk-lib/aws_ec2';

const nlbSecurityGroup = new ec2.SecurityGroup(this, 'MyNlbSecurityGroup', {
  // ここでセキュリティグループのプロパティを設定します
});

ステップ3: CfnLoadBalancerを利用してセキュリティグループを設定する

最後に、CfnLoadBalancerを利用してセキュリティグループをNLBに設定します。

const cfnLoadBalancer = nlb.node.defaultChild as aws.aws_elasticloadbalancingv2.CfnLoadBalancer;
cfnLoadBalancer.addPropertyOverride('SecurityGroups', [
  nlbSecurityGroup.securityGroupId,
]);

まとめ

以上で、AWS CDK v2のL2コンストラクトを使用してNetwork Load Balancerにセキュリティグループを設定することができます。この方法を利用すれば、AWS CDKでの開発がより柔軟かつ効率的になります。


Let's happy coding

Discussion