AWS認定資格 WEB問題集&徹底解説DevOpsエンジニア プロフェッショナル(DOP)

Amazon FSx for OpenZFS の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon FSx for OpenZFSはどんな内容なのでしょうか?また、AWS認定資格のDevOpsエンジニア-プロフェッショナル(DOP)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon FSx for OpenZFS 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon FSx for OpenZFSは、オープンソースのOpenZFSファイルシステムをフルマネージドで提供するサービスです。 NFS(v3、v4.0、v4.1、v4.2)でLinux・macOS・Windowsのクライアントからアクセスでき、数百マイクロ秒程度の低レイテンシと、キャッシュ済みデータで100万IOPSを超える性能を提供します。

ZFSならではの即時スナップショット、書き込み可能なクローン、圧縮(LZ4/Zstandard)、ボリューム単位のクォータを使えるため、オンプレミスのZFSやLinuxベースのNASからの移行先として適しています。 FSxの4種類のうち、NFSで低レイテンシが必要で、スナップショットやクローンを多用するならFSx for OpenZFS、SMBやiSCSIも必要ならFSx for NetApp ONTAP、並列HPCならFSx for Lustre、Windows共有ならFSx for Windows File Serverを選びます。

2. 主な特徴と機能

2.1 デプロイタイプ

Multi-AZ(HA)は2つのAZにファイルサーバーとストレージを置き、AZ間で同期レプリケーションします。Single-AZ(HA)は同じAZ内の2台のファイルサーバーで1組のストレージを共有し、Single-AZ(非HA)は1台のファイルサーバーで構成されます。 HA構成は障害や計画メンテナンス時に通常60秒以内でフェイルオーバーしますが、非HAは復旧やメンテナンスで30分程度停止することがあります。Single-AZにはSingle-AZ 1と、より高性能なSingle-AZ 2があります。

2.2 ストレージクラス

プロビジョニング型のSSDと、保存したデータ量に応じて課金され、アクセスパターンに応じて低コスト層へ自動で移すIntelligent-Tieringがあります。 スループット容量(MB/秒)を別に指定し、ファイルサーバーのメモリやNVMeキャッシュによって頻繁に読むデータが高速に返されます。

2.3 ボリュームとスナップショット

1つのファイルシステムに複数のボリュームを階層的に作成でき、ボリュームごとにクォータ、圧縮方式、NFSエクスポート設定、記録サイズを決められます。 スナップショットはボリュームの読み取り専用のある時点の像で、変更分だけ容量を使います。利用者はボリューム直下の隠しディレクトリ.zfs/snapshotから過去のファイルを自分でコピーして戻せます。 ボリューム全体を戻すときはRestoreVolumeFromSnapshotを使い、ファイルシステムを作り直さずにスナップショット時点へ巻き戻せます(それ以降のスナップショットやクローンは削除の指定が必要)。

2.4 クローン

スナップショットからクローンボリュームを作るとほぼ瞬時に書き込み可能なコピーができ、変更分だけ容量を消費します。元のスナップショットとの依存関係を切りたい場合はフルコピーのボリュームを作ります。 データベースのテスト環境や、同じデータセットを複数チームで並行利用する場面で効果を発揮します。

2.5 オンデマンドレプリケーション

CopySnapshotAndUpdateVolumeで、あるファイルシステムのスナップショットを別のファイルシステムのボリュームへ増分転送できます(同一リージョン・別リージョン・別アカウント)。 定期実行の仕組みはAWSが提供するCloudFormationベースのソリューションで組めます。レプリケーション自体の追加料金は無く、リージョン間・アカウント間のデータ転送料金がかかります。

2.6 S3 アクセスポイント

ファイルシステムにAmazon S3アクセスポイントをアタッチすると、データを移動せずにS3のAPIで読み書きでき、S3と連携する分析・生成AIサービスからファイルデータを利用できます。NFSでのアクセスはそのまま継続できます。

3. アーキテクチャおよび技術要素

  1. ファイルシステムはVPC内のENIで提供される。Multi-AZは別AZの2サブネットを指定し、フローティングIPにより同じエンドポイントのまま切り替わる。
  2. クライアントはNFSでボリュームのパスをマウントする。ボリュームごとのNFSエクスポート設定で、アクセスを許可するクライアントとオプションを決める。
  3. 読み取りはファイルサーバーのメモリ(ARC)とNVMeキャッシュで加速され、キャッシュに無いデータはディスク(SSDまたはIntelligent-Tiering)から読む。
  4. データ保護は、短時間の巻き戻し用のスナップショット(ファイルシステム内)と、長期保持・DR用のバックアップ(ファイルシステム外、S3に保存)の二段で考える。
  5. スループット容量を変更すると、HA構成ではファイルサーバーが順に置き換えられてフェイルオーバー/フェイルバックが発生する。

スナップショットはファイルシステムの中にあるため、ファイルシステム自体を失うと一緒に失われます。削除や災害に備えるにはバックアップ(できれば別リージョンへのコピー)が必要です。

