当前位置: 首页 > news >正文

AWS PrivateLink方式访问Redis

问题

现在有两个不同的aws云账号,而且,这两个不同云账号,其中一个拥有Redis服务(elasticache)。现在需要通过另外一个账号的vpc内网访问另外一个账号的内网的redis服务。

解决

AWS PrivateLink方式。这样就可以通过走aws内网的方式访问Redis服务。

一图胜千言

一图胜千言

步骤

这里假设B账号中的ElastiCache(Redis)服务已经在正常运行了。

B账户

需要在服务提供方创建端点服务,创建端点服务,需要有负载均衡器的支持,所有还是需要先创建NLB,NLB又需要有目标组先让Redis节点能正常注册到目标组上面。

创建目标组

设置目标组-基础配置

目标组注册服务节点

下一步就是注册redis节点到目标组了
这里注册redis服务节点,主要在于怎么去找redis服务的IP。打开EC2控制台,点击左侧网络接口,复制那些ip地址设置到上面的目标组中注册即可,只要不把ElasticCache给删了,这些IP几乎不会变化的。如下图:
ElastiCache的ip地址
注册目标组,如下图:
注册目标组
创建目标组即可。

准备NLB的安全组

为即将创建的NLB创建一个安全组,这个安全组包含1个入站规则,出站规则默认即可。入站规则如下:

  • 6379端口,放开对调用方的vpc ip段限制。

创建NLB

选择创建NLB类型
选择好NLB类型后,设置好之前创建的安全组和目标组,创建负载均衡器即可,如下图设置:
创建NLB
注意这里监听的端口仍旧是6379端口。

创建端点服务

创建完成NLB之后,就可以创建端点服务,暴露Redis服务了。找VPC控制台,点击左侧端点服务,开始创建,如下图:
创建端点服务
创建端点服务
这里选择之前创建NLB作为这个端点服务的负载均衡器,最后点击创建即可。

设置断点服务白名单

端点服务创建完成后,在其详情页面设允许委托人设置为A账户,如下图:
设置允许委托人白名单
到此B账户的端点服务配置就基本完成了,接下来转到A账户进行端点创建。允许委托人,格式如下:

arn:aws-cn:iam::{账户id}:root

A账户

创建端点安全组

为端点访问创建一个安全组,这个安全组主要包含1个入站规则,默认出站规则。入站规则如下:

  • 6379端口,放开对自己内网的IP段的限制。

创建端点

创建端点服务
配置端点服务,并创建,如下图:
创建端点

B账号批准

现在切换B账号,在端点服务通知页面中批准即可。如下图位置:
批准通过
在B账号批准后,切换A账号查看端点状态,等待一段时间状态正常后,复制第一个DNS,接来在A账号中创建一台EC2,然后,在里面尝试访问Redis即可。DNS复制位置如下:
DNS复制位置

测试

等到到A账号的EC2上面尝试访问redis,如下图:
测试跨账号访问Redis

总结

这就是使用AWS PrivateLink方式跨账号访问Redis服务。到此为止就结束了。AWS PrivateLink这个功能挺好,这样就把不同vpc,不同账号的服务都可以连在一个内网使用了。

参考

  • The BEST Way To Access ElastiCache Redis From Multiple AWS Accounts Using VPC Endpoint
  • ElastiCache API 和接口 VPC 终端节点 (AWS PrivateLink)
http://www.lryc.cn/news/596123.html

相关文章:

  • NIO技术原理以及应用(AI)
  • AWS RDS 排查性能问题
  • 图像基础:从像素到 OpenCV 的入门指南
  • 基于python django深度学习的中文文本检测+识别,可以前端上传图片和后台管理图片
  • 【学习路线】Python全栈开发攻略:从编程入门到AI应用实战
  • Spring 核心知识点梳理 1
  • 2.9学习DOM和BOM (主要是获取元素的操作)
  • 【element-ui el-table】多选表格勾选时默认勾选了全部,row-key绑定异常问题解决
  • 重塑优化建模与算法设计:2025年大模型(LLM)在优化领域的应用盘点 - 1
  • MybatisPlus-16.扩展功能-枚举处理器
  • SpringMVC快速入门之核心配置详解
  • 【windows修复】解决windows10,没有【相机] 功能问题
  • Azure可靠性架构指南:构建云时代的高可用系统
  • xss-labs解答
  • 本地数据库有数据,web页面无信息显示,可能是pymysql的版本问题【pymysql连接本地数据库新旧版本的区别】
  • 【51单片机定时器T0输出10毫秒周期方波12M晶振】2022-6-28
  • Web开发 05
  • verilator如何实现RTL的仿真(腾讯混元)
  • 牛客NC16625 [NOIP2009]分数线划定(排序)
  • vue3:十八、内容管理-实现内容的数据展示,开关switch设行,tag标签展示
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十七天
  • Datawhale AI 夏令营-心理健康Agent开发学习-Task1
  • React 面试题库
  • Vue 3 面试题全套题库
  • 前端面试专栏-工程化:29.微前端架构设计与实践
  • class和struct的区别
  • RAG实战指南 Day 21:检索前处理与查询重写技术
  • 腾讯研究院 | AI 浪潮中的中国品牌优势解码:华为、小米、大疆、科大讯飞等品牌从技术破壁到生态领跑的全维突围
  • Kotlin调试
  • IO复用(多路转接)