PowerShell 自动化管理 AWS(4)- VPC

简介:

豆子继续来看看PowerShell 如何管理 AWS的虚拟网络 VPC。


网上我没有找到快速上手的文档,相关的命令主要来自官方api文档和get-command的搜索。

1
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#route-tables-api-cli


VPC的配置向导里面默认给了4种场景的配置方案,下面我以第一种最简单的场景为例,用PowerShell配置一下。


场景如下,简单的说,我需要配置一个VPC,里面再进一步划分一个子网作为公共区域,这个公共区域需要通过一个网关访问互联网,我需要给他配置路由表

wKioL1d1_u3iTAArAAKAzsqyZi0710.png


现在看看具体的命令


首先创建一个新的VPC 10.2.0.0/16

1
2
3
#VPC
#Create new VPC 
New-EC2Vpc  -CidrBlock 10.2.0.0/16

 

wKioL1d1_vXTbr5rAAAmpjFnbdQ174.png


然后在这个VPC里面划分一个子网 10.2.1.0/24

1
2
3
#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

wKiom1d1_v-T5bzoAAA4VC-NFzg804.png


登录网页看看,已经成功创建了,不过他没有name的Tag,看起来不方便。


wKioL1d1_wiCLohxAABfd3EttKs220.png

我给他添加一个Tag,标明他的位置在Sydney


1
2
3
4
$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


执行命令之后可以看见名字已经更新了

wKiom1d1_xHykU91AABdeVbIMco731.png


接下来,我需要配置一个网关,首先看看有没有空余的,如果没有的话,就自己创建一个

1
2
3
4
#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 
}

wKiom1d1_xry2nLOAAAbaPsUKcI820.png

创建以后的界面如下所示,目前没有名字,也没有绑定到任何的VPC网络。


wKioL1d1_yORZMhBAAAjozM0rOU007.png

给个名字,然后绑定上面创建的VPC中(注意不是Subnet)

1
2
3
$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

wKioL1d1_yyBqXesAABFQI7Gi1s660.png

如果想取消绑定,空余使用 dismount的命令

1
Dismount-EC2InternetGateway -InternetGatewayId igw-08d9476d -VpcId  $vpcid


最后,我们来看看路由表。 他默认会成一个主路由表,里面有个默认的路由指向本地。

1
<br>

wKiom1d1_zWjdyggAAAx814pjrc191.png


我可以直接修改这个主路由表,也可以创建一个新的


比如说,我创建一个新的,然后在他上面添加一个新的路由,所有的网络访问都指向我的网关。

1
2
3
4
5
#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


如下所示

wKioL1d1_z7zG2PeAAArGIDYbJY472.png

我还可以强制关联到对应的子网。如果是在默认的主路由表里面的话,所有的子网都会自动继承VPC相关的路由,当然我前面创建了一个新的,我也可以强制的绑定某个子网到这个路由表。


命令如下

1
2
Get-EC2Subnet  -SubnetId  $subid  | gm
Register-EC2RouteTable  -RouteTableId  $routetable .RouteTableId -SubnetId  $subid

wKiom1d1_0fiG8aLAAA5sjsv3g8423.png


这样,一个最简单的VPC网络就完成了,包括VPC,Subnet,互联网网关,路由表。其余的公网IP,映射,DHCP等等我都没有进行手动配置,默认AWS都已经自动配置好可以使用了。






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1794912,如需转载请自行联系原作者

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云专有网络VPC使用教程
专有网络VPC可以帮助您基于阿里云构建出一个隔离的网络环境,并可以自定义IP 地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN/GRE等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。 产品详情:https://www.aliyun.com/product/vpc
目录
相关文章
|
1月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
32 0
|
4月前
|
监控 数据挖掘 BI
ERP系统中的工作流管理与自动化
【7月更文挑战第25天】 ERP系统中的工作流管理与自动化
183 2
ERP系统中的工作流管理与自动化
|
4月前
|
机器学习/深度学习 人工智能 运维
智能化运维的崛起:自动化与人工智能在IT管理中的融合
本文深入探讨了智能化运维在现代企业中的重要性,并分析了自动化技术和人工智能(AI)如何共同推动IT运维管理的革新。文章首先概述了传统运维面临的挑战,然后详细介绍了智能化运维的核心概念和实施步骤,最后通过具体案例展示了智能化运维在实际工作中的应用效果和潜在价值。
131 0
|
5月前
|
存储 SQL 运维
使用PowerShell进行自动化脚本编写:入门与实战
【6月更文挑战第6天】本文介绍了PowerShell作为Windows系统管理的自动化工具,用于提升效率和减少错误。内容涵盖PowerShell基础,如变量、命令执行、管道、条件和循环语句、函数。实战案例展示了如何用PowerShell脚本进行文件备份。此外,还提及PowerShell的进阶功能,如模块、远程管理和与其他工具集成。学习和应用PowerShell能有效提升IT运维自动化水平。
|
6月前
|
存储 弹性计算 运维
自动化合同管理与执行
【4月更文挑战第30天】
28 2
|
6月前
|
弹性计算 运维 Shell
自动化客服任务分配与优先级管理
【4月更文挑战第30天】
67 0
|
6月前
|
弹性计算 运维 Shell
自动化软件包安装与管理
【4月更文挑战第30天】
34 0
|
6月前
|
存储 分布式计算 监控
使用Airflow管理大数据工作流:自动化任务调度与依赖
【4月更文挑战第8天】Apache Airflow是一款开源的工作流管理工具,用于高效组织和调度大数据任务。它基于DAG(有向无环图)定义任务依赖,通过Operators(如BashOperator、PythonOperator)执行不同工作,并通过Scheduler和Executor协调任务执行。Web UI提供监控界面,Metadata DB存储元数据。创建DAG涉及定义DAG属性、Task及依赖关系,然后部署到Airflow环境。进阶功能包括Variables和Connections管理、XCom跨Task通信、自定义Operator及Plugin、高级调度与告警设置。
537 0
|
1月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
65 4
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4