S3 Presign URL调用上传附件

一、背景

S3 Presign URL是通过S3服务生成一个带签名的URL,这个URL包含了S3桶名、文件名(目录名)、所属账号、时间戳、有效期等信息。当在有效期内的时候,通过Post请求发送到这个URL,可以上传/下载。当有效期超过之后,访问此文件,会提示403没有权限。

使用Presign URL的好处是安全:

  • 调用API接口时候,只暴露Access Key ID,而不暴露Secret Key,也就是不暴露API的密码。
  • Presign URL可设置过期时间,例如生成URL后限制60秒,那么上传操作必须在60秒内完成,60秒后之前生成的URL和时间戳过期。
Continue reading “S3 Presign URL调用上传附件”

通过 AD Connector 配置EC2自动加域 —— Seamless Join Domain

注:本文针对在IDC自建AD活动目录的场景。如果您使用的是AWS托管的Directory Service,则可以跳过本文第三章节,即可直接在第四章节的界面中看到托管的目录。

一、背景

EC2 Windows有两种加入域:手工加入,自动加入。手工加入域的方式就和一个普通电脑一样,先修改DNS为域控制器的DNS IP,然后在系统属性部分,将单机切换到域,重启即可完成加域。自动加域是通过AWS云端的AD Connector,将所有新开的EC2自动加入域,而无须人工操作,也被称为Seamless Join Domain。两种模式的主要对比如下图。

Continue reading “通过 AD Connector 配置EC2自动加域 —— Seamless Join Domain”

使用 AWS Transfer 搭建托管的SFTP服务

一、简介

来自AWS官网的简介:

AWS Transfer 系列提供完全托管支持,可将文件直接传入和传出 Amazon S3。 AWS Transfer 系列使用安全文件传输协议 (SFTP)、SSL 的文件传输协议 (FTPS) 和文件传输协议 (FTP),可通过集成现有身份验证系统并提供与 Amazon Route 53 的 DNS 路由,帮助您将文件传输工作流程无缝迁移到 AWS,而对于客户和合作伙伴及其应用而言则没有任何变化。通过 Amazon S3 中的数据,您可以配合 AWS 服务完成数据处理、分析、机器学习和存档。AWS Transfer 系列部署非常简单,无需购买和设置任何基础设施。

Continue reading “使用 AWS Transfer 搭建托管的SFTP服务”

使用AWS CLI在S3之间对拷数据的CLI版本和参数问题

一、问题

在两个S3上执行数据复制时候,遇到如下错误。

$ aws s3 cp s3://abc-bkt-zhy/data-origion/index_day.json s3://abc-mytarget/
copy failed: s3://abc-bkt-zhy/stock-data-origion/index_day.json to s3://abc-mytarget/index_day.json An error occurred (AccessDenied) when calling the GetObjectTagging operation: Access Denied

这是由于AWS CLI V1版本和V2版本的不同差异造成的。在命令行下自行如下命令显示CLI版本。

Continue reading “使用AWS CLI在S3之间对拷数据的CLI版本和参数问题”

阿里云 OSS 迁移到 AWS S3

注意:本文最初编写于2020年9月。至2023年初,本文所介绍的S3-resumable-upload工具已经不再维护(参考本文末尾Github上介绍),最新的代码和功能被合并到Data Transfer Hub。新的Data Transfer Hub是带有GUI图形界面的S3迁移工具,支持阿里云等多个公有云的对象存储服务,可一键生成复制任务,背后通过ECS容器服务进行多线程复制,且支持增量复制。详情请跳转到Data Transfer Hub的官网。本工具本身免费,复制时候需要的资源如另外拉起ECS容器按云标准收费。

一、迁移工具

Amazon-s3-resumable-upload 是 AWS S3 的迁移工具,有单机版、集群版、无服务器Serverless(Lambda)版本,可以用于本地到S3上云,国内外S3互传等场景。其中如果源站是阿里云,则暂时只有单机版本支持。

部署迁移工具需要在AWS云上创建一个EC2,使用Amazon Linux 2操作系统,并安装Python3和相关依赖库。

Continue reading “阿里云 OSS 迁移到 AWS S3”

使用AWS CLI Profile时候遇到 报告”Key不存在” 的解决办法

1、故障现象

在AWS CLI下,执行aws s3 ls命令的时候,报告如下错误。

An error occurred (InvalidAccessKeyId) when calling the ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.

经过测试,执行其他CLI命令也会遇到相同的错误。

Continue reading “使用AWS CLI Profile时候遇到 报告”Key不存在” 的解决办法”