将路径53 ptr记录关联到特定vpc。
r53-ptr-vpc-associator的Python项目详细描述
R53_ptr_vpc_associator
这是一个将反向区域关联到专有网络的程序。它与https://github.com/aws-samples/aws-lambda-ddns-function
先决条件
强烈建议您在python虚拟环境中运行此包,因此 您不会影响您的台式机/笔记本电脑。要设置python虚拟环境,您应该 请确保已安装python3,然后执行以下操作。
注:我为什么要这样做。使用python虚拟环境,可以创建 许多虚拟环境都是您所希望的,并且有不同的python版本。这些 虚拟环境被隔离在一个目录中,不会影响 你的电脑。这样,你就可以测试并确保一切正常。
首先,找出安装在机器上的python版本的路径。
which python3
/usr/local/bin/python3
接下来,您应该pip安装virtualenv包
pip install virtualenv
接下来,您应该创建一个目录,在其中保存虚拟环境, 并使用上面找到的python版本的路径创建一个新的virtualenv。
mkdir ~/virtual_environments
cd virtual_environments
virtualenv -p /usr/local/bin/python3 my_python3_virtualenv
激活虚拟环境
source ~/virtual_environments/my_python3_virutalenv/bin/activate
注意:要停用虚拟环境
deactivate
安装
一般用法:
pip install r53_ptr_vpc_associator
当地发展:
git clone https://github.com/rubelw/r53_ptr_vpc_associator
cd r53_ptr_vpc_associator
pip install --editable . # Install the local dir as a package, including the 'dev' extras
示例
获取帮助
$ associator --help
Usage: associator [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
associate Associated hosted zones to vpc
zone-list List vpcs for hosted zones
列出当前区域/vpc关联
$ associator zone-list --profile-name default
{
'/hostedzone/Z1H1CDD4PZKKPB': [
{
'VPCRegion': 'us-east-1',
'VPCId': 'vpc-99999999'
},
{
'VPCRegion': 'us-east-2',
'VPCId': 'vpc-99999999'
}
]
}
关联区域
$ associator associate --profile-name default --vpc-id vpc-99999999 --vpc-region us-east-2
[
'Successfully associated zone: /hostedzone/A3G1CDD4PZKKPB with vpc: vpc-99999999',
'Successfully associated zone: /hostedzone/HR2F2BVHDW5UD with vpc: vpc-99999999',
'Successfully associated zone: /hostedzone/V6B06KVZ0ZL9U5 with vpc: vpc-99999999',
'Successfully associated zone: /hostedzone/D7JTQ7EDFFYOWN with vpc: vpc-99999999'
]
以lambda的身份运行
运行make_lambda-zip命令。这将利用/tmp目录 创建包。
associator make-lambda-zip
################################################################################
Zip package located at: /tmp/r53_ptr_vpc_associator/LambdaDeploymentPackage.zip
################################################################################
部署lambda,您可以使用任何其他lambda包,但请确保 设置环境变量。
PROFILE_NAME = lambda
VPC_ID = vpc-xxxxxxx
VPC_REGION = us-east-1
一旦部署,就可以通过在控制台中创建任何测试来测试lambda。 lambda不使用事件消息,因此任何事件消息都将用于 触发lambda。
测试
在提交更改之前,请确保运行测试套件:
tox
python 3兼容性
此工具与python 3.5+兼容。
tox库用于运行多个python版本的测试。要运行这些测试,首先确保所有受支持的python版本都在本地安装。然后,只需运行:
tox