4. セキュリティと認証・認可

  • 保管時の暗号化: データとバックアップは常にAWS KMSキーで暗号化される。カスタマー管理キーを指定できる。
  • 転送時の暗号化: 転送時の暗号化に対応したEC2インスタンスからアクセスすると、通信が自動で暗号化される。
  • ファイルアクセス制御: NFSエクスポートでクライアントのIPアドレス範囲や読み書き/読み取り専用を指定し、ファイル単位はPOSIXの権限で制御する。root squashも設定できる。
  • ネットワーク: セキュリティグループでNFS関連のポートを必要なクライアントだけに許可する。インターネットには公開できない。
  • API認可と監査: ボリューム、スナップショット、バックアップの操作はIAMで制御し、CloudTrailで記録する。RestoreVolumeFromSnapshotのような破壊的な操作は権限を絞る。

5. 料金形態

  • ストレージ: SSDはプロビジョニングした容量(GB/月)。Intelligent-Tieringは保存したデータ量と層に応じて課金。
  • SSD IOPS: 容量に応じた基本IOPSを超えて追加でプロビジョニングした分。
  • スループット容量: 選んだスループット(MB/秒)に課金。デプロイタイプによって単価が異なる。
  • バックアップ: バックアップの保存量(GB/月)。スナップショットはファイルシステムの容量を消費する。
  • コスト最適化: 圧縮を有効にし、クローンで重複コピーを避ける。可用性要件に応じてMulti-AZとSingle-AZを選び分ける。

6. よくあるアーキテクチャ・設計パターン

  • Linux NAS/ZFSの移行: オンプレミスのNFSサーバーからAWS DataSyncやrsyncで移行し、既存のマウント手順をほぼ変えずに使う。
  • 論理破損からの短時間復旧: 15分ごとなど細かい間隔でスナップショットを自動作成し、事故時はボリュームを直前のスナップショットへ巻き戻す。マウントポイントやDNS名は変わらない。
  • 長期保持と別リージョン保管: AWS Backupのバックアッププランで日次バックアップ、保持期間、別リージョンへのコピーをまとめて管理する。
  • DR(アクティブ/パッシブ): オンデマンドレプリケーションで別リージョンのファイルシステムへ定期的に増分転送しておき、障害時に切り替える。
  • 開発・テストの高速化: 本番ボリュームのスナップショットからクローンを作り、CI/CDのテストやデータベース検証に使う。

7. 設定・デプロイ手順(ハンズオン例)

  1. FSxコンソールで FSx for OpenZFS を選び、デプロイタイプ(Multi-AZ / Single-AZ HA / Single-AZ 非HA)とストレージクラスを決める。
  2. 容量、スループット容量、VPC・サブネット・セキュリティグループ、暗号化キーを指定する。
  3. 自動日次バックアップの保持期間とバックアップウィンドウ、メンテナンスウィンドウを設定する。
  4. ルートボリュームの下に用途別のボリュームを作成し、クォータ、圧縮、NFSエクスポートを設定する。
  5. クライアントからNFSでマウントし、.zfs/snapshotからファイルを復元できることを確認する。
  6. 細かい間隔のスナップショットが必要なら、AWSが提供するスナップショットスケジュール用のCloudFormationテンプレート(EventBridgeのスケジュールとLambda)を展開する。
  7. 長期保持はAWS Backupのプランで設定し、CloudWatchで容量とスループットを監視する。

8. 試験で問われやすいポイント

8.1 サービス選択

  • Q: Linuxの解析ノードからNFSでサブミリ秒のアクセスが必要で、即時スナップショットとクローンも使いたい場合は?
    A: FSx for OpenZFSを使う。
  • Q: 同じデータにSMBやiSCSIでもアクセスしたい場合もOpenZFS?
    A: いいえ。OpenZFSはNFS中心なので、マルチプロトコルならFSx for NetApp ONTAPを選ぶ。

8.2 スナップショットとバックアップの使い分け(DOP)

  • Q: 論理破損時に直近15分以内の状態へ、マウントポイントを変えずに数分で戻したい場合は?
    A: 15分ごとにスナップショットを作成し、restore-volume-from-snapshotでボリュームを巻き戻す。バックアップからの復元は新しいファイルシステム/ボリュームの作成になり時間がかかる。
  • Q: OpenZFSのスナップショットを一定間隔で自動作成するには?
    A: AWSが提供するCloudFormationテンプレートを展開し、EventBridgeのスケジュールから起動するLambdaでスナップショットの作成と古いものの削除を行う。
  • Q: 日次バックアップを7年保持し、別リージョンにも置き、ファイルシステムを削除しても残したい場合は?
    A: AWS Backupのバックアッププランで保持期間と別リージョンへのコピーを設定する。スナップショットだけではファイルシステムと一緒に失われる。

8.3 可用性とDR

  • Q: AZ障害でもデータを失わず、自動で切り替えたい場合は?
    A: Multi-AZ(HA)で作成する。AZ間で同期レプリケーションされ、通常60秒以内にフェイルオーバーする。
  • Q: 一時的な停止を許容できる開発環境を安く作るには?
    A: Single-AZ(非HA)を使う。障害やメンテナンス時に停止時間が発生する。
  • Q: 別リージョンへスナップショット単位で増分転送してDRに備えるには?
    A: オンデマンドレプリケーション(CopySnapshotAndUpdateVolume)を使う。

8.4 運用の効率化

  • Q: テスト用に本番データのコピーを素早く、容量をほとんど使わずに作るには?
    A: スナップショットからクローンボリュームを作る。
  • Q: デプロイタイプを変更したい場合は?
    A: 作成後には変更できないため、バックアップからの復元、rsync、オンデマンドレプリケーションで新しいファイルシステムへ移行する。