零基础5分钟上手亚马逊云科技核心云开发知识 - 网络基础

简介:

欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。

我会每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿云开发/架构技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS最佳实践,并应用到自己的日常工作里。本次介绍的是如何在亚马逊云科技上创建一个最基础的网络环境VPC,对VPC网络通过公有和私有子网进行划分,并为VPC配置网关和路由表实现VPC内部的EC2服务器、数据库服务器间,及外部用户和EC2服务器间的网络通信。本方案架构图如下:

方案所需基础知识  

亚马逊云科技 VPC 介绍

亚马逊云科技 Virtual Private Cloud(VPC)是一项服务,允许用户在亚马逊云科技的云环境中创建一个逻辑上隔离的网络。通过 VPC,用户可以完全控制虚拟网络的配置,包括选择 IP 地址范围、创建子网、配置路由表和网络网关等。这种定制化的网络环境使得用户能够安全地运行和管理 AWS 资源,并与其他网络进行安全连接。

为什么将 VPC分割成 三层网络架构?

设计 VPC 三层网络架构的目的是构建一个安全、可扩展、易管理的网络环境。通过将网络功能分层,确保每一层的资源安全隔离,同时优化网络性能和管理效率。

增强安全性

网络隔离:将不同功能的资源分配到不同子网,外层子网处理互联网流量,中间层和内层子网保护核心资源,防止外部攻击。

访问控制:通过安全组和网络 ACL 实现精细化访问控制,确保只有授权流量能够访问特定资源。

高可用性与容灾能力

跨可用区部署:在多个可用区创建子网,确保即使某个可用区故障,应用仍能运行。

负载均衡:在外层子网配置负载均衡器,分发流量,确保应用在高流量情况下稳定运行。

优化资源管理

分层管理:不同层的资源可以独立扩展、监控和管理,简化运维。

自动扩展:根据流量变化自动扩展中间层实例,确保资源高效利用。

提高性能与效率

流量优化:通过分层处理流量,提升网络性能和效率。

灵活扩展:独立扩展各层资源,灵活应对业务需求。

本方案包括的内容:

1. 了解构建VPC网络所需组件

2. 为VPC内部的子网配置路由表

3. 为VPC配置网关允许VPC与外部通信

4. 为EC2服务器配置Security Group安全组防火墙,允许外部流量进入

项目搭建具体步骤:

1. 首先我们创建2台EC2服务器,一台安装网页服务器,命名为"Web Server",放置于VPC网络的共有子网。一台安装数据库,命名为”DB Server“,放置于VPC网络的私有子网。

2. 接下来我们进入该网页服务器的子网中,点击进入路由表。

3.点击Edit配置,为路由表添加一个新的路由,将发往0.0.0.0/0的请求通过Internet Gateway发往外部站点,用于网页服务器与外部站点的交互。

4. 我们再点击网页服务器的security Group安全组,进入安全组配置

5. 点击”Edit Inbound Rules“对安全组防火墙的入站规则进行修改。

6. 我们点击Add添加一条防火墙规则,规则配置为HTTP协议,端口80,允许源IP为所有”0.0.0.0/0“。

7. 配置好入站防火墙后,我们再复制该网页服务器的IP,在浏览器中打开。

 8. 就可以打开网页服务器托管的html网页了,我们对数据库服务器应用同样的方法配置路由和防火墙,就可以让网页服务器中的应用访问数据库进行数据读取和写入了。

通过代码创建VPC步骤:

除了通过控制台,我们还可以使用Boto3 SDK的Python代码来创建一个三层网络VPC,代码如下:

import boto3

# Initialize a session using Amazon EC2
ec2 = boto3.resource('ec2')

# Create a VPC
vpc = ec2.create_vpc(CidrBlock='10.0.0.0/16')
vpc.wait_until_available()
print(f'Created VPC: {vpc.id}')

# Enable DNS support and hostnames
vpc.modify_attribute(EnableDnsSupport={'Value': True})
vpc.modify_attribute(EnableDnsHostnames={'Value': True})

# Create an Internet Gateway
igw = ec2.create_internet_gateway()
vpc.attach_internet_gateway(InternetGatewayId=igw.id)
print(f'Created and attached Internet Gateway: {igw.id}')

