助け合いフォーラム
AWS ソリューションアーキテクト - アソシエイト(SAA-C02)
問題ID : 24725
問題を開く
ソリューションアーキテクトは複数のEC2インスタンスで動作するサーバーのストレージについて検討している。サーバーのデータは複数のEC2インスタンスにコピーして保存し、データ損失に耐えられるようにする。サーバーのパフォーマンスは1秒あたり数百万のIOPSが求められる。
要件を満たす最も適切なストレージサービスはどれか。
要件を満たす最も適切なストレージサービスはどれか。
正解
インスタンスストア
解説
インスタンスストアは、EC2インスタンスの内部ストレージとして利用できる揮発性の(インスタンス稼働中にだけ利用可能な)ブロックストレージです。ホストコンピュータに物理的に割り当てられたディスク上にあり、頻繁に変更されるデータの一時的な保存領域として使用できます。
同じブロックストレージにはAmazon EBSがありますが、インスタンスストアはEBSよりも高いパフォーマンスを発揮できるという特徴があります。
以下はAmazon EBSのボリュームタイプです。

表の「最大IOPS」列に着目してください。
(表中「最大IOPS」の「IOPS」とはInput Output per Second、つまり1秒間にどれだけI/O(Input/Output:読み取り/書き込み)が行えるかを意味する性能指標です。プロビジョンド(provisioned:予約済み)IOPS SSD(io1、io2)を選択すると、予約したI/O性能をAWSが保証してストレージを提供します。)
最も性能のよいプロビジョンドIOPS SSD(io1、io2)の最大IOPSは64,000です。一方、インスタンスストアは数百万IOPSとされています。
「1秒あたり数百万のIOPSが求められる」という要件は、Amazon EBSでは条件を満たすことができません。インスタンスストアが適切です。
したがって正解は
・インスタンスストア
です。
その他の選択肢については以下の通りです。
・Amazon EBS プロビジョンドIOPS SSD(io2)
・Amazon EBS スループット最適化 HDD(st1)
Amazon EBSでは、どのボリュームタイプを採用しても「1秒あたり数百万のIOPS」を満たすことができないで、誤りです。
・Amazon EFS
Amazon EFSでは数百万IOPSを発揮することはできないので、誤りです。
EFSはパフォーマンスを発揮したいケースよりも、複数のEC2インスタンスで同じファイルシステムを利用したいようなケースで利用します。
同じブロックストレージにはAmazon EBSがありますが、インスタンスストアはEBSよりも高いパフォーマンスを発揮できるという特徴があります。
以下はAmazon EBSのボリュームタイプです。

