上手教程:使用Terraform打造弹性VPC架构

最近Akamai发布的虚拟专用云(VPC)功能提供了一种隔离的网络,让云资源可以用私密的方式进行通信。

关于Akamai VPC功能,最棒的地方在于它有着极高的灵活性。用户可以通过Cloud Manager、开发人员工具(如CLI)或者基础设施即代码工具Terraform来添加计算实例。本文将告诉大家如何使用Terraform部署VPC并动态添加子网。

使用Terraform的原因在于:我们可以在一个地方看到应用程序的所有配置,从而方便地在另一个环境中复制这些资源,将资源移到不同的账户等。这等于为我们环境提中的资源提供了一种“单一事实来源”,有助于缓解配置漂移的情况。

先决条件

在开始后续操作之前,请确保自己满足下列条件:

  1. 一个Linode账户。如果没有,可以在这里免费注册一个。
  2. Linode v4 API的个人访问令牌,Terraform需要使用此令牌与我们的Linode资源进行交互。
  3. 在本地计算机上安装了Terraform。
  4. 基本的命令行使用知识。


步骤1:创建Terraform配置文件

​我们将从为Terraform设置Linode提供程序开始。为这个Terraform项目创建一个新目录,并创建一个名为terraform.tf的文件。我们没有从零开始构建配置文件,而是利用了Terraform注册表。

​首先,在Terraform注册表中找到Linode VPC。在页面右侧,点击“Use Provider”,并将下拉菜单中的代码复制到我们自己的terraform.tf文件中。然后从VPC的“Example Usage”部分复制并粘贴代码。

我们的配置文件看起来应该是这样的:

请注意:大家还需要替换这里列出的授权密钥和Root密码。

terraform {required_providers {linode = {source = "linode/linode"version = "2.13.0"}}
}
provider "linode" {token = "your_api_token"
}
resource "linode_vpc" "test" {label = "test-vpc"region = "us-iad"description = "My first VPC."
}

步骤2:部署配置文件

要部署配置文件,请运行terraform plan,然后运行terraform apply。

随后,当我们进入云仪表板时,会看到VPC已显示在这里。

利用基础设施即代码方式来部署VPC,能在管理云基础设施时提供更大的控制力、一致性、敏捷性和效率,同时还可有效降低人为错误的可能性,让部署变得更快速可靠。

步骤3:向VPC添加子网

​向VPC添加子网,这是设计一个有序、安全、可扩展的云基础设施的重要先决条件,而这也需要与我们的应用程序和服务的具体需求保持一致。通过添加子网,可以将我们的VPC逻辑分割成更小、更易管理的网络。这种分割有助于根据功能、安全需求或其他因素对资源进行分组。例如,我们可能会为Web服务器、数据库和应用程序组件分别设置单独的子网。

子网还允许我们在自己的VPC内有效地管理IP地址。每个子网在其指定的IP地址范围内运行,有助于避免冲突,并提供了IP地址分配的结构化方法。随着基础设施规模扩大并部署更多资源,这种特性会变得越来越重要。

子网充当了安全边界,使我们能根据子网托管的资源的敏感性,为每个子网实施不同的安全措施。例如,我们可以对数据库子网应用比Web服务器子网更严格的安全规则。这也有助于实施最小权限原则。

​子网还在VPC内路由和优化网络流量方面发挥着关键作用。我们可以配置路由表,根据特定需求在不同子网之间引导流量。这种灵活性使我们能为自己的应用程序设计最有效的通信路径。

​那么接下来,让我们向VPC添加一些子网。为此请编辑terraform.tf文件,添加一个vpc_subnet资源块。

请注意:我们需要替换成自己的vpc_id,这个信息显示在云仪表板中。

resource "linode_vpc_subnet" "vpc-subnet-terraform-subnet-01" {vpc_id = "your_vpc_id"label = "vpc-subnet-terraform-subnet-01"ipv4 = "192.168.1.0/24"
}
resource "linode_vpc_subnet" "vpc-subnet-terraform-subnet-02" {vpc_id = "your_vpc_id"label = "vpc-subnet-terraform-subnet-02"ipv4 = "10.0.0.0/24"
}

运行terraform apply来应用这些更改。

这样我们的VPC就有2个子网了。在Cloud Manager中可以看到这些变化:

注意事项:

  1. 每个子网只应有一个vpc_subnet资源块。
  2. 同一VPC内子网的IPv4地址范围不能有重叠。

Akamai VPC与其他超大规模云服务商的差异之处

​Akamai VPC有一个非常显著的独特之处:在定义子网时所具备的灵活性。在许多传统的超大规模云服务提供商中,在这方面往往有一个严格的要求,即VPC中的所有子网必须共享相同的RFC1918范围或块。这基本上意味着:一旦为VPC设置了顶级CIDR范围,其中的所有子网都将被限制在这个特定的地址空间内。

然而,Akamai采用了一种不同的,并且更灵活多样的方法。Akamai VPC允许每个子网存在于其自己的RFC1918范围或块中。这意味着用户可以根据具体用例,以最适合的方式自由地设计自己的网络架构。例如,用户可以在192.168/16空间中运行一个子网,而另一个子网在10/8空间中运行,并且可以让这两个子网加入到同一个VPC中。

这种灵活性非常实用,尤其是当我们的应用程序或业务需求发生变化时。与一些超大规模云服务提供商施加的限制不同,Akamai VPC允许用户动态添加具有不同范围的子网。因此,如果需求发生变化或应用程序有所扩展,用户可以轻松地集成新的子网,而不受预定义顶级CIDR范围的限制。这种灵活性符合现代云架构对多样化网络需求的要求,而这也使Akamai VPC显得与众不同,提供了与当今云环境动态的特性完美契合,并且可定制,可扩展性的VPC功能。


Akamai VPC现已在各大核心区域可用,并且我们还将根据用户反馈和需求逐渐为VPC添加更多功能和特性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/497803.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于python的扫雷游戏

游戏 游戏目标: 揭开所有非地雷的格子。 如果揭开地雷,游戏失败。 使用标记功能(🚩)来标记可能的地雷位置。 格子类型: 空白格子:表示周围没有地雷。 数字格子:显示周围 8 个格子…

利用Java爬虫速卖通按关键字搜索AliExpress商品

在这个信息爆炸的时代,数据的价值日益凸显。对于电商领域的从业者来说,能够快速获取商品信息成为了一项重要的技能。速卖通(AliExpress)作为全球领先的跨境电商平台,拥有海量的商品数据。本文将介绍如何使用Java语言编…

Java中三大构建工具的发展历程(Ant、Maven和Gradle)

🐸 背景 我们要写一个Java程序,一般的步骤是编译,测试,打包。 这个构建的过程,如果文件比较少,我们可以手动使用java, javac,jar命令去做这些事情。但当工程越来越大,文件越来越多&#xff0c…

ubuntu快速入门

1.进入某个文件夹 cd workspace/2.tab自动补全 3.列出当前文件夹所有文件 ls列出所有文件包括隐藏文件 ls -a 4.创建文件夹 mkdir linuxLearn 5.创建文件 gedit command.sh在commmand.sh键入 echo hello echo hi? echo how are you? PS:touch hello.txt(也可以创建新…

meshy的文本到3d的使用

Meshy官方网站: 中文官网: Meshy官网中文站 ​编辑 Opens in a new window ​编辑www.meshycn.com Meshy AI 中文官网首页 英文官网: Meshy目前似乎还没有单独的英文官网,但您可以在中文官网上找到英文界面或相关英文资料。 链…

嵌入式入门Day34

网络编程 Day1 为什么要学习网络编程?网络发展历史APRAnet阶段TCP/IP两个协议阶段网络体系结构及OSI开放系统系统互联模型网络体系结构概念OSI开放系统互联模型 TCP和UDP异同网络基础相关的概念字节序IP地址的转换IP地址子网掩码端口号 为什么要学习网络编程&#x…

代码解析:安卓VHAL的AIDL参考实现

以下内容基于安卓14的VHAL代码。 总体架构 参考实现采用双层架构。上层是 DefaultVehicleHal,实现了 VHAL AIDL 接口,并提供适用于所有硬件设备的通用 VHAL 逻辑。下层是 FakeVehicleHardware,实现了 IVehicleHardware 接口。此类可模拟与实…

【视觉惯性SLAM:四、相机成像模型】

相机成像模型介绍 相机成像模型是计算机视觉和图像处理中的核心内容,它描述了真实三维世界如何通过相机映射到二维图像平面。相机成像模型通常包括针孔相机的基本成像原理、数学模型,以及在实际应用中如何处理相机的各种畸变现象。 一、针孔相机成像原…

【前端,TypeScript】TypeScript速成(二):逻辑控制与循环

TypeScript 当中的逻辑控制 if-else if-else 的使用和其它语言非常相似: let answer: yes|no|maybe|undefined undefinedlet httpStatus: 200 | 404 | 500 | 200 | 404 | 500 200function processHttpStatus(s: 200 | 404 | 500 | 200 | 404 | 500) {// 一律使…

JSON 系列之1:将 JSON 数据存储在 Oracle 数据库中

本文为Oracle数据库JSON学习系列的第一篇,讲述如何将JSON文档存储到数据库中,包括了版本为19c和23ai的情形。 19c中的JSON 先来看一下数据库版本为19c时的情形。 创建表colortab,其中color列的长度设为4000。若color的长度需要设为32767&a…

TOGAF之架构标准规范-业务架构

TOGAF标准规范中,业务架构阶段的主要工作是开发支持架构愿景的业务架构。 如上所示,业务架构(Business Architecture)在TOGAF标准规范中处于B阶段,该阶段的主要内容包括阶段目标、阶段输入、流程步骤、架构方法。 阶段…

科技创新 数智未来|清科·沙丘投研院走进竹云

12月20日,清科沙丘投研院带领企投家团队走进竹云交流分享,聚焦技术创新、企业数字化管理、行业前沿应用案例等热点议题,深入探讨数字技术如何点燃企业高质量发展的澎湃动力,共话企业数字化、智能化发展之道。 达晨财智股权管理部…

【免费分享】mysql笔记,涵盖查询、缓存、存储过程、索引,优化。

概括 本篇笔记涵盖基础查询、视图、存储过程、函数、索引、优化、分库分表。适合在学完mysql后进行时常观看。下面展示部分内容。如果需要可以在文章底部的链接进行下载查看。 简介 数据库 数据库:DataBase,简称 DB,存储和管理数据的仓库…

Docker 安装全攻略:从入门到上手

Docker 安装全攻略:从入门到上手 在当今的软件开发与部署领域,Docker 已经成为了一项不可或缺的关键技术。它能够将应用程序及其依赖项打包成轻量级、可移植的容器,极大地简化了开发、测试和部署的流程。本文将详细讲解在不同操作系统下 Doc…

mysql建立主从集群

mysql建立主从集群需要多个mysql服务器,主从数据库是通过log日志来进行同步的,所以需开启log-bin。本地安装多个mysql参考底部 主数据库配置 打开主数据库my.ini配置文件,给其配置server_id1 [mysqld] port3306 basedirD:/phpstudy_pro/1/…

curl+openssl 踩坑笔记

curl编译:点击跳转 踩坑一 * SSL certificate problem: unable to get local issuer certificate * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html …

【开源免费】基于SpringBoot+Vue.JS租房管理系统(JAVA毕业设计)

本文项目编号 T 102 ,文末自助获取源码 \color{red}{T102,文末自助获取源码} T102,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

小程序配置文件 —— 13 全局配置 - window配置

全局配置 - window配置 这里讲解根目录 app.json 中的 window 字段,window 字段用于设置小程序的状态栏、导航条、标题、窗口背景色; 状态栏:顶部位置,有网络信号、时间信息、电池信息等;导航条:有一个当…

BLE core 内容整理解释

本文内容比较杂散,只是做记录使用,后续会整理的有条理些 link layer 基本介绍 **Link Layer Control(链路层控制)**是蓝牙低功耗(BLE)协议栈的核心部分,负责实现设备间可靠、安全、低功耗的数…

【目标跟踪+人流计数+人流热图(Web界面)】基于YOLOV11+Vue+SpringBoot+Flask+MySQL

前言 本系统是基于YOLOv11SpringBootVueFlaskMySQL的人流计数、人流热图系统(包含YOLO全系列) 系统可以上传视频选择yolo模型进行人流计数。还支持自主划定检测区域,行人轨迹追踪、查看计数结果等功能。 可支持人流计数、人流热图以及人流热…