# Create a Route Table and a public route
route_table = vpc.create_route_table()
route = route_table.create_route(
    DestinationCidrBlock='0.0.0.0/0',
    GatewayId=igw.id
)
print(f'Created Route Table: {route_table.id} and added route to {igw.id}')

# Create subnets
subnet1 = vpc.create_subnet(CidrBlock='10.0.1.0/24', AvailabilityZone='us-east-1a')
subnet2 = vpc.create_subnet(CidrBlock='10.0.2.0/24', AvailabilityZone='us-east-1b')
subnet3 = vpc.create_subnet(CidrBlock='10.0.3.0/24', AvailabilityZone='us-east-1c')

print(f'Created Subnets: {subnet1.id}, {subnet2.id}, {subnet3.id}')

# Associate the route table with the subnets
route_table.associate_with_subnet(SubnetId=subnet1.id)
route_table.associate_with_subnet(SubnetId=subnet2.id)
route_table.associate_with_subnet(SubnetId=subnet3.id)
print(f'Associated route table {route_table.id} with subnets')

print('VPC setup complete!')

代码说明:

VPC创建: ec2.create_vpc创建了一个CIDR块为10.0.0.0/16的VPC,并等待VPC可用。

Internet Gateway创建: ec2.create_internet_gateway创建了一个Internet Gateway,并将其附加到VPC上。

路由表创建与配置: vpc.create_route_table创建了一个路由表,并配置了一条默认路由指向Internet Gateway。

子网创建: 使用vpc.create_subnet在VPC中创建了三个子网,每个子网对应一个不同的可用区。

路由表关联: 将路由表与所有子网关联,使子网中的实例可以通过Internet Gateway访问外部网络。

以上就是在亚马逊云科技上根据网络最佳实践,创建一个多层网络VPC并通过网关让用户访问VPC内服务的全部步骤。欢迎大家关注0基础5分钟上手AWS系列,未来获取更多国际前沿的AWS云开发/云架构方案!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring发送邮件性能优化?如何集成发邮件?

Spring发送邮件安全性探讨!Spring发送邮件功能有哪些? 邮件发送的性能逐渐成为影响用户体验的重要因素之一。AokSend将探讨如何在Spring框架中进行Spring发送邮件的性能优化,确保系统能够高效、稳定地处理大量邮件请求。 Spring发送邮件&am…

Chat App 项目之解析(三)

Chat App 项目介绍与解析(一)-CSDN博客文章浏览阅读76次。Chat App 是一个实时聊天应用程序,旨在为用户提供一个简单、直观的聊天平台。该应用程序不仅支持普通用户的注册和登录,还提供了管理员登录功能,以便管理员可以…

《黑神话:悟空》媒体评分解禁 M站均分82

《黑神话:悟空》媒体评分现已解禁,截止发稿时,M站共有43家媒体评测,均分为82分。 部分媒体评测: God is a Geek 100: 毫无疑问,《黑神话:悟空》是今年最好的动作游戏之一&#xff…

计算机网络部分基础知识

网络协议的意义 单台主机内部的设备之间需要发送和接收消息,那么和相隔很远的两台主机之间发送消息有什么区别呢?两台主机通过网络发送消息,相当于两个网卡设备之间进行通信,最大的区别在于距离变长了。而距离变长带来的结果就是&…

<Linux> 进程控制

目录 一、进程创建 1. fork函数 2. fork函数返回值 3. 写时拷贝 4. fork常规用法 5. fork调用失败原因 6. 如何创建多个子进程? 二、进程终止 1. 进程退出场景 2. 进程退出码 3. errno 4. 进程异常退出 5. 进程常见退出方法 5.1 return退出 5.2 exit退出 5.3 _ex…

【FPGA数字信号处理】- 数字信号处理如何入门?

​数字信号处理(Digital Signal Processing,简称DSP)是一种利用计算机或专用数字硬件对信号进行处理的技术,在通信、音频、视频、雷达等领域发挥着越来越重要的作用,也是FPGA主要应用领域之一。 本文将详细介绍数字信…

Web3链上聚合器声呐已全球上线,开启区块链数据洞察新时代

在全球区块链技术高速发展的浪潮中,在创新发展理念的驱动下,区块链领域的工具类应用备受资本青睐。 2024年8月20日,由生纳(香港)国际集团倾力打造的一款链上应用工具——“声呐链上聚合器”,即“声呐链上数…

ESP RainMaker OTA 自动签名功能的安全启动

【如果您之前有关注乐鑫的博客和新闻,那么应该对 ESP RainMaker 及其各项功能有所了解。如果不曾关注,建议先查看相关信息,知晓本文背景。】 在物联网系统的建构中,安全性是一项核心要素。乐鑫科技对系统安全给予了极高的重视。ES…

OpenCV学堂 | 汇总 | 深度学习图像去模糊技术与模型

本文来源公众号“OpenCV学堂”,仅用于学术分享,侵权删,干货满满。 原文链接:汇总 | 深度学习图像去模糊技术与模型 引言 深度学习在图像去模糊领域展现出了强大的能力,通过构建复杂的神经网络模型,可以自…

Golang | Leetcode Golang题解之第337题打家劫舍III

题目: 题解: func rob(root *TreeNode) int {val : dfs(root)return max(val[0], val[1]) }func dfs(node *TreeNode) []int {if node nil {return []int{0, 0}}l, r : dfs(node.Left), dfs(node.Right)selected : node.Val l[1] r[1]notSelected : …

Kotlin Multiplatform 跨平台开发的优化策略与实践

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Kotlin Multiplatform 跨平台开发的优化策略与实践 在当今快速发展的软件开发领域,跨平台开发技术正变得越来越重要。Kotlin Multi…

Ubuntu中服务部署

Ubuntu中服务部署 一、root用户密码一、SSH远程连接二、JDK1.8安装1、解压上传的安装包2、配置jdk环境变量 三、minio安装1、官网下载安装包2、上传文件并授权3、书写启动脚本4、启动及说明5、启动异常 四、nacos安装1、下载上传安装包,并解压2、修改启动脚本3、配置…

[RCTF2015]EasySQL1

打开题目 点进去看看 注册个admin账户,登陆进去 一个个点开看,没发现flag 我们也可以由此得出结论,页面存在二次注入的漏洞,并可以大胆猜测修改密码的源代码 resoponse为invalid string的关键字是被过滤的关键字,Le…

2百多首胎教儿童音乐ACCESS\EXCEL数据包

还记录之前我搞到过一个《113个大自然声音助眠纯音乐白噪音数据包》吗?今天又遇到了一个胎教儿童音乐,辅助用于怀孕手册、胎教指南、儿童早教类产品是个很不错的数据包哦。 MP3文件对应记录数共258条,大小总容量为1GB,其中分类汇总…

基于JavaWeb的本科生交流培养管理平台的设计与实现--论文pf

TOC springboot529基于JavaWeb的本科生交流培养管理平台的设计与实现--论文pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和…

物联网(IoT)详解

物联网(IoT)详解 1. IoT定义简介2. IoT工作原理3. IoT关键技术4. 物联网与互联网区别5. IoT使用场景6. 开源物联网平台7. 参考资料 1. IoT定义简介 首先第一个问题,什么是物联网(IoT)? 物联网(英文&#…

PyCharm单步调试

1、先在入口设置断点,再点击爬虫图标(shift F9)开始调试 调试图标如图: 2、蓝色光标表示当前运行在这行 3、快捷键 F7:进入当前行函数 F8:单步 F9:全速运行

以FLV解复用为例详解开源库FFmpeg中解复用器的源码逻辑及处理流程

目录 1、FFmpeg简介 2、FLV文件格式介绍 3、注册解复用器 4、解复用器的处理 4.1、AVFormatContext 4.1.1、AVClass 4.1.2、AVOption 4.1.3 AVDictionary—AV字典 4.1.4、AVIOContext 4.1.4.1、URLProtocol 4.1.4.2、AVIOContext的初始化及获取 4.1.5、AVInputF…

【手撕数据结构】链式二叉树

目录 链式二叉树的结构及其声明链式二叉树的四种遍历方式前序遍历中序遍历(中根遍历)后序遍历层序遍历概念思路分析详细代码 求树的节点个数变量累加法(错误)分治递归法 求树的叶子节点个数警惕空指针正确代码 求第k层节点个树思路分析及规则明细代码详细…

算法学习017 不同的二叉搜索树 c++算法学习 中小学算法思维学习 比赛算法题解 信奥算法解析

目录 C不同的二叉搜索树 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、推荐资料 C不同的二叉搜索树 一、题目要求 1、编程实现 给定一个整数n,求以1、2、3、......、n为节点组成的二叉搜索树有多少种…