はじめに
Wasabi は S3 互換のオブジェクトストレージで、egress(ダウンロード)や API リクエストの料金がかからない、コストを予測しやすいサービスです。ランサムウェア対策としては、Object Lock を使って削除・改ざんできない不変バックアップを作れます。
本記事は、検証環境で実際に手を動かしながら設定できるよう、コンソール画面に沿って解説します。対策全体の位置づけは上位記事『ランサムウェア対策の基本と全体像|3-2-1-1-0 で守るバックアップ設計』を、設計の前提は『ファイルサーバーのランサムウェア対策|不変バックアップ設計の基礎』を、AWS 版との対比は『AWS S3 Object Lock でランサムウェア対策|設定手順と注意点』をあわせて参照してください。
- Object Lock を有効化したバケットの作り方と保持の設定方法
- Object Lock と Compliance の違い(Wasabi 特有の整理)
- 削除がブロックされることの確認方法
- S3 との違いと使い分け、そして検証時のコストの注意点
結論を先に述べると、Object Lock は「バージョニングを有効にしたバケット」に「保持」を設定することで成立します。検証では、解除可能な Governance モードと短い保持期間で試すのが安全です。ただし Wasabi には 90 日の最低保管期間があり、早く削除しても残り日数分が課金されるため、S3 のように「消せばすぐ課金が止まる」訳ではない点に注意します(詳細は事前準備で解説します)
事前準備: 権限・コスト・モードの注意点
操作の前に、権限・コスト・モードの 3 点を確認します。特にコストは、Wasabi 特有の注意があります。
必要な権限(サブユーザー/IAM)
検証用に、管理者権限を持つアカウントであればそのまま操作できます。本番では、最小権限のサブユーザー(IAM)を用意し、保持の解除に関わる権限(Governance のバイパスなど)を絞って管理することをおすすめします。
【重要】Wasabi のコスト特性(egress 無料・90 日最低保管・1 TB 最低)
Wasabi は egress と API リクエストが無料で、ストレージ料金も単一で分かりやすい一方、次のような最低課金があります。Pay as You Go では 90 日の最低保管期間があり、90 日より前に削除しても、残り日数分が「Timed Deleted Storage」として課金されます。また、月 1 TB の最低課金もあります。つまり、検証で作ったデータを消しても、すぐに課金が止まるわけではありません。検証は最小限のデータで行い、ある程度の最低コスト(1 TB・90 日分の枠)が発生する前提で進めることをおすすめします(参考: https://wasabi.com/pricing/faq)
Object Lock と Compliance の違い(相互排他。本記事は Object Lock)
Wasabi の不変性には 2 種類あり、混同しやすいので整理します。
- Object Lock
-
オブジェクト(バージョン)単位の不変化です。バケット作成時にのみ有効化でき、バージョニングが必須です。保持には Governance/Compliance のモードがあります。S3 互換で、バックアップアプリ連携にも向きます。
- Compliance
-
バケット単位の不変化機能で、作成後でも有効化できます。ロックすると、解除には Wasabi サポートへの依頼が必要になります。
参考: Wasabi「Immutability: Compliance and Object Lock」
“You can enable object locking only during bucket creation”
(オブジェクトロックはバケット作成時にのみ有効化できる)
https://docs.wasabi.com/docs/immutability-compliance-and-object-locking
この 2 つは相互排他で、1 つのバケットにはどちらか一方しか設定できません。本記事は、S3 と対比しやすい Object Lock を使います。なお、Object Lock の Compliance モードや、バケットの Compliance ロックは解除が困難なため、検証では Governance モード + 短い保持期間にとどめるのが安全です。
Object Lock を有効化したバケットを作成する
Object Lock はバケット作成時にのみ有効化でき、バージョニングが前提です。後から追加できないため、作成時に設定します。
- Wasabi コンソールにサインインし、「Buckets」から「Create Bucket」を選びます。
- バケット名(一意)と、近いリージョン(例: Wasabi の東京リージョン
ap-northeast-1)を指定します。 - バージョニングを有効にします(Object Lock に必須です)
- Object Lock(オブジェクトロック)を有効にします。
- バケットを作成します。
作成後に Object Lock を追加することはできません。また、Object Lock を有効にしたバケットでは、バケット単位の Compliance 機能は使えません。

デフォルト保持(Default Object Retention)を設定する
バケットにデフォルト保持を設定すると、以降アップロードする新規オブジェクトへ自動で保持が適用されます。
- 対象バケットの設定で「Default Object Retention」を有効にします。
- モードを選びます。既定は Governance です。検証では Governance を選びます。
- 「Retention Time」で保持期間(日数または年数)を指定します。検証では短い日数(例: 1 日)にします。
- 規約を確認して「CONFIRM」と入力し、適用します。
デフォルト保持は、設定後にアップロードされる新規オブジェクトに適用され、既存のオブジェクトには適用されません(参考: https://docs.wasabi.com/docs/object-locking-enable )

オブジェクトをアップロードして保持を確認する
- 作成したバケットにファイルをアップロードします。
- アップロードしたオブジェクトのプロパティで、保持期限が適用されていることを確認します。

個別オブジェクトの保持・リーガルホールド
バケットの既定とは別に、オブジェクト単位で保持を設定することもできます。個別に設定した値は、バケットの既定より優先されます。リーガルホールドは保持期間とは独立した保護で、明示的に解除するまで有効です。

削除がブロックされることを確認する
設定が効いているかは、実際に削除を試すのが分かりやすいです。
- バージョン表示を有効にし、保護中のバージョンを選びます。
- 削除を試すと、保持により拒否されます。
<スクリーンショット挿入⑤: 保持中のオブジェクトの削除が拒否されたメッセージ>
検証で使っている Governance モードでは、相応の権限を持つ場合にバイパスして削除できます(後片付けで使います)Compliance モードやロックした Compliance では、これができません。

S3 との違いと使い分け
Wasabi と S3 はどちらも S3 互換の Object Lock を備え、Governance/Compliance モードやバージョニング必須といった基本は共通します。違いとして押さえておきたいのは次の点です。
- 有効化のタイミング
-
Wasabi の Object Lock はバケット作成時のみ有効化できます。S3 は既存バケットにも有効化できる点が異なります。
- コスト構造
-
Wasabi は egress・API が無料で料金が単一なため、長期保管や復元の多い用途で予測しやすい一方、90 日の最低保管と月 1 TB の最低課金があります。S3 はストレージクラスが豊富で短期削除に強い反面、egress やリクエストの課金が積み上がります。短期で消すデータは S3、長期保管は Wasabi が有利になりやすい、という整理ができます。
- バックアップアプリ連携
-
Veeam などの一部アプリは、Object Lock を「バケットレベルのデフォルト保持なし」で使う構成が必要になる場合があります。採用するアプリの Object Lock 対応を事前に確認することをおすすめします。
用途で言えば、コスト重視・長期保管・中小規模なら Wasabi、AWS エコシステムとの連携や短期データの混在が多いなら S3、という使い分けが目安になります。詳しい構成例は、関連記事『オンプレ NAS と Wasabi でランサムウェア対策|低コストな 3-2-1-1-0 構成例』や比較記事で扱います。
後片付けとコストの注意(90 日最低保管の影響)
検証後の片付けでは、Wasabi 特有のコストに注意します。Governance モードであれば、相応の権限でバイパスして検証データを削除できます。ただし、前述のとおり 90 日より前に削除した分は「Timed Deleted Storage」として残り日数が課金され、加えて月 1 TB の最低課金もかかります。「消せば課金が止まる」ではなく、最低保管分のコストが残る点を見込んでおきます。
また、Object Lock の Compliance モードや、バケットの Compliance ロックは解除が困難(後者はサポート対応)なため、検証段階では使わないことをおすすめします。バケットを削除する際は、保持が残っているオブジェクトを先に整理する必要がある点も確認しておきます。
まとめ
Wasabi の Object Lock は、バージョニングを有効にしたバケットに保持やリーガルホールドを設定することで、削除・改ざんできない不変バックアップを実現する仕組みです。S3 と基本は共通しますが、有効化のタイミングやコスト構造に違いがあり、特に 90 日の最低保管は検証時に意識しておきたいポイントです。
- Object Lock はバージョニング有効バケットで作成時のみ有効化できる。
- 保持かリーガルホールドで WORM 保護を実現する。
- Object Lock と Compliance は相互排他で一方のみ選ぶ。
- Governance は権限者が解除でき、検証に向く。
- Wasabi は egress 無料だが 90 日の最低保管がある。
- 検証でも 1 TB・90 日分の最低コストを見込む。
- 短期削除は S3、長期保管は Wasabi が有利になりやすい。
以上、最後までお読みいただきありがとうございました。