表の「最大IOPS」列に着目してください。
(表中「最大IOPS」の「IOPS」とはInput Output per Second、つまり1秒間にどれだけI/O(Input/Output:読み取り/書き込み)が行えるかを意味する性能指標です。プロビジョンド(provisioned:予約済み)IOPS SSD(io1、io2)を選択すると、予約したI/O性能をAWSが保証してストレージを提供します。)
最も性能のよいプロビジョンドIOPS SSD(io1、io2)の最大IOPSは64,000です。一方、インスタンスストアは数百万IOPSとされています。
「1秒あたり数百万のIOPSが求められる」という要件は、Amazon EBSでは条件を満たすことができません。インスタンスストアが適切です。
したがって正解は
・インスタンスストア
です。
その他の選択肢については以下の通りです。
・Amazon EBS プロビジョンドIOPS SSD(io2)
・Amazon EBS スループット最適化 HDD(st1)
Amazon EBSでは、どのボリュームタイプを採用しても「1秒あたり数百万のIOPS」を満たすことができないで、誤りです。
・Amazon EFS
Amazon EFSでは数百万IOPSを発揮することはできないので、誤りです。
EFSはパフォーマンスを発揮したいケースよりも、複数のEC2インスタンスで同じファイルシステムを利用したいようなケースで利用します。
参考
【Amazon EC2(Amazon Elastic Compute Cloud)】
Amazon EC2(Amazon Elastic Compute Cloud)は、AWS上で動作する仮想サーバーを提供するサービスです。Amazon EC2などAWSが提供する仮想サーバーのことを「インスタンス」といいます。
EC2インスタンスが稼働する物理ハードウェアはAWSが管理するので、ユーザーはハードウェア資源のことを気にせず、コンピューティング資源を活用できます。なお、EC2インスタンスの作成時にAmazon マシンイメージ(AMI)からOSの導入が行われますが、EC2インスタンス固有のOSの設定や、AMIに入っていないミドルウェアの導入はユーザーが実施する必要があります。
【EC2インスタンスの作成の流れ】
EC2インスタンス作成は、以下の流れに沿って行います。
1. Amazon マシンイメージ(AMI)の選択
2. インスタンスタイプの選択
3. インスタンスの詳細の設定(ネットワーク、ユーザーデータ、プレイスメントグループなど)
4. ストレージの追加
5. タグの追加
6. セキュリティグループの設定
7. キーペアの設定
【Amazon マシンイメージ(AMI)】
Amazon マシンイメージ(AMI)は、EC2インスタンスに展開可能なOSやミドルウェアなどのテンプレートです。EC2インスタンスはAMIから作成されます。
EC2インスタンスに展開するAMIは、AWSから提供されるイメージの他に、独自で作成したものや、他のユーザーが作成したもの、AWS Marketplaceに掲載されているものを選択できます。選択したAMIをEC2インスタンスに展開して、テンプレートと同じ構成のインスタンスを起動します。AMIは「EC2 Image Builder(AMI管理用のAWSサービス)」で作成する方法の他、既存のEC2インスタンスから作成することもできます。
EC2インスタンスの作成時に、Amazon マシンイメージ(AMI)の選択をします。

AMIはEC2インスタンスの複製時にも使用します。EC2インスタンスを複製するには、EC2インスタンスからAMIを作成し、作成したAMIから新しいEC2インスタンスを起動します。また、AMIはリージョン間でコピーができるので、同一のEC2インスタンスを別リージョンで起動できます。
【インスタンスタイプ】
インスタンスタイプは、EC2インスタンス作成時に選択できるCPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせです。インスタンスタイプごとにインスタンスに割り当てるCPUコア数、メモリ容量、ストレージの種類、ネットワークキャパシティーが決まっているので、ユーザーはその中からニーズに合ったインスタンスタイプを選択してインスタンスを作成します。
EC2インスタンス作成時に、インスタンスタイプの選択をします。

インスタンスタイプの名前は、インスタンスファミリー、インスタンスの世代、インスタンスサイズで構成されています。

インスタンスファミリーは、インスタンスタイプの用途別の分類です。インスタンスファミリーの分類は、汎用、コンピューティング最適化、メモリ最適化、高速コンピューティング、ストレージ最適化に用途が分けられています。

【ユーザーデータ】
EC2インスタンス作成時の「インスタンスの詳細の設定」画面で「高度な詳細」をクリックすると、ユーザーデータの設定画面が表示されます。

ユーザーデータは、ユーザーがEC2インスタンス作成時に自動実行させたいコマンドやスクリプトです。ユーザーデータは必須の設定項目ではありませんが、設定したコマンドやスクリプトによってEC2インスタンス作成と同時にOSの設定やミドルウェアのインストールをすることで、インスタンスの作成完了後すぐに必要な環境を構築済みにできます。
【プレイスメントグループ】
プレイスメントグループとは、複数のEC2インスタンスをグループ化し、インスタンス間で低遅延な通信を可能にする機能です。例えば「クラスタープレイスメントグループ」では、グループ内のEC2インスタンスは単一AZ内の物理的に近い距離に配置されるため、通信の遅延が起こりにくく高速な通信が可能です。
クラスタープレイスメントグループが所属するAZに何らかの障害が発生した場合はサービスが利用不能になってしまうため、可用性を犠牲にしてでもEC2インスタンス間の通信遅延を極力なくしたい場合に利用します。

EC2インスタンス作成時の「インスタンスの詳細の設定」内の「配置グループ」にて、プレイスメントグループの設定項目があります。

【ストレージ】
EC2インスタンスのストレージには、Amazon EBSおよびインスタンスストアを利用します。
EBSはEC2インスタンスに割り当てられるブロックストレージで、物理ハードディスクドライブと同じように利用できます。詳細は分野「EBS」を参照してください。

インスタンスストアは、EC2インスタンスから利用できる揮発性の(インスタンス稼働中にだけ利用可能な)ブロックストレージです。ホストコンピュータに物理的に割り当てられたディスク上にあり、頻繁に変更される情報の一時的なストレージとして利用できます。
なお、利用できるのは一部のインスタンスタイプのみです。利用料金はEC2に含まれているため、インスタンスストア自体は無料で使用できます。
インスタンスストアはEBSが登場する以前はEC2のデフォルトのストレージとして使用されていました。揮発性のストレージであり、また冗長構成ではないため、EC2インスタンスの停止・終了時や障害発生時にはデータが失われます。一方、EBSよりも高いパフォーマンスを発揮できるという特徴があります。EBSで最も高性能なボリュームタイプでも64,000IOPS(※)ですが、インスタンスストアは数百万IOPSを発揮します。
※IOPS(Input Output per Second)... 1秒間にどれだけI/O(Input/Output:読み取り/書き込み)が行えるかを意味する性能指標のこと。
【タグ】
タグは、EC2インスタンスなどの各AWSリソースに「キー」と「値」を設定することにより、AWSリソースを分類できる任意の属性情報です。用途や所有者などを分類するためにタグを割り当てることで、同じタグが割り当てられたインスタンス全てに対して同じオペレーションを行うなど、運用管理の効率化に役立ちます。
EC2インスタンスの作成時に、タグを追加できます。

【セキュリティグループ】
VPC上でネットワークアクセスをインスタンスごとに制御するファイアウォールです。
詳細は分野「VPC」を参照してください。
【キーペア】
キーペアとは、EC2インスタンスに安全に接続するための暗号鍵のペアのことです。AWS上に保管されるパブリックキーと、ユーザーの環境上に保管するプライベートキーの2つの鍵で構成されます。
一組のキーペアを複数のインスタンスに紐付けて使えます。インスタンスに紐付けたキーペアのパブリックキーと、ユーザが接続時に使用するプライベートキーの組み合わせが一致する場合のみ、インスタンスに接続できます。
EC2インスタンスの作成時に、既存のキーペアを選択するか、新しいキーペアを作成します。

ユーザーの環境上に保管したプライベートキーを利用して、インスタンスへ接続します。

【メタデータ】
メタデータは、実行中のインスタンスに関するデータです。メタデータには、インスタンスIDやパブリックIPアドレス、DNSホスト名などが含まれます。
メタデータは実行中のインスタンスから「http://169.254.169.254/latest/meta-data/」にアクセスして取得できます。以下は実行例です。
[インスタンスIDを表示]

[パブリックIPv4アドレスを表示]

[プライベートIPv4 DNSホスト名を表示]

Amazon EC2(Amazon Elastic Compute Cloud)は、AWS上で動作する仮想サーバーを提供するサービスです。Amazon EC2などAWSが提供する仮想サーバーのことを「インスタンス」といいます。
EC2インスタンスが稼働する物理ハードウェアはAWSが管理するので、ユーザーはハードウェア資源のことを気にせず、コンピューティング資源を活用できます。なお、EC2インスタンスの作成時にAmazon マシンイメージ(AMI)からOSの導入が行われますが、EC2インスタンス固有のOSの設定や、AMIに入っていないミドルウェアの導入はユーザーが実施する必要があります。
【EC2インスタンスの作成の流れ】
EC2インスタンス作成は、以下の流れに沿って行います。
1. Amazon マシンイメージ(AMI)の選択
2. インスタンスタイプの選択
3. インスタンスの詳細の設定(ネットワーク、ユーザーデータ、プレイスメントグループなど)
4. ストレージの追加
5. タグの追加
6. セキュリティグループの設定
7. キーペアの設定
【Amazon マシンイメージ(AMI)】
Amazon マシンイメージ(AMI)は、EC2インスタンスに展開可能なOSやミドルウェアなどのテンプレートです。EC2インスタンスはAMIから作成されます。
EC2インスタンスに展開するAMIは、AWSから提供されるイメージの他に、独自で作成したものや、他のユーザーが作成したもの、AWS Marketplaceに掲載されているものを選択できます。選択したAMIをEC2インスタンスに展開して、テンプレートと同じ構成のインスタンスを起動します。AMIは「EC2 Image Builder(AMI管理用のAWSサービス)」で作成する方法の他、既存のEC2インスタンスから作成することもできます。
EC2インスタンスの作成時に、Amazon マシンイメージ(AMI)の選択をします。

AMIはEC2インスタンスの複製時にも使用します。EC2インスタンスを複製するには、EC2インスタンスからAMIを作成し、作成したAMIから新しいEC2インスタンスを起動します。また、AMIはリージョン間でコピーができるので、同一のEC2インスタンスを別リージョンで起動できます。
【インスタンスタイプ】
インスタンスタイプは、EC2インスタンス作成時に選択できるCPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせです。インスタンスタイプごとにインスタンスに割り当てるCPUコア数、メモリ容量、ストレージの種類、ネットワークキャパシティーが決まっているので、ユーザーはその中からニーズに合ったインスタンスタイプを選択してインスタンスを作成します。
EC2インスタンス作成時に、インスタンスタイプの選択をします。

インスタンスタイプの名前は、インスタンスファミリー、インスタンスの世代、インスタンスサイズで構成されています。

インスタンスファミリーは、インスタンスタイプの用途別の分類です。インスタンスファミリーの分類は、汎用、コンピューティング最適化、メモリ最適化、高速コンピューティング、ストレージ最適化に用途が分けられています。

【ユーザーデータ】
EC2インスタンス作成時の「インスタンスの詳細の設定」画面で「高度な詳細」をクリックすると、ユーザーデータの設定画面が表示されます。

ユーザーデータは、ユーザーがEC2インスタンス作成時に自動実行させたいコマンドやスクリプトです。ユーザーデータは必須の設定項目ではありませんが、設定したコマンドやスクリプトによってEC2インスタンス作成と同時にOSの設定やミドルウェアのインストールをすることで、インスタンスの作成完了後すぐに必要な環境を構築済みにできます。
【プレイスメントグループ】
プレイスメントグループとは、複数のEC2インスタンスをグループ化し、インスタンス間で低遅延な通信を可能にする機能です。例えば「クラスタープレイスメントグループ」では、グループ内のEC2インスタンスは単一AZ内の物理的に近い距離に配置されるため、通信の遅延が起こりにくく高速な通信が可能です。
クラスタープレイスメントグループが所属するAZに何らかの障害が発生した場合はサービスが利用不能になってしまうため、可用性を犠牲にしてでもEC2インスタンス間の通信遅延を極力なくしたい場合に利用します。

EC2インスタンス作成時の「インスタンスの詳細の設定」内の「配置グループ」にて、プレイスメントグループの設定項目があります。

【ストレージ】
EC2インスタンスのストレージには、Amazon EBSおよびインスタンスストアを利用します。
EBSはEC2インスタンスに割り当てられるブロックストレージで、物理ハードディスクドライブと同じように利用できます。詳細は分野「EBS」を参照してください。

インスタンスストアは、EC2インスタンスから利用できる揮発性の(インスタンス稼働中にだけ利用可能な)ブロックストレージです。ホストコンピュータに物理的に割り当てられたディスク上にあり、頻繁に変更される情報の一時的なストレージとして利用できます。
なお、利用できるのは一部のインスタンスタイプのみです。利用料金はEC2に含まれているため、インスタンスストア自体は無料で使用できます。
インスタンスストアはEBSが登場する以前はEC2のデフォルトのストレージとして使用されていました。揮発性のストレージであり、また冗長構成ではないため、EC2インスタンスの停止・終了時や障害発生時にはデータが失われます。一方、EBSよりも高いパフォーマンスを発揮できるという特徴があります。EBSで最も高性能なボリュームタイプでも64,000IOPS(※)ですが、インスタンスストアは数百万IOPSを発揮します。
※IOPS(Input Output per Second)... 1秒間にどれだけI/O(Input/Output:読み取り/書き込み)が行えるかを意味する性能指標のこと。
【タグ】
タグは、EC2インスタンスなどの各AWSリソースに「キー」と「値」を設定することにより、AWSリソースを分類できる任意の属性情報です。用途や所有者などを分類するためにタグを割り当てることで、同じタグが割り当てられたインスタンス全てに対して同じオペレーションを行うなど、運用管理の効率化に役立ちます。
EC2インスタンスの作成時に、タグを追加できます。

【セキュリティグループ】
VPC上でネットワークアクセスをインスタンスごとに制御するファイアウォールです。
詳細は分野「VPC」を参照してください。
【キーペア】
キーペアとは、EC2インスタンスに安全に接続するための暗号鍵のペアのことです。AWS上に保管されるパブリックキーと、ユーザーの環境上に保管するプライベートキーの2つの鍵で構成されます。
一組のキーペアを複数のインスタンスに紐付けて使えます。インスタンスに紐付けたキーペアのパブリックキーと、ユーザが接続時に使用するプライベートキーの組み合わせが一致する場合のみ、インスタンスに接続できます。
EC2インスタンスの作成時に、既存のキーペアを選択するか、新しいキーペアを作成します。

ユーザーの環境上に保管したプライベートキーを利用して、インスタンスへ接続します。

【メタデータ】
メタデータは、実行中のインスタンスに関するデータです。メタデータには、インスタンスIDやパブリックIPアドレス、DNSホスト名などが含まれます。
メタデータは実行中のインスタンスから「http://169.254.169.254/latest/meta-data/」にアクセスして取得できます。以下は実行例です。
[インスタンスIDを表示]

[パブリックIPv4アドレスを表示]

[プライベートIPv4 DNSホスト名を表示]

回答の選択肢について
投稿日 2022/08/24
「複数のEC2インスタンス上で動作するサーバーのストレージを検討している。パフォーマンスはサーバーあたり数十万のIOPSが求められ、かつデータ損失に耐えうる構成である必要がある。最も適切なストレージサービスと構成はどれか。」の問題に対して、「インスタンスストアを使用する。各EC2インスタンスのインスタンスストアにデータを保存する」が正解となっている。
各EC2のインスタンスストアにデータを保存しても、インスタンス停止時にはデータが消失されるため損失に耐えられないのでは無いでしょうか?
解説でも「インスタンスストアは揮発性のストレージであり耐久性はありません。しかしデータを複数のEC2インスタンス上にコピーして保持することにより、いずれかのインスタンスが故障しても、データを保持しておくことができます。」と記載があるように、データを複数のEC2インスタンス上にコピーをしなければ、データの保持をできないことから、正解の選択肢は「各EC2インスタンスのインスタンスストアにデータを保存する」ではなく、「複数のEC2インスタンス上にコピーして保持する」では無いでしょうか?
スタッフからの返信
この投稿に対して返信しませんか?
s staff_satomi
2022/08/24 16:14
kazuo1022様 ご指摘の点を修正いたしました。 ご報告下さり、誠にありがとうございます。