从ECS容器下载文件到本地机器最简单的方法是什么



我需要做一些堆转储,如果有一种简单(快速(的方法来尽可能无缝地获取文件,那就太好了。

目前的做法是:

  1. 创建文件
  2. 可选:如果未知,则将SSH密钥上载到EC2实例(取决于使用的安全模型(
  3. 打开SSH会话(不使用ASM,因为它有一些OsX缺陷(
  4. 将docker容器文件复制到EC2实例
  5. 将文件SCP到本地机器
  6. 清理

对于获取单个文件来说,这似乎非常复杂。有更直接的方法吗?由于这是一个随需应变的用例,我可以使用手动AWS控制台的方式,也可以使用更方便的工具。THX

如果您想要最简单的方法,那么只需执行cat /some/file/here命令,而不是bash并将输出发送到本地机器上的文件。然后从本地文件的开头删除初始aws-cli消息,例如:

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.

Starting session with SessionId: ecs-execute-command-<some session id>
This session is encrypted using AWS KMS.

如果是二进制文件,则将其保存为txt文件,删除上面提到的初始cli输出,并使用二进制扩展名重命名它。示例:

aws ecs execute-command --region <your region> --cluster <your cluster> --task <your task ID> --container <your container> --command "cat /tmp/reportBatch.zip" --interactive >> ~/reportBatch.txt

对于这种方法,您只需要访问您的ECS实例并允许在其上运行命令。

相关内容

  • 没有找到相关文章

最新更新