如何在 Ubuntu 上使用 Python Boto3 创建 VPC如何在 Ubuntu 上使用 Python Boto3 创建 VPC如何在 Ubuntu 上使用 Python Boto3 创建 VPC如何在 Ubuntu 上使用 Python Boto3 创建 VPC
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 上使用 Python Boto3 创建 VPC

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Boto3 是适用于 Python 的 Amazon Web Services (AWS) SDK。它是允许用户或开发人员创建、配置和管理 AWS 服务和资源的 Python 库。 Boto3 为 AWS 服务提供了 API,可用于管理 EC2、RDS、S3 等 AWS 服务和资源。

要了解有关 Boto3 的更多信息,您可以在此处访问其官方网站。

在我们继续之前,我假设您熟悉 VPC。如果没有,您可以单击此处了解如何从 AWS 控制台创建 VPC。

在本文中,我们将了解如何安装 Boto3 库并使用它在 AWS 中创建一个简单的 VPC 及其依赖组件。我们将在 VPC 中创建一个公共子网。

先决条件

  1. AWS 帐户(如果没有,请创建)
  2. 对 VPC 的基本了解
  3. 对 Python 的基本了解
  4. 系统支持Python

我们将要做什么

  1. 安装 Boto3
  2. 知道需要的方法
  3. 使用 Python Boto3 创建 VPC

安装 Boto3

Python 在 Ubuntu 18.04 Server 中默认自带,所以你不需要安装它。

要检查系统上的 Python 版本,请使用以下命令。

哪个 python
/usr/bin/python --version

或者

蟒蛇--版本

如果您没有 pip 并且使用的是 Ubuntu 18.04,请执行以下命令首先更新本地存储库。

须藤更新

要安装 pip,请使用以下命令

sudo apt 安装 python-pip

要检查安装的 Pip 版本,请执行以下命令。

pip --version

一旦你有了 python 和 pip,你就可以安装 Boto3。

安装 Boto3 非常简单直接。要安装 Boto3,请使用以下命令。

pip install boto3

要检查是否安装了 Boto3 并检查其版本,请执行以下命令。

点显示boto3


了解所需的方法

要创建 VPC 及其依赖组件,我们将使用以下方法。

  1. 创建_vpc
  2. 创建路由表
  3. 创建互联网网关
  4. 创建子网
  5. associate_with_subnet

现在,让我们看看这些方法及其可接受的参数列表。我们不会使用所有参数,但如果您愿意,可以尝试一下。

create_vpc 方法的请求语法

response = client.create_vpc(
    CidrBlock='string',
    AmazonProvidedIpv6CidrBlock=True|False,
    Ipv6Pool='string',
    Ipv6CidrBlock='string',
    DryRun=True|False,
    InstanceTenancy='default'|'dedicated'|'host',
    Ipv6CidrBlockNetworkBorderGroup='string'
)

  1. CidrBlock:VPC 的 IPv4 网络范围,采用 CIDR 表示法。这是必填字段,没有它就无法创建 VPC。

create_route_table 方法的请求语法

route_table = ec2.create_route_table(
    DryRun=True|False,
    VpcId='string'
)

  1. VpcId:VPC 的 ID。这是必填字段,用于在指定的 VPC 中创建路由表

create_internet_gateway 方法的请求语法

response = client.create_internet_gateway(
    DryRun=True|False
)

每个 VPC 都有一个互联网网关。这将与 VPC 相关联

create_subnet 方法的请求语法

subnet = ec2.create_subnet(
    AvailabilityZone='string',
    AvailabilityZoneId='string',
    CidrBlock='string',
    Ipv6CidrBlock='string',
    OutpostArn='string',
    VpcId='string',
    DryRun=True|False
)

  1. CidrBlock:子网的 IPv4 网络范围,采用 CIDR 表示法。这用于细分 VPC。
  2. VpcId:VPC的ID。

associate_with_subnet 方法的请求语法

route_table_association = route_table.associate_with_subnet(
    DryRun=True|False,
    SubnetId='string',
    GatewayId='string'
)

  1. SubnetId:子网的 ID。
    或者
  2. GatewayId:互联网网关或虚拟专用网关的 ID。

要创建 VPC,请使用以下代码块创建 \vpc.py\。

确保将 \aws_access_key_id_value\ 和 \aws_secret_access_key_value\ 的值分别更改为您自己的 access_key_id 和 access_key_value。同时更改 \region_name\ 的值。

如果您愿意,您可以更改 \create_vpc\ 和 \create_subnet\ 的 CidrBlock 值,也可以保持原样。

vim vpc.py

import boto3

ec2 = boto3.resource('ec2', aws_access_key_id='ACCESS-KEY-OF-THE-AWS-ACCOUNT',
                     aws_secret_access_key='SECRETE-KEY-OF-THE-AWS-ACCOUNT',
                     region_name='AWS-Region')

vpc = ec2.create_vpc(CidrBlock='192.168.0.0/16')
# Assign a name to the VPC
vpc.create_tags(Tags=[{"Key": "Name", "Value": "my_vpc"}])
vpc.wait_until_available()
print(vpc.id)

# Create and Attach the Internet Gateway
ig = ec2.create_internet_gateway()
vpc.attach_internet_gateway(InternetGatewayId=ig.id)
print(ig.id)

# Create a route table and a public route to Internet Gateway
route_table = vpc.create_route_table()
route = route_table.create_route(
    DestinationCidrBlock='0.0.0.0/0',
    GatewayId=ig.id
)
print(route_table.id)

# Create a Subnet
subnet = ec2.create_subnet(CidrBlock='192.168.1.0/24', VpcId=vpc.id)
print(subnet.id)

# associate the route table with the subnet
route_table.associate_with_subnet(SubnetId=subnet.id)

现在,要创建具有上述指定配置的 VPC,请使用以下命令执行 python 脚本。

蟒蛇vpc.py

您可以验证是否已从 AWS 控制台创建 VPC。

在上面的截图中,您可以看到具有指定CIDR 和名称的VPC 已经创建。您可以检查子网、Internet 网关、路由表等组件。

结论

在本文中,我们了解了如何使用公有子网创建 VPC。我们在 VPC 中创建了路由表、Internet 网关、子网。我们看到了子网如何与具有到 Internet 网关的公共路由的路由表相关联。您现在可以自定义此代码并创建具有多个子网的 VPC,将它们与路由表相关联,并根据您的要求拥有公共或私有子网。要创建私有子网,您需要创建一个 Nat 网关并将其与子网相关联。然后,此关联将使子网成为专用子网,并与 Internet 建立传出连接。

©2015-2025 Norria support@alaica.com