EBS ボリュームのインベントリを作成する
Amazon EBS は、EC2 インスタンスで使用できるスケーラブルで高性能なブロックストレージリソースを提供します。EC2 インスタンスに EBS ボリュームをアタッチすることも、EC2 インスタンスから EBS ボリュームをデタッチすることもできます。
EBS ストレージの主な特性は次のとおりです。システム管理者は、EBS リソースのこれらの特性に関する情報を取得し、それを使用して、オンプレミスで実行するサーバーまたは別のクラウドプロバイダーのサーバーと機能的に同等のストレージを設定できます。システム管理者は、EBS リソースに保存されているデータを取得し、そのデータをオンプレミスまたは別のクラウドプロバイダーのストレージに保存することもできます。
| 特性 | 説明 |
|---|---|
| ボリューム | EBS ボリュームは、インスタンスへのアタッチ、フォーマット、マウントが可能な、耐久性に優れたブロックレベルストレージデバイスです。 |
| I/O パフォーマンス | Amazon EBS には、パフォーマンス特性と価格の点で異なる複数のボリュームタイプが用意されています。 |
| EBS データボリュームの内容 | ボリュームのデータに直接アクセスする唯一の方法は、インスタンスからアクセスすることです。 |
| スナップショット | EBS スナップショットは、EBS ボリューム上のデータのポイントインタイムコピーです。スナップショットは Amazon S3 のバケット (直接アクセスできない) に保存されます。 |
| EBS スナップショットの内容 | スナップショットからデータを読み取ることも、スナップショットを使用してボリュームを作成することもできます。 |
ボリューム
EBS ボリュームを作成するときは、ボリュームのアベイラビリティーゾーンを選択します。EBS ボリュームは、同じアベイラビリティーゾーン内の EC2 インスタンスにアタッチする必要があります。EC2 インスタンスを起動するときにボリュームを作成するか、最初にボリュームを作成してからインスタンスにアタッチできます。ボリュームがインスタンスにアタッチされている場合、そのステータスは in-use になります。ボリュームがインスタンスにアタッチされていない場合、そのステータスは available になります。
これらが重要な理由
EBS ルートボリュームには、EC2 インスタンスのオペレーティングシステムが含まれています。EBS データボリュームには、ビジネスクリティカルなデータを含めることができます。すべてのリージョンの EBS ボリュームを一覧表示し、EC2 インスタンスにアタッチされているかどうかを確認できます。
すべてのリージョンの EBS ボリュームの概要を表示するには
Amazon EC2 Global View を使用すると、すべてのリージョンの EBS ボリュームを一覧表示できます。
-
Amazon EC2 Global View コンソール (https://console.aws.amazon.com/ec2globalview/home
) を開きます。 -
[リージョンエクスプローラー] タブの [概要] で、[ボリューム] のリソース数を確認します。これには、ボリューム数とリージョン数が含まれており、下線付きのテキストをクリックすると、ボリューム数がリージョン間でどのように分配されているかを確認できます。
-
[グローバル検索] タブで、クライアントフィルター [リソースタイプ = ボリューム] を選択します。リージョンまたはタグを指定することで、結果をさらにフィルタリングできます。
使用中の EBS ボリュームを記述するには
describe-volumes コマンドを使用します。このコマンドは、EBS ボリュームが存在する各リージョンで実行する必要があります。--filters パラメータは、結果を in-use のボリュームにスコープします。--query パラメータは、出力内の指定されたフィールドのみを表示します。必要に応じて追加のフィールドを含めることができます。
aws ec2 describe-volumes \ --filters Name=status,Values=in-use \ --query "Volumes[].[VolumeId,Size,Attachments[0].InstanceId]" \ --output table
以下は出力の例です。各列は、ボリューム ID、ボリュームサイズ、アタッチされているインスタンスの ID、デバイス名を示しています。
---------------------------------------------------------------------
| DescribeVolumes |
+------------------------+-----+-----------------------+------------+
| vol-0992ee65bec96de19 | 8 | i-00a7d9ec76a46a49f | /dev/xvda |
| vol-04d631d22047db1cb | 30 | i-0b1bf24fd4f297ab9 | /dev/sda1 |
...
...
| vol-0b811be5cbd1425cc | 100 | i-0a8d998154b320257 | /dev/xvde |
+------------------------+-----+-----------------------+------------+
使用されていない EBS ボリュームを記述するには
前のコマンドのフィルターを次のように変更して、ステータスが available のボリュームを検索します。
--filters Name=status,Values=available
ボリュームが使用されていない場合は、必要なデータがあるかどうかを判断する必要があります。例えば、テスト目的で作成されたボリュームを削除したり、問題をトラブルシューティングしたりできます。ボリュームをインスタンスにアタッチしたブロックデバイスが、インスタンスの終了後も永続するように設定されている場合も、ボリュームが使用可能になることがあります。このような場合は、ボリューム上のデータがまだ必要かどうかを確認します。
I/O パフォーマンス
EBS ボリュームに指定するボリュームタイプによって、そのパフォーマンスが決まります。ボリュームタイプに応じて、ボリュームのサイズ、IOPS、スループットの組み合わせを指定できます。各ボリュームタイプの最大プロビジョンド IOPS とスループットの詳細については、「Amazon EBS volume types」を参照してください。
トラフィック管理が重要である理由
EBS ボリュームのパフォーマンスを決定したら、機能的に同等のストレージに必要な最小仕様を決定できます。
ボリュームのパフォーマンスに関する情報を取得するには
describe-volumes コマンドを使用して、使用中のボリュームのパフォーマンスを記述します。--query パラメータは、出力内の指定されたフィールドのみを表示します。必要に応じて追加のフィールドを含めることができます。EBS に最適化されたパフォーマンスの詳細については、「Amazon EC2 Instance Types Guide」の「Amazon EC2 instance type specifications」を参照してください。
aws ec2 describe-volumes \ --filters Name=status,Values=in-use \ --query "Volumes[].[VolumeId,VolumeType,Iops,Throughput]" \ --output table
以下は出力の例です。各列は、ボリューム ID、ボリュームタイプ、IOPS、スループット (MiB/秒) を示しています。
-------------------------------------------------
| DescribeVolumes |
+------------------------+------+-------+-------+
| vol-0992ee65bec96de19 | gp3 | 3000 | 125 |
| vol-04d631d22047db1cb | gp2 | 100 | None |
...
...
| vol-0b811be5cbd1425cc | gp3 | 3000 | 125 |
+------------------------+------+-------+-------+
EBS データボリュームの内容
Amazon EBS は、EBS ボリュームに保存されているデータにアクセスできません。データボリュームをバックアップする責任はお客様にあります。例えば、EBS スナップショットと呼ばれるポイントインタイムスナップショットを作成できます。
EC2 インスタンスに接続し、EBS ボリュームからご自身のコンピュータにファイルを転送することもできます。これを行うのに役立つツールが多数用意されています。以下は例です。
トラフィック管理が重要である理由
EBS ボリュームにビジネスクリティカルなデータがある場合は、機能的に同等のストレージにコピーできます。
Linux インスタンスにアタッチされたボリュームからファイルを転送するには
Linux インスタンスに接続して SCP を使用します。詳細については、「SCP を使用して Linux インスタンスにファイルを転送する」を参照してください。
Windows インスタンスにアタッチされたボリュームからファイルを転送するには
Windows インスタンスに接続して RDP を使用します。詳細については、「RDP を使用して Windows インスタンスにファイルを転送する」を参照してください。
スナップショット
EBS スナップショットを作成して、EBS データボリュームをバックアップできます。また、Amazon EBS、Amazon Data Lifecycle Manager、または AWS Backup を使用して、EBS スナップショットを作成できます。
トラフィック管理が重要である理由
EBS ボリュームにビジネスクリティカルなデータがある場合、通常は EBS スナップショットの形式でバックアップを作成します。ボリュームの最新のスナップショットを検索し、現在のデータがボリュームに反映されていることを確認できます。
特定のボリュームのスナップショットを記述するには
describe-snapshots コマンドを使用します。--filters パラメータは、指定されたボリュームのスナップショットに結果をスコープします。--query パラメータは、出力内の指定されたフィールドのみを表示します。必要に応じて追加のフィールドを含めることができます。
aws ec2 describe-snapshots \ --filters Name=volume-id,Values=vol-00622ef8c2ac8b762\ --query Snapshots[*].[SnapshotId,CompletionTime,Description] --output table
以下は出力の例です。各列は、スナップショット ID、完了日、ボリュームが暗号化されているかどうかを示しています。
-------------------------------------------------------------------------
| DescribeSnapshots |
+-------------------------+------------------------------------+--------+
| snap-0ad439c50efabb47c | 2024-07-12T03:36:27.952000+00:00 | False |
+-------------------------+------------------------------------+--------+
EBS スナップショットの内容
EBS スナップショットの内容を別の形式でダウンロードまたはエクスポートすることはできません。ただし、EBS direct API を使用するか、スナップショットから EBS ボリュームを作成してファイルを転送することで、スナップショット内のデータにアクセスできます。
トラフィック管理が重要である理由
EBS ボリュームにビジネスクリティカルなデータがある場合、通常は EBS スナップショットの形式でバックアップを作成します。このデータを取得し、機能的に同等のストレージにコピーできます。
オプション 1: スナップショットからデータを読み取るには
EBS direct API を使用します。
オプション 2: スナップショットからボリュームを作成し、データを転送するには
-
create-volume コマンドを使用して、スナップショットからボリュームを作成します。
aws ec2 create-volume \ --volume-typegp3\ --snapshot-idsnap-0ad439c50efabb47c\ --iops6000\ --availability-zoneus-east-2b -
attach-volume コマンドを使用して、インスタンスにボリュームをアタッチします。
aws ec2 attach-volume \ --device/dev/sdf\ --instance-idi-0b1bf24fd4f297ab9\ --volume-idvol-1234567890abcdef0 -
インスタンスに接続し、ボリュームをフォーマットおよびマウントします。
-
ご自身のコンピュータにボリューム上のファイルを転送します。