人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

AWSで下記の4つの概念の関係を明確に教えていただけないでしょうか?

- Instance
- Volume
- Snapshot
- AMI

個々の概念は下記のように理解しています。

- Instance(いわゆるサーバ、ホスト)
- Volume (ブロック型ストレージ。HDDのようなもの)
- Snapshot (S3上のオブジェクト)
- AMI (仮想マシンのひながた)

しかし4つの関係がわからなくなることがよくあります。

例えばVolumeとSnapshotはそれ単体で存在できるのでわかりやすいのですが、AMIってそれだけでは存在しなくて、Snapshot(またはVolume?)と表裏一体だったりしますよね。
ということはAMIとは必ずAMI on Snapshot またAMI on Volumeということになるのでしょうか。

また、EBS root Instanceは、「ルートデバイスがEBSであるインスタンス」と理解していますが、そのroot EBSをdetachしたりできますよね?
(rootをdetachしたEBS root Instanceっていったいなんじゃらホイと思ってしまいます。)

あとはEBS root Instanceをバックアップとるときに、Create Image(EBS AMI)する方法とSnapshotを取る方法と2通りあってこれもまた混乱します。(どう使い分ければいいのか等)

よろしくお願いいたします。



●質問者: DQNEO
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● だわかき
●0ポイント
Instance
サービスを動かすための実体。仮想マシンだと思って下さい。

Volume
ハードディスク領域のこと。

Snapshot
バックアップ用データのこと。

AMI
OSの起動イメージ(OS関連ファイル一式)のこと。


DQNEOさんのコメント
はい、それは理解しています。 「関係を教えてください」というのが質問です。

2 ● y-kawaz
●200ポイント ベストアンサー

> Instance(いわゆるサーバ、ホスト)
あってます


> Volume (ブロック型ストレージ。HDDのようなもの)

あってます。


> Snapshot (S3上のオブジェクト)

ここでは単にある時点のVolumeのコピーを保存したものと思っておけば良いと思います。

でたまたまそれが裏ではS3に保存されてるだけくらいと思っておけば良いです。実際ドキュメントにはS3という言葉が出てきますがあまりS3に捕われないほうが良いです。例えばEC2 ConsoleでVolumeのSnapshotを作ってもどこかのS3バケットに見える形でオブジェクトが出来てるようには見えませんよね。


> AMI (仮想マシンのひながた)

その後の文章を見るとAMIという何かがSnapshotやVolumeの上に保存されてるみたいなイメージをされてるように見えますがちょっと違います。

AMIというのはInstanceを起動するためのHDD構成を記述した設定ファイルだと思えば良いと思います。SnapshotやVolumeと一緒に出てきますが、その外にあり、どのSnapshotを元にしたVolumeを繋げて起動するかが書いてあるモノです。

実際、AMIに含まれる主な情報は「Name、CPUアーキテクチャ(i386/x86_64)、何GBのHDDをなんというデバイス名でつなげておくか」ということが書いてあるだけです。ただの設定セットなのでAMI単体ではディスク容量などは食いません。

で、このときルートデバイスとしてOSが入ったHDD(Volume)が必要なのですが、そのHDDの元になるのがSnapshotです。

一番単純な構成のAMIではルートディスクに元になる特定Snapshotを指定して終わりです。複雑な例では更に空の100GBのHDDを/dev/sdbにつなげておくとか、/dev/sdcにはOSとは関係ないデータディスクのSnapshotを元にしたVolumeを繋げた構成などを作ることができます。


で、Instanceの起動は、AMIでハードウェア構成(どんなOSが入ったHDD繋げておくか)を指定して、あとはセキュリティグループやインスタンスタイプ(CPUやメモリのスペック)を指定して起動するだけということになるわけです。
おそらくAMIの概念が理解出来れば全てがスッキリ理解できるんじゃないかと思います。


DQNEOさんのコメント
おお!いつもありがとうございます! > VolumeのSnapshotを作ってもどこかのS3バケットに見える形でオブジェクトが出来てるようには見えませんよね。 たしかにそうですね。Snapshotはどこに置いてあるかは、気にしなくてもよさそうですね。(気にしてもしょうがない) > AMIというのはInstanceを起動するためのHDD構成を記述した設定ファイルだと思えば良いと思います。SnapshotやVolumeと一緒に出てきますが、その外にあり、どのSnapshotを元にしたVolumeを繋げて起動するかが書いてあるモノです。 > 実際、AMIに含まれる主な情報は「Name、CPUアーキテクチャ(i386/x86_64)、何GBのHDDをなんというデバイス名でつなげておくか」ということが書いてあるだけです。ただの設定セットなのでAMI単体ではディスク容量などは食いません。 なるほど! やっと理解できました。 わかりやすい明確な回答ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