AWS CDK提供了“aws-lambda-nodejs”包,它可以轻松构建服务器端加密的lambda函数。要启用传输加密,可以使用Lambda.Function的“securityGroup”属性将lambda函数添加到安全组中。
以下是使用CDK构建传输加密的lambda函数的示例代码:
import * as lambda from '@aws-cdk/aws-lambda';
import * as ec2 from '@aws-cdk/aws-ec2';
import * as cdk from '@aws-cdk/core';
export class MyStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, 'MyVpc');
const securityGroup = new ec2.SecurityGroup(this, 'MySecurityGroup', {
vpc,
allowAllOutbound: true,
});
securityGroup.addIngressRule(
ec2.Peer.ipv4('0.0.0.0/0'),
ec2.Port.tcp(443),
'allow HTTPS inbound traffic',
);
const lambdaFunction = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda'),
vpc,
securityGroups: [securityGroup],
encryption: lambda.Encryption.IN_TRANSIT,
tracing: lambda.Tracing.ACTIVE,
});
}
}
在这个示例中,我们创建了一个VPC,并在其中创建了一个安全组来允许传入的HTTPS流量。然后,我们创建了一个lambda函数,将其添加到VPC和安全组中,并启用加密传输和跟踪功能。
值得注意的是,在使用CDK构建lambda函数时,可以使用Lambda.Encryption枚举类型来指定加密类型。在本例中,我们选择了“InTransit”作为加密类型。
上一篇:aws-cdk-lib和@aws-cdk/core、@aws-cdk/aws-iam等库的作用有什么区别?
下一篇:AWS-CDK: CNAMEPrefix 在 elasticbeanstalk.CfnEnvironment 中未设置。