Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何将映像传输到Amazon EBS卷以供EC2使用?_Amazon S3_Amazon Ec2_Amazon Web Services_Amazon Ebs - Fatal编程技术网

Amazon s3 如何将映像传输到Amazon EBS卷以供EC2使用?

Amazon s3 如何将映像传输到Amazon EBS卷以供EC2使用?,amazon-s3,amazon-ec2,amazon-web-services,amazon-ebs,Amazon S3,Amazon Ec2,Amazon Web Services,Amazon Ebs,我有一个本地文件系统映像,我想将它传输到AmazonEBS卷并作为EC2微实例启动。该实例的根文件系统应该是EBS卷——我将使用AmazonPV-GRUB“内核”引导该实例 我使用ec2 bundle image从该图像创建了一个bundle,并使用ec2 upload bundle将该bundle上传到AmazonS3。然而,现在当我想使用ec2寄存器来注册映像以供使用时,我似乎找不到一种方法使上传的包成为ebs根映像。似乎需要一个EBS快照来创建根设备,我不知道如何将捆绑包转换为EBS快照

我有一个本地文件系统映像,我想将它传输到AmazonEBS卷并作为EC2微实例启动。该实例的根文件系统应该是EBS卷——我将使用AmazonPV-GRUB“内核”引导该实例

我使用ec2 bundle image从该图像创建了一个bundle,并使用ec2 upload bundle将该bundle上传到AmazonS3。然而,现在当我想使用ec2寄存器来注册映像以供使用时,我似乎找不到一种方法使上传的包成为ebs根映像。似乎需要一个EBS快照来创建根设备,我不知道如何将捆绑包转换为EBS快照


我确实意识到,我可以通过启动一个“公共”实例,将EBS卷连接到它,然后使用“scp”或其他方法将图像直接传输到EBS卷来实现这一点——但这真的是唯一的方法吗?此外,我不希望使用EBS快照,我宁愿没有-我可以创建一个微实例,仅使用EBS卷作为根目录,而不使用EBS快照吗?

没有找到任何方法来执行此操作:(

因此,我创建了一个新实例,将一个新创建的EBS卷连接到,将其连接到该实例,并通过ssh传输数据

然后,为了能够启动该卷,我仍然需要创建该卷的快照,然后创建一个使用该快照的AMI—结果,我得到了另一个从快照创建的EBS卷,它是运行实例的根卷

现在,如果我想最小化开销,我可以删除创建的快照和原始EBS卷


注意:如果EBS卷的唯一副本是实例的根卷,则可能会在实例终止时将其删除。可以使用命令行工具更改此设置,也可以简单地通过“停止”而不是“终止”来更改实例,然后可以从EBS卷生成快照。拍摄快照后,当然可以终止实例。

是的,无法通过S3上载EBS映像,使用附加卷的实例是最好的方法。如果在实例启动后附加该卷,也不会删除该卷

注意,不要过分担心卷->快照->卷,因为它们共享相同的数据块(只要您不修改它们)。存储成本不是三倍的,只是一个卷的1,1倍。EBS快照和映像创建在这方面非常方便。不要犹豫使用多个快照。您“工作”越少在快照中,如果您将其作为AMI启动,则较小的是稍后的块使用量