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.mfbz.cn/a/2637.html

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

相关文章

数据库—修改某字段默认值

前言有时候,数据库的字段默认值没有正确设置,这时候需要改默认值。以下是我做的改默认值的记录,希望对网友有所帮助。1.SQL SERVER下面的示例假设你要修改名为 YourColumnName 的字段,并为其设置一个新的默认值 NewDefaultValue。…

Go语言切片(Slice)与数组(Array)深度解析:避坑指南与最佳实践

在Go语言中,切片(slice)和数组(array)是两种基础但常被混淆的数据结构。本文将深入剖析它们的核心区别,揭示常见陷阱,并提供实战解决方案。一、本质区别:固定大小 vs 动态容器 数组(Array):固定长度的连续内存块 // 声…

2025乐彩V8影视系统技术解析:双端原生架构与双H5免签封装实战 双端原生+双H5免签封装+TV级性能优化,一套代码打通全终端生态

1. 双端原生实现方案 Android端:基于Kotlin Jetpack Compose架构,深度优化ExoPlayer内核,支持4K HDR硬解与DRM加密流 iOS端:Swift SwiftUI构建,集成AVFoundation定制播放器,实现画中画与杜比全景声支持 …

【Dij】P1807 最长路

题意 设 GGG 为有 nnn 个顶点的带权有向无环图,GGG 中各顶点的编号为 111 到 nnn,请设计算法,计算图 GGG 中 1,n1, n1,n 间的最长路径。 输入格式 输入的第一行有两个整数,分别代表图的点数 nnn 和边数 mmm。 第 222 到第 (m1…

【数据结构初阶】--双向链表(二)

🔥个人主页:草莓熊Lotso 🎬作者简介:C研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的…

一个月掌握数据结构与算法:高效学习计划

一个月掌握数据结构与算法:高效学习计划掌握数据结构与算法是成为优秀程序员的关键一步。虽然一个月时间紧凑,但通过高效学习完全可以掌握核心内容。以下是一个系统化的学习计划:第一周:基础数据结构目标:掌握数组、链…

Linux物理地址空间入门:从硬件到内核内存的基石

目录 一、物理地址空间是什么? 二、物理地址空间的构成:不仅仅是内存 三、Linux内核如何管理物理地址空间 (1)物理内存的碎片化问题 (2)物理地址的分区管理 (3)物理地址与内核…

解决win10下Vmware虚拟机在笔记本睡眠唤醒后ssh连接不上的问题

背景 在使用Vmware虚拟机时经常会遇到这样一个问题:当笔记本电脑从睡眠状态唤醒后【关掉笔记本盖子一段时间,再打开电脑】,ssh连接不上虚拟机,需要将Vmware的网卡在控制面板中禁用再重启才可以。 解决方法 使用Win10的任务计划程序…

20250721

P5357 【模板】AC 自动机 - 洛谷 主要是构建fail树 /* 我们可以知道的是,当访问一个点x时,接下来需要跳转其fail[x],以此类推,如果在某个fail[x]上出现了一个字符串,那么相应的统计次数应该加1,然后当访…

Maven

目录 1 什么是 Maven 2 Maven 核心功能 项目构建 依赖管理 Maven Help 插件 3 Maven 仓库 本地仓库 中央仓库 私有服务器(简称私服) 4 Maven 设置国内源 配置当前项目 setting 设置新项目的 setting 1 什么是 Maven Maven 是一个项目管理工…

RabbitMQ核心组件浅析:从Producer到Consumer

作为分布式系统中异步通信的扛把子,RabbitMQ 凭借其高可靠、灵活路由的特性,几乎是每个后端开发者的"必备技能"。但很多新手刚接触时,常被各种组件名称绕晕——Broker、Exchange、Queue、vhost…这些"术语炸弹"到底啥关系…

c#转python第四天:生态系统与常用库

作为系列文章的第 4 篇,本文将聚焦 Python 生态中最具代表性的技术栈,通过与 C# 对应技术的横向对比,帮助开发者快速掌握 Python 在数据处理、Web 开发和异步编程领域的核心优势。无论是有 C# 基础想转 Python 的开发者,还是需要在两种语言间做技术选型的团队,都能从本文的…