AWS CloudFront起源的CDK构造库

aws-cdk.aws-cloudfront-origins的Python项目详细描述


CDK CloudFront库的CloudFront起源

---

cdk-constructs: Stable


这个库包含定义CloudFront发行版的来源的方便方法。可以使用此库从 S3存储桶、弹性负载平衡v2负载平衡器或任何其他域名。在

S3铲斗

可以添加一个S3 bucket作为原点。如果bucket被配置为网站端点,则分发可以使用S3重定向和S3自定义错误 文件。在

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826importaws_cdk.aws_cloudfrontascloudfrontimportaws_cdk.aws_cloudfront_originsasoriginsmy_bucket=s3.Bucket(self,"myBucket")cloudfront.Distribution(self,"myDist",default_behavior=BehaviorOptions(origin=origins.S3Origin(my_bucket)))

上面将根据是否设置IBucket.isWebsite对bucket进行不同的处理。如果bucket配置为网站,则bucket为 它被视为HTTP源,并且可以使用内置的S3重定向和错误页。否则,将bucket作为bucket origin处理,并且 将使用CloudFront的重定向和错误处理。在后一种情况下,源站将创建一个源站访问标识并授予它对 底层存储桶。这可以与非公开的bucket结合使用,以要求用户使用CloudFront访问您的内容 而不是s3url。或者,自定义源站访问标识可以在属性中传递给S3源站。在

ELBv2负载平衡器

弹性负载平衡(ELB)v2负载平衡器可用作原点。为了让负载平衡器作为源,它必须是公开的 可访问(internetFacing为true)。同时支持应用程序和网络负载平衡器。在

^{pr2}$

源站也可以定制,以响应不同的端口,具有不同的连接属性等

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826origin=origins.LoadBalancerV2Origin(load_balancer,connection_attempts=3,connection_timeout=Duration.seconds(5),protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER)

从HTTP端点

源也可以从任何其他HTTP端点创建,给定域名和其他源属性(可选)。在

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826cloudfront.Distribution(self,"myDist",default_behavior={"origin":origins.HttpOrigin("www.example.com")})

有关详细信息,请参阅@aws-cdk/aws-cloudfront的文档。在

故障转移源(源组)

您可以为需要高可用性的场景设置CloudFront和origin failover。 首先,创建具有两个原点的原点编组:主原点和次原点。 如果主源不可用,或返回指示失败的特定HTTP响应状态代码, CloudFront会自动切换到辅助原点。 您可以使用OriginGroup类在CDK中实现该行为:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826cloudfront.Distribution(self,"myDist",default_behavior={"origin":origins.OriginGroup(primary_origin=origins.S3Origin(my_bucket),fallback_origin=origins.HttpOrigin("www.example.com"),# optional, defaults to: 500, 502, 503 and 504fallback_status_codes=[404])})

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?