助け合いフォーラム

AWS

AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 30563
問題を開く
ソリューションアーキテクトは複数の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 Block Express)を選択すると、予約したI/O性能をAWSが保証してストレージを提供します。)
最も性能のよいプロビジョンドIOPS SSD(io2 Block Express)の最大IOPSは256,000です。一方、インスタンスストアは数百万IOPSとされています。

「1秒あたり数百万のIOPSが求められる」という要件は、Amazon EBSでは条件を満たすことができません。インスタンスストアが適切です。

したがって正解は
・インスタンスストア
です。

その他の選択肢については以下の通りです。

・Amazon EBS プロビジョンドIOPS SSD(io2 Block Express)
・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はIaaS型のクラウドサービスなので、EC2インスタンスが稼働する物理ハードウェアはAWSが管理しますが、OSやミドルウェアなどはユーザーが管理します。

【EC2インスタンスの作成の流れ】
EC2インスタンスの作成は、以下の流れに沿って行います。
1. Amazon マシンイメージ(AMI)の選択
2. インスタンスタイプの選択
3. キーペアの設定
4. ネットワークの設定
5. ストレージの設定
6. 高度な設定

1. Amazon マシンイメージ(AMI)の選択
Amazon マシンイメージ(AMI)は、EC2インスタンスを起動するために必要なOSやミドルウェアなどのテンプレートです。EC2インスタンスはユーザーが選択したAMIを元に作成されます。AMIに含まれないサーバー固有のOSの設定や、ミドルウェアの導入は個別に実施する必要があります。
AMIは、AWSから提供されるイメージの他に、独自で作成したものや、他のユーザーが作成したもの、AWS Marketplaceに掲載されているものを選択できます。AMIの作成は「EC2 Image Builder※」を使用する方法の他、既存のEC2インスタンスから作成することもできます。同一のAMIから起動するEC2インスタンスは同一構成になるので、EC2インスタンスの複製を容易にします。
※EC2 Image Builder:EC2およびオンプレミスに展開可能な仮想マシンイメージの作成・管理ができるサービス

[AMIの設定画面]


AMIはEC2インスタンスの複製時にも使用します。EC2インスタンスを複製するには、EC2インスタンスからAMIを作成し、作成したAMIから新しいEC2インスタンスを起動します。また、AMIはリージョン間でコピーができるので、同一のEC2インスタンスを別リージョンで起動できます。

AMIは他AWSアカウントへ共有できます。AMIの共有設定(launchPermission)では「パブリック」と「プライベート」のどちらかを選択します。パブリックはリージョン内のすべてのAWSアカウントに共有し、プライベートは特定のAWSアカウントを指定して共有します。

2. インスタンスタイプの選択
インスタンスタイプは、インスタンス作成時に選択できるCPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせです。インスタンスタイプごとにインスタンスに割り当てるCPUコア数、メモリ容量、ストレージの種類、ネットワークキャパシティーが決まっているので、ユーザーはその中からニーズに合ったインスタンスタイプを選択してインスタンスを作成します。

[インスタンスタイプの選択画面]


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


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


3. キーペアの設定
キーペアとは、EC2インスタンスに安全に接続するための暗号鍵のペア(SSHキー)のことです。AWS上に保管されるパブリックキーと、ユーザーの環境上に保管するプライベートキーの2つの鍵で構成されます。
一組のキーペアを複数のインスタンスに紐付けて使えます。インスタンスに紐付けたキーペアのパブリックキーと、ユーザが接続時に使用するプライベートキーの組み合わせが一致する場合のみ、インスタンスに接続できます。

EC2インスタンスの作成時に、既存のキーペアを選択するか、新しいキーペアを作成します。


4. ネットワークの設定
ネットワークの設定ではEC2インスタンスを配置するVPCやAZを選択します。EC2インスタンスはデフォルトで冗長化されていないので、ユーザーにてマルチAZ構成にするなどの対応が必要です。
※AWSのネットワークについては、分野「VPC」で学習します。

[ネットワークの設定画面]


5. ストレージの設定
EC2インスタンスのストレージには、Amazon EBSおよびインスタンスストアを利用します。

〇Amazon EBS(Elastic Block Store)
EC2インスタンスに割り当てられるブロックストレージで、物理ハードディスクドライブと同じように利用できます。
※Amazon EBSについての詳細は、分野「EBS」で学習します。

〇インスタンスストア
EC2インスタンスの内部ストレージとして利用できる揮発性の(インスタンス稼働中にだけ利用可能な)ブロックストレージです。ホストコンピュータに物理的に割り当てられたディスク上にあり、頻繁に変更されるデータの一時的な保存領域として一部のインスタンスタイプで使用できます。
利用料金がEC2インスタンスに含まれているため、インスタンスストア自体は無料です。

インスタンスストアはEBSが登場する以前はEC2のデフォルトのストレージとして使用されていました。揮発性のストレージであり、また冗長構成ではないため、EC2インスタンスの停止・終了時や障害発生時にはデータが失われます。一方、EBSよりも高いパフォーマンスを発揮できるという特徴があります。EBSで最も高性能なボリュームタイプでも256,000IOPS(※)ですが、インスタンスストアは数百万IOPSを発揮します。
※IOPS(Input Output per Second)... 1秒間にどれだけI/O(Input/Output:読み取り/書き込み)が行えるかを意味する性能指標のこと。

[ストレージの設定画面]


6. 高度な設定
高度な設定では、プレイスメントグループやメタデータなどを設定できます。

■プレイスメントグループ
プレイスメントグループは複数のEC2インスタンスを論理的にグループ化し、インスタンス間での低遅延な通信や、ハードウェア障害による影響を軽減できる機能です。
プレイスメントグループはEC2インスタンスの配置方法によって3つの種類があります。

〇クラスタープレイスメントグループ
クラスタープレイスメントグループは、グループ内のEC2インスタンスを単一AZ内の物理的に近い距離に配置します。各EC2インスタンス同士の通信は遅延が発生しにくく高速な通信が可能になります。クラスタープレイスメントグループが所属するAZに何らかの障害が発生した場合はサービスが利用不能になってしまうため、可用性を犠牲にしてでもEC2インスタンス間の通信遅延を極力なくしたい場合に利用します。


〇パーティションプレイスメントグループ
パーティションプレイスメントグループでは、グループをパーティションとよばれる論理グループに分割し、それぞれのパーティションに1つ以上のEC2インスタンスが所属します。各パーティションは1つのラックが対応しており、ラックには独立した電源とネットワークが配備されています。グループ内の各パーティションはラックを共有しないので、ハードウェア障害による影響を軽減します。パーティションプレイスメントグループは異なるAZにEC2インスタンスを配置することもできます。


〇スプレッドプレイスメントグループ
スプレッドプレイスメントグループは、グループ内のEC2インスタンスを異なるハードウェア(ラック)に配置します。パーティションプレイスメントグループではラック内に同一グループのEC2インスタンスを1つ以上配置しますが、スプレッドプレイスメントグループは同一グループのEC2インスタンスを1つしか配置しません。グループ内の各EC2インスタンスはハードウェアを共有しないので、ハードウェア障害による影響を軽減します。スプレッドプレイスメントグループは異なるAZにEC2インスタンスを配置することもできます。


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

[インスタンスIDを表示]


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


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

上に戻る

プロビジョンドIOPS SSD(io2)のIPOS

公開日 2024/02/12

解説に
「最も性能のよいプロビジョンドIOPS SSD(io1、io2)の最大IOPSは64,000です。一方、インスタンスストアは数百万IOPSとされています。」
とありますが、すぐ上の表にはプロビジョンドIOPS SSD(io2 block express)のIPOSの最大は256,000IOPSと記載があります。
(io2)は64,000IOPS、256,000を達成できるのはプロビジョンドIOPS SSD(io2 block express)なので記載は正しいですが、
表に(io2)の記載がないこと、2023年11月に(io2)が(io2 block express)に統合されたことを考えると混乱を招くのではないでしょうか。

io2の記載を表に入れるか、どこかに(io2)64,000であることを記載しておいてもらえると親切かと思います。

2024/02/13 19:16

下記の"io1"はいらないかと。
最も性能のよいプロビジョンドIOPS SSD(io1、io2 Block Express)の最大IOPSは256,000です。一方、インスタンスストアは数百万IOPSとされています。


コメント

この返信に対して
コメントを記入できます

スタッフからの返信

s staff_satomi

2024/02/13 18:56

kaginote様 ご指摘の点を修正いたしました。 ご報告いただきまして、誠にありがとうございます。

s staff_satomi

2024/02/14 02:23

kaginote様 再度ご指摘の点を修正いたしました。 ご報告いただきまして、誠にありがとうございます。

この投稿に対して返信しませんか?