小铨,铨程互动科技创始人,诞生于 1994 年 7 月 24 日(农历),目前是一个码农,从事 PHP/GO 开发。一枚想让腾讯的马化腾,阿里巴巴的马云来挖我墙角的 90 后程序员。
AWS CDK 介绍
1.什么是 CDK?
AWS CDK,与使用 YAML(或 JSON)的声明式方法相比,CDK 允许您命令式声明基础设施。主要语言为 TypeScript,同时也支持另外几种语言。
2.为什么要使用 AWS CDK?
增强基础设施,为了操作 awk 的接口,对 awk 的实例等进行操作
3.aws-route53 是干啥的?
Amazon Route 53 是一种具有很高可用性和可扩展性的域名系统 (DNS) Web 服务。您可以使用 Route 53 以任意组合执行三个主要功能:域注册、DNS 路由和运行状况检查。如果选择使用 Route 53 来执行所有这三种功能:
1)域名注册
2)将 Internet 流量路由到您的域的资源
3)检查资源的运行状况
如何使用 aws-route53
1.安装 aws-route53
## 方法一:python官方源安装pip3 install aws-cdk.aws-route53
## 方法二:阿里云镜像源安装pip3 install aws-cdk.aws-route53 -i https://mirrors.aliyun.com/pypi/simple/
## 方法三:使用pycharm直接安装
复制代码
2.添加托管区域
## 导入aws_route53别名为route53import aws_cdk.aws_route53 as route53
## 使用route53的PublicHostedZone方法来添加公共托管区域route53.PublicHostedZone(self, "HostedZone",## zone_name制定区域名 zone_name="fully.qualified.domain.com")
复制代码
使用PrivateHostedZone添加私有托管区域
enableDnsHostnames和enableDnsSupport必须已为正在为专用托管区域配置的专有网络。
## 导入ec2实例方法import aws_cdk.aws_ec2 as ec2## 导入route53方法import aws_cdk.aws_route53 as route53
## 实例化vpcvpc = ec2.Vpc(self, "VPC")
## 实例化私有区域zone = route53.PrivateHostedZone(self, "HostedZone", zone_name="fully.qualified.domain.com", vpc=vpc)
复制代码
注意:可以使用zone.addVpc()添加额外的 VPC。
3.添加记录
## 导入route53import aws_cdk.aws_route53 as route53
## 使用TxtRecord方法route53.TxtRecord(self, "TXTRecord", zone=my_zone, record_name="_foo", # 如果名称以“.”结尾,则按原样使用; # 如果它以“.”结尾,后跟区域名称,则会自动添加一个结尾“.”; # 否则,将自动添加“.”、区域名称和尾随的“.”。 # 如果未指定,则默认为区域根目录。 ## 值 values=["Bar!", "Baz?"], ## ttl刷新时间 ttl=Duration.minutes(90))
复制代码
## 导入route53import aws_cdk.aws_route53 as route53
## 使用ARecord方法,添加A记录route53.ARecord(self, "ARecord",## 指定zone名 zone=my_zone,## 指定目标主机 target=route53.RecordTarget.from_ip_addresses("1.2.3.4", "5.6.7.8"))
复制代码
## 导入route53import aws_cdk.aws_route53 as route53## 导入targetimport aws_cdk.aws_route53_targets as targets
## 使用AaaaRecord方法添加aaaa记录route53.AaaaRecord(self, "Alias", zone=my_zone,## 指定目标target=route53.RecordTarget.from_alias(targets.CloudFrontTarget(distribution)))
复制代码
结构可用于 A、AAAA、CAA、CNAME、MX、NS、SRV 和 TXT 记录。
使用CaaAmazonRecord构造轻松限制证书颁发机构,只允许向 Amazon 颁发域证书。
4.将记录添加到现有托管区域
zone = HostedZone.from_hosted_zone_attributes(self, "MyZone", zone_name="example.com", hosted_zone_id="ZOJJZC49E0EPZ")
复制代码
HostedZone.from_lookup(self, "MyZone", domain_name="example.com")
复制代码
评论