用python编写的AWS CDK构造和实用程序的集合
rbi-oss-awscdk-components-pkg的Python项目详细描述
自定义AWS CDK构造
包含一组更高级别的AWS CDK构造。在
另请参见AWS CDK
以下组件可用:
- 阿尔布
- 干邑
实现了对HTTPS的支持。还有其他方法来注册EC2和lambda类型的目标组。 在端口443上创建一个简单的ALB,使用安全组和“401 Access denied”修复响应作为默认操作:
fromawscdk_components.elb.alb_httpsimport(AlbHttpsConstruct,AlbCfg,add_access_denied_fix_response)# create the configapp=core.App()stack=GenericTestStack(app,'test-stack')alb_cfg=AlbCfg(alb_name='TestALB',vpc=stack.vpc,subnets=stack.subnets,certificate_arns=['arn:aws:acm:us-east-1:023475735288:certificate/ff6967d7-0fdf-4967-bd68-4caffc983447'],cidr_ingress_ranges=['10.0.0.0/16'],icmp_ranges=['10.0.0.0/16'])alb_construct=AlbHttpsConstruct(stack,'albhttps',alb_cfg)add_access_denied_fix_response('fix401resp',alb_construct.https_listener)
要为给定的EC2实例添加一个目标组,该实例可以在/EC2路径下访问,该实例的服务也在端口443上运行(如有必要,请更改端口参数,即port=8443):
^{pr2}$更复杂的实用程序方法是使用AWS Cognito规则在身份验证后注册lambda函数(目前仅实现用于UserPool的低级Cfn构造):
fromawscdk_components.elb.alb_utilsimport(register_lambda_target_group_with_cognito_auth_rule)alb_construct=AlbHttpsConstruct(stack,'albhttps',alb_cfg)function=aws_lambda.Function(stack,"lambda_function",runtime=aws_lambda.Runtime.PYTHON_3_7,handler="index.handler",code=aws_lambda.Code.from_inline("def handler(event, context): return { 'statusCode': 200, 'body': 'Lambda was invoked successfully.' }"),vpc=stack.vpc)register_lambda_target_group_with_cognito_auth_rule(scope=stack,fn=function,vpc=stack.vpc,listener=alb_construct.https_listener,user_pool=user_pool_cfn,user_pool_app_client=user_pool_app_client_cfn,user_pool_domain=user_pool_domain_cfn,path_pattern_values=['/mylambda','/mylambda/*'])add_access_denied_fix_response('fix401resp',alb_construct.https_listener)
有关更多详细信息,请参阅tests包中的unittests。在
- 项目
标签: