跨网络拷贝文件的简单实践

简介: 在实际的项目中可能要访问生产环境是需要各种安全验证和设置的,毕竟客户的数据是最宝贵的资源。一般来说,客户会把一部分访问的权限开放出来。这样在系统出现问题的时候,能够更快更高效的处理问题。
在实际的项目中可能要访问生产环境是需要各种安全验证和设置的,毕竟客户的数据是最宝贵的资源。一般来说,客户会把一部分访问的权限开放出来。这样在系统出现问题的时候,能够更快更高效的处理问题。

下面是一个简单的图表,能够说明一下其中一个项目的网络访问情况。
右边的绿色区域是公司内部的环境,其中生产问题复现环境的权限较高,这个权限只会分配给部分的人,而开发测试环境是公开环境,开发测试人员都可以访问。
左边的区域是现场环境,生产环境包括现网环境和容灾切换环境,这个是根据需求可以切换的。同时现场测试环境是客户开发给我们的一个访问环境,我们可以通过公司的网络直接访问到现场的测试环境,然后通过现场测试环境来逐步的切换,直到连接到生产环境。



在系统升级和业务问题较多的时候,会尝试从生产环境中抽取很小的一部分数据,把数据以dump的形式拷贝到公司内部环境中的生产问题复现环境中。这样可以并行的排查很多不同的问题。
在问题比较多的时候,总是会收到比较多的邮件请求来拷贝dump文件,其实明白了原理无非就是通过scp/sftp等形式把文件一步一步的拷贝。做多了就感觉是体力活了。而且如果大半夜出现紧急问题,需要排查,需要拷贝文件的时候自己虽然比较忙乎,但是这种拷贝文件的工作还是比较苦闷的。

自己下决心来改进一下。    
首先是访问生产环境的权限,我们申请了一个只读用户,只有权限可以访问到一个指定的目录。这样这个账户就可以开放给开发测试人员,不至于出现一些人为操作,他们只能够从生产指定的目录下拷贝文件到现场测试环境。
没法修改任何文件。从某种程度上就杜绝了一些潜在的问题。
其次是现场测试环境和公司内部环境之间的访问是单向的,意思就是只能通过公司内部网络来连接现场测试环境,不能够通过现场测试环境来连接公司内部环境。这样的话,如果要把文件从现场测试环境拷贝到生产问题复现环境的话,使用scp的时候就会有问题。因为生产问题复现环境是不能随便开放给开发测试人员的。所以考虑设置开发测试环境和生产问题复现环境是单向访问。开发测试环境和现场测试环境之间是单向访问。
按照这个思路一个dump文件要从生产环境拷贝的流程就是
生产环境->现场测试环境->开发测试环境->生产问题复现环境  整个流程都是单向的,需要配置单向的信任关系。这样就可以使用shell脚本来动态的实现了。

-->通过开发测试环境来获取现场测试环境的文件
这个部分是关键环节。可以在开发测试环境中使用下面的形式来调用
scp xxxx@现场测试环境:xxxxxx  .
我写了如下的脚本来做了进一步的校验。
check_file_valid=`ssh xxxxx@10.196.28.xx "ksh check_file.sh ~/copyban_dump_copy/$1"`
file_not_exist_code=`echo $check_file_valid |grep WARNING|wc -l`
#echo $file_not_exist_code
if [[ $file_not_exist_code -eq 1 ]]
then
  echo 'WARNING- source file doesnt exist,please check and try again!'
else
  scp xxxx1@现场测试环境:~/dump_copy/$1 .
  scp $1 xxxxx2@生产问题复现环境:~/dump_copy
fi

对应的脚本check_file.sh也需要拷贝到现场测试环境中
if [ -f $1 ]
then
 echo 'file '$1'  exists!'
else
 echo 'WARNING -file '$1 ' doesnt  exist!'
fi


这样的话,我如果输入的文件不存在或者名字不正确。就会先做校验。
$ ksh scpuat.sh aaa
WARNING- source file doesnt exist,please check and try again!

如果文件存在,就开始把文件先拷贝到开发测试环境中,然后拷贝到生产问题复现环境中。
一个简单例子如下,文件在内网传输会快很多,之间基本没有多少的延迟。
$ ksh scpuat.sh test
test                                                                                                                                             100%   37     0.0KB/s   0.0KB/s   00:00
test                                                                                                                                             100%   37     0.0KB/s   0.0KB/s   00:00


关于单向信任关系的建立,可以使用ssh-keygen -t rsa来实现。
需要把id_rsa.pub的内容拷贝从开发测试环境中拷贝到生产问题复现环境中
然后在生产问题复现环境中把id_rsa.pub的内容追加到.ssh/authorized_keys中。
这样使用scp,ssh的时候就不用输入密码了。
总体来说,这种实现要方便一些。而且很大程度上把我的工作解放出来不少。


目录
相关文章
|
7天前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
|
13天前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
59 7
|
16天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
网络安全视角:从地域到账号的阿里云日志审计实践
|
16天前
|
人工智能 运维 API
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
|
2月前
|
边缘计算 容灾 网络性能优化
算力流动的基石:边缘网络产品技术升级与实践探索
本文介绍了边缘网络产品技术的升级与实践探索,由阿里云专家分享。内容涵盖三大方面:1) 云编一体的混合组网方案,通过边缘节点实现广泛覆盖和高效连接;2) 基于边缘基础设施特点构建一网多态的边缘网络平台,提供多种业务形态的统一技术支持;3) 以软硬一体的边缘网关技术实现多类型业务网络平面统一,确保不同网络间的互联互通。边缘网络已实现全球覆盖、差异化连接及云边互联,支持即开即用和云网一体,满足各行业需求。
|
2月前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
185 13
|
3月前
|
运维 供应链 安全
阿里云先知安全沙龙(武汉站) - 网络空间安全中的红蓝对抗实践
网络空间安全中的红蓝对抗场景通过模拟真实的攻防演练,帮助国家关键基础设施单位提升安全水平。具体案例包括快递单位、航空公司、一线城市及智能汽车品牌等,在演练中发现潜在攻击路径,有效识别和防范风险,确保系统稳定运行。演练涵盖情报收集、无差别攻击、针对性打击、稳固据点、横向渗透和控制目标等关键步骤,全面提升防护能力。
|
3月前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
3月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
361 30

热门文章

最新文章