二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

    • AWS运维部署实践--网络环境规划
      • 前言
      • 规划
      • 创建VPC
      • 打通VPC
      • 最后
    • AWS运维部署实践--route53私有域跨账号共享
    • AWS运维部署实践--使用sigma自建镜像仓库代替ECR
    • AWS运维部署实践--快速拉起生产可用的EKS集群
    • AWS运维部署实践--给EKS集群安装Ingress-Controller
    • AWS运维部署实践--配置跨账号通过kubectl管理EKS集群
    • AWS运维部署实践--内外网Ingress配置验证实践
    • AWS运维部署实践--EKS集群结合metrics-server配置HPA的功能
    • AWS运维部署实践--EKS多集群监控指标集中采集到集群外一个Prometheus的实践
    • AWS运维部署实践--EKS集群事件采集
  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

  • 运维观止
  • AWS
二丫讲梵
2024-10-18
目录

AWS运维部署实践--网络环境规划

文章发布较早,内容可能过时,阅读注意甄别。

# 前言

我们最近对一个完整的业务进行了 AWS 化部署,经借这个机会,我得以对 AWS 运维有了些许了解。

对于用惯了国内阿里云,腾讯云的我来说,猛地一下子要使用 AWS,会有一种世界倒退了几十年的感觉。

但大多数时候,用哪个云都并非我们的选择。

所以一开始就要学着降低心理预期,很多东西不能按照以往的思路平迁,不要怀着排斥或是睥睨的心态,那样只会让自己陷入思绪的沼泽,耽误了正事儿。

接下来,将会用几篇不同维度的专题文章,对一些容易踩坑的地方,以及主要的内容进行记录分享,如有类似场景需求的同学,阅读或有助益。

# 规划

AWS 的网络与腾讯云的使用思路不同,常用腾讯云的同学应该清楚,在腾讯云中网络规划大概呈现如下样态:

  • 首先规划好 VPC 大网段,然后根据实际情况划分不同的子网。
  • 在子网中购买的服务器,有两种方式访问外网及被外网访问。
    • 第一种:直接给服务器绑定弹性公网 IP,即可直接通过公网 IP 登陆该服务器,并且暴漏的服务端口也可直接被互联网访问。
    • 第二种:可以选择给 VPC 创建一个公共 NAT 出口,再给 NAT 出口绑定一个或多个弹性公网 IP,然后在子网关联的路由表中,增加 0.0.0.0/0 的流量走 NAT 出口的规则。此时服务器也可通过 NAT 访问互联网,同时如果想要被互联网访问,腾讯云也提供了直接在 NAT 配置端口映射到内网服务器的功能。(补充:如果在你的子网中的服务器,部分主机想要走独立的公网出口,也可以选择下一跳优先走云服务器的公网 IP)。

而在 AWS 中子网划分了三类:

  • 公有子网:公有子网可通过在路由表中 0.0.0.0/0 关联 IGW 实现与互联网的双向访问,这种子网下的实例即可实现服务器访问公网,也可让公网访问进来。
  • 私有子网:私有子网可通过在路由表中 0.0.0.0/0 关联 NAT 公网 IP 实现子网内的云产品访问公网,但不可被互联网访问。
  • 内部子网:纯云内互通,不可访问公网,也不能被公网访问。路由表中没有 0.0.0.0/0 这一条规则。

用一张图来说明此情况就是:

备注:此图取自:VPC公有子网和私有子网及ELB的位置推荐 (opens new window)

在这些规划的基础之上,就可以针对按照不同环境,或针对不同场景来划分 VPC 以及子网了。

这里提供一下我创建时的一些规划思路。

此处规划大概有如下几个考量点:

  • 首先注意,网段不要与自己内部其他子网冲突。此截图中网段,并非我实际生产使用,而是脱敏后网段,请你根据自己的实际情况进行规划。
  • VPC 和子网以及路由表命名,可根据你自己的规范来进行。
  • 因各环境将要拉起 eks 集群,因此对应单独规划 eks 的子网,且为大网段。
  • 生产环境专门给数据库划分到了内部子网,请注意使用时进行区分。
  • 如果你的使用场景更为复杂,且业务更庞大,则可以考虑每个环境独立一个 VPC,只不过 VPC 区隔开之后,随后要做的 VPC 打通会稍微麻烦一点点。

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

Copyright 二丫讲梵 (opens new window) 版权所有

# 创建VPC

首先创建 VPC,然后创建子网,然后创建路由表,有多VPC或多账号的情况下,可能还会涉及到网络的打通。

  • 创建VPC 创建 VPC 比较简单,注意命名,以及网段写对即可。

  • 创建子网 创建子网时稍稍注意:每个 VPC 内的子网可批量创建,但是务必主要写对名字及网段,然后注意指对区域,否则后期会出现网络不通的情况。

  • 创建路由表 创建路由表也比较简单,注意创建 VPC 之后系统会自动给我们创建一条默认路由表,这条可标记一下,不删,但不用,路由表我们在之后根据实际需求自行创建。

    • 创建完路由表有两件事儿要做
      1. 对应的路由要关联对应的子网,比如前边规划的,公有子网,私有子网,内部子网,分别对应三条路由,三条路由要各自关联三种不通的子网。
      2. 配置路由表。事项 1 可以先做,此事项要在其他配套内容创建之后才可以做。
  • 创建互联网网关(IGW) 创建就比较简单,直接创建即可,创建完毕之后,需要首先把 igw 关联到对应的 VPC,然后才能被路由表关联(如果少了这一步,关联时会遇到报错:route table rtb-xxxxxxxxxxx and network gateway igw-xxxxxxxxxxxx belong to different networks )。 image-20241018114636101 然后再编辑子网的public的路由表,增加出口规则,关联IGW: image-20241018114705922

  • 创建 NAT 网关

    • 创建时需注意
      • NAT 网关要在 IGW 创建完毕并且配置到路由表之后创建,否则会遇到报错:Network vpc-00000001 has no Internet gateway attached。
      • 创建NAT网关时所要选择的子网应为public的子网,从而使得该NAT对应的IP能够访问公网。
      • 注意创建时不要下拉选择弹性IP,而应该点击自动分配,每个NAT都应该绑定独立的IP,创建完毕之后,记得再去给IP改下名字。 image-20241018114745369

    然后再给每个名字带private的路由表,增加关联对应nat的规则。

# 打通VPC

有多种方案可以将VPC进行打通,不同的场景,可选择不同的方案,比如对等连接(PCX),或者中转网关(TGW)都可以。

两者特点如下:

  • 对等连接:需要每个VPC之间两两互相创建对等连接进行打通,适合VPC数量不多的场景。数量多了之后,维护难度陡增。但优点是对等连接相对便宜一些。
  • 中转网关:集中式打通,可创建一个中转网关,然后共享给多个账号,每个账号下的VPC都可以挂载到一个中转网关实例上。适合AWS账号多,且VPC规划也比较多的场景,维护相对简易。但缺点是要比对等连接贵。

你可以结合自己实际使用情况来选择不同的方案。两者都只是将VPC打通,打通之后,你还需要在两个VPC所关联的路由表中,配置去往对应的子网,下一跳走哪里。

这里我就介绍一下中转网关在跨账号VPC打通上的配置流程。

假设A账号中有三个VPC,B账号中也有三个VPC,现在已经在A账号创建了一个中转网关 (opens new window)。

  • 先在A账号把中转网关实例共享给账号B,共享服务在aws中叫Resource Access Manager (opens new window)

    1. 点击创建共享,在资源中搜索中转网关,然后选择对应的实例

      image-20241018113534248

    2. 第二步保持默认,不需要改动。

    3. 第三步填入B账号的ID, image-20241018113719251

    4. 下一步创建出来就可以了。

  • 然后来到B账号的控制台,同样点击Resource Access Manager (opens new window)服务,大概要等一会儿,可以看到一条关联请求,然后点击同意,那么再过一会儿,就能在B账号的中转网关服务内,看到A账号的中转网关实例了。

  • 接着下一步就是在B账号,把当前账号里的VPC挂载到中转网关上。

  • 再接着下一步,就可以在B账号的路由表里,增加路由规则了,去往A账号的VPC,走中转网关即可,此规则需要在两个账号的VPC互相添加。

这样子就实现了跨账号的VPC打通。

# 最后

网络是所有环境搭建的基础,前期做好规划,选择合理的方案,对于后期的工作影响非常大,因此务必全面了解,慎重选型,最后再下手配置。

微信 支付宝
上次更新: 2024/10/19, 00:12:00
zabbix配置钉钉报警
AWS运维部署实践--route53私有域跨账号共享

← zabbix配置钉钉报警 AWS运维部署实践--route53私有域跨账号共享→

最近更新
01
学习周刊-总第216期-2025年第25周
06-20
02
睡着的人不关灯
06-12
03
学习周刊-总第215期-2025年第24周
06-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式