PowerShell 自动化管理 AWS(4)- VPC
豆子继续来看看PowerShell 如何管理 AWS的虚拟网络 VPC。
网上我没有找到快速上手的文档,相关的命令主要来自官方api文档和get-command的搜索。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#route-tables-api-cli
VPC的配置向导里面默认给了4种场景的配置方案,下面我以第一种最简单的场景为例,用PowerShell配置一下。
场景如下,简单的说,我需要配置一个VPC,里面再进一步划分一个子网作为公共区域,这个公共区域需要通过一个网关访问互联网,我需要给他配置路由表
现在看看具体的命令
首先创建一个新的VPC 10.2.0.0/16
#VPC #Create new VPC New-EC2Vpc -CidrBlock 10.2.0.0/16
然后在这个VPC里面划分一个子网 10.2.1.0/24
#Create subnet in the new VPC $vpcid=get-ec2vpc | Where-Object {$_.Cidrblock -eq "10.2.0.0/16"} | select -ExpandProperty vpcid New-EC2Subnet -CidrBlock 10.2.1.0/24 -VpcId $vpcid
登录网页看看,已经成功创建了,不过他没有name的Tag,看起来不方便。
我给他添加一个Tag,标明他的位置在Sydney
$subid=Get-EC2Subnet | Where-Object{$_.CidrBlock -eq "10.2.1.0/24"} | select -ExpandProperty SubnetId #Add a Name Tag to the Subnet $tag=new-object Amazon.EC2.Model.Tag -Property @{key="Name";value="Sydney"} New-EC2Tag -Resource $subid -Tag $tag
执行命令之后可以看见名字已经更新了
接下来,我需要配置一个网关,首先看看有没有空余的,如果没有的话,就自己创建一个
#Create Internet Gateway, if there is no free IGW, create a new one and attach to VPC if((Get-EC2InternetGateway | Where-Object {$_.Attachments[0] -eq $null} | measure).count -eq 0){ New-EC2InternetGateway }
创建以后的界面如下所示,目前没有名字,也没有绑定到任何的VPC网络。
给个名字,然后绑定上面创建的VPC中(注意不是Subnet)
$igwid=Get-EC2InternetGateway | Where-Object {$_.Attachments[0] -eq $null} | select -ExpandProperty internetGateWayId new-EC2tag -Resource $igwid -Tag $tag Get-EC2InternetGateway $igwid|Add-EC2InternetGateway -VpcId $vpcid
如果想取消绑定,空余使用 dismount的命令
Dismount-EC2InternetGateway -InternetGatewayId igw-08d9476d -VpcId $vpcid
最后,我们来看看路由表。 他默认会成一个主路由表,里面有个默认的路由指向本地。
我可以直接修改这个主路由表,也可以创建一个新的
比如说,我创建一个新的,然后在他上面添加一个新的路由,所有的网络访问都指向我的网关。
#RouteTable New-EC2RouteTable -VpcId $vpcid $routetable=Get-EC2RouteTable | Where-Object {$_.VpcId -eq $vpcid} #Add new Route New-EC2Route -DestinationCidrBlock "0.0.0.0/0" -GatewayId $igwid -RouteTableId $routetable.RouteTableId
如下所示
我还可以强制关联到对应的子网。如果是在默认的主路由表里面的话,所有的子网都会自动继承VPC相关的路由,当然我前面创建了一个新的,我也可以强制的绑定某个子网到这个路由表。
命令如下
Get-EC2Subnet -SubnetId $subid | gm Register-EC2RouteTable -RouteTableId $routetable.RouteTableId -SubnetId $subid
这样,一个最简单的VPC网络就完成了,包括VPC,Subnet,互联网网关,路由表。其余的公网IP,映射,DHCP等等我都没有进行手动配置,默认AWS都已经自动配置好可以使用了。
下一篇来看看ELB和AutoScaling的使用。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
虚拟化基础架构Windows 2008篇之11-WSUS服务器的安装与配置
看完文章,请顺手投我一票(王春海),谢谢 http://edu.51cto.com/activityvote/voteRanking 京东6.18结束了,IT人自己的6.18来了!!!51CTO学院3周年(6月30日—7月1日)70000课程不止5折!http://edu.51cto.com/lecturer/user_id-225186.html 无论是数据中心还是在企业网络中,大多数Windows操作系统都要及时地更新补丁。对于家庭用户来说,或者对于大多数的企业用户来说,习惯于从Windows Update站点在线升级,或者使用第三方的工具(例如360)从Microsoft站点下载升级(360本身不提供补丁及镜像)。但是,当网络中的服务器及工作站数量较多,并且产品较多时,都从Microsoft网站升级,一是速度慢,二是会占用大量的互联网带宽。另外,尤其是在云计算的数据中心,配置新的虚拟服务器是很简单、容易的事情,例如配置一台虚拟机只需要2、3分钟甚至更短的时间,但更新补丁可能会需要几十分钟甚至更长的时间,而其中补丁下载也会占用比较长的时间。 本章介绍Microsoft系统更新服务—...
- 下一篇
天兔(Lepus)监控邮件推送安装配置
好吧,我承认官网的邮件配置教程我又没看懂,这里记录下我的配置方法 [root@HE3]# vi /usr/local/lepus/test_send_mail.py #!/usr/bin/envpython #-*-coding:utf8-*- fromdatetimeimport* importsys path='./include' sys.path.insert(0,path) importfunctionsasfunc #mail_to_list=func.get_option('mail_to_list') send_mail_to_list=func.get_option('send_mail_to_list') mailto_list=send_mail_to_list.split(';') result=func.send_mail(mailto_list,"Ihopeyoucanlearn","BeautifulDay") printresult ifresult: send_mail_status="success" else: send_mail_status...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块