亚马逊AWS官方博客

Tag: AWS VPC

aws-cloudformation

建立 VPC 并基于参数动态创建子网的 CloudFormation 模板

本文介绍一个可以建立包含多个(可自定义)子网(包含子网路由)的 VPC 脚本。通过这个脚本创建 VPC 时,不需要指定每个子网的 CIDR, 只需要输入子网支持的 IP 地址个数,子网的路由类型(内部子网,通过 NAT 访问 Internet 或者通过 Internet Gateway 访问 Internet),在VPC内对S3和DynamoDB的访问,该脚本会自动创建 VPC EndPoint 并配置合适的路由。配合文中提到的其他脚本,可以快速创建 Landing Zone(AWS 基本运行环境,包含 VPC, Subnet, 堡垒机,CloudTrail, AWS Config, Log 复制等)

Read More

使用Docker封装IPSec安全网关

随着云成为新常态,越来越多的客户开始采用AWS云服务,使用VPN隧道安全的连接到AWS成为一个常见的场景。本文介绍一种仅需少量交互与配置即可与多个AWS VPC建立动态路由VPN连接并在各个互联VPC之间转发流量的方案。该方案主要使用了Docker、IPSec套件strongSwan、动态路由软件BIRD,并在此基础上,使用AWS SDK for Python( Boto 3)、docker-py等实现快速建立与AWS VPC的动态VPN。 项目中使用的Dockerfile、相关的shell脚本以及Python应用等源文件均已经在这里开放,做为一种快速部署Customer Gateway的方法,供各位读者参考。 本文假定读者从概念上理解AWS VPC、IPSec VPN以及动态路由协议BGP。如果希望了解更多如何与AWS VPC建立VPN连接的信息,读者可以参考 AWS VPC 网络管理员指南。 如何使用 我们从最基本的场景开始,假定您需要将本地网络与单个AWS VPC通过IPSec隧道互联。 图中Customer Gateway应为一台可以访问Internet且IP固定的 Linux服务器, 这台服务器将作为IPSec网关和BGP路由器,将内部网络与AWS VPC通过IPSec隧道和BGP动态路由协议连接起来。 在Customer Gateway上执行如下预备工作: 一、我们需要 预先安装和配置好docker引擎; 二、我们的脚本使用了Python和一些第三方库,所以需要安装Python 2.7或更新版本以及Python包管理工具,例如pip 三、通过pip安装如下软件包; a. boto3 —— AWS SDK for Python,用于获取VPN连接的配置信息 b. xmltodict —— 便于python处理XML格式的数据 c. docker-py —— 用于连接docker engine并创建、运行容器 四、配置boto3连接AWS的 IAM凭证,需要注意使用的IAM用户需要拥有执行describe_vpn_connections API所需的权限。 $ cat  ~/.aws/credentials [default] […]

Read More