AWS S3バケットのバージョニングやデータ保護
目次
Amazon S3の概要
Amazon S3(Simple Storage Service)は、Amazon Web Services(AWS)が提供するクラウドベースのストレージサービスです。このサービスは、インターネット経由でいつでもどこでもデータの保存と取得が可能です。Amazon S3は、非常に信頼性が高く、拡張性が高い(スケーラブルな)インフラストラクチャを持っているため、個人の写真のバックアップから大規模企業のデータアーカイブまで、幅広い用途で利用されています。そのスケーラビリティと柔軟性は、データが爆発的に増加している現代のデジタル環境において大きな利点となります。また、データは複数の地理的に分散された場所に冗長的に保存されるため、高い耐久性と可用性を実現します。実際にAmazon S3のデータの耐久性は99.999999999%(イレブンナイン)といわれています。
企業においてファイルなどを保存するファイルストレージ、サーバーやコンピュータのデータを保存しておくブロックストレージなど、ストレージには様々な種類がありますが、Amazon S3はオブジェクトストレージと呼ばれるタイプのストレージです。データを『オブジェクト』という形式で保存します。これにより、サイズやタイプだけでなく、ファイルの特徴などを記載したカスタムメタデータを追加できます。これにより、データの管理や分類が非常に柔軟に行えます。また、アクセスはHTTP/HTTPSで行うため、疑似的なWebサーバーとしても機能をさせることが可能です。
Amazon S3の特徴 「複数のクラスオプション」
Amazon S3には複数のタイプとオプションが存在しています。それぞれのタイプとオプションについてみていきましょう。
汎用
幅広い用途に用いることができるストレージタイプです。
- S3 Standard(標準)…デフォルトで作成するとこちらのオプションが選択されます。最も一般的なストレージで、どの種類のデータにも使用できます。
- S3 Intelligent-Tiering…アクセス頻度に基づいてデータを最も費用対効果の高いタイプに変更するストレージです。アクセスパターンが変化するケースにおいて有効なものです。
低頻度アクセス
アクセス数が比較的少ないデータに対しておすすめのタイプとなります。以下2種類が存在します。
- S3 Standard-IA…定期的ではないアクセスに適したストレージクラスです。標準クラスよりも料金が低いですが、アクセスするたびに少額の料金がかかります
- S3 One Zone-IA…標準IAと同様にアクセス頻度が低いデータに適していますが、データは単一のアベイラビリティゾーンに保存されます。データが逸失するリスクは高いですが、コストはさらに低くなります。
アーカイブ
長期間のデータアーカイブやバックアップに適したストレージタイプです。データの保管料が圧倒的に安い点が特徴ですが、データの取り出しには時間がかかる場合があります。
- S3 Glacier…年に1度アクセスされるようなデータの保存に適しています。
- S3 Glacier Instant Retrieval…S3 Glacierよりもデータの取り出し速度が非常に高速です。監査ログやセキュリティログなど、アクセス頻度は低いが、取り出したいときにすぐ取り出せるような要件があるデータの保管に最適です。
- S3 Glacier Deep Archive…複数年以上のデータ長期保存要件に最適です。S3の中で最も低コストです。一方で、データの取り出し時間は最長です。
AWSを活用したデータのバックアップやリカバリーで安心、安全を設計するスタイルズのAWS移行サービスはこちら→
ライフサイクルポリシー
S3にはライフサイクルポリシーと呼ばれる設定があります。このポリシーを使用することで、コスト効率の良い方法でデータを管理し、ライフサイクルの異なる段階に応じて自動的にデータを移行することができます。具体的には、一定の日数が経過し、利用頻度が少なくなったデータを標準ストレージから低頻度アクセス(S3 Standard-IA)やアーカイブストレージ(S3 Glacier)へ移行したり、削除したりすることができます。
Amazon S3オブジェクトのバージョニング
Amazon S3 のバージョニングとは?
Amazon S3のバージョニングは、オブジェクトの変更履歴を保持する機能です。一度バージョニングを有効にすると、オブジェクトを上書きまたは削除しても、過去のバージョンを保持することができます。これにより、誤ってファイルを削除したり、必要な変更を加えた後に元の状態に戻したい場合でも、簡単に過去のデータにアクセスして復元することが可能です。
バージョニング機能を使う目的
ファイルサーバー上などのデータを誤って削除した際に、バックアップ等から復旧した経験がある方もいるかもしれません。S3のようなオブジェクトストレージにも同様の操作ミス等はあり得ます。このように、バージョニング機能を使うことにより、データの安全性と可用性を高めることができます。また、データの変更履歴なども確認できるようになるため、監査ログなど改ざんをさせないようなデータを保存する際にも有用です。
Amazon S3オブジェクトのロック機能
Amazon S3には「オブジェクトロック」という機能もあります。これは、指定された期間または無期限にそのオブジェクトを変更や削除から保護するためのものです。特に、重要なデータの不正な改変や削除を防ぐために設計されています。オブジェクトロックには2種類の機能が用意されています。
- ガバナンスモード…権限を持たないユーザーはオブジェクトの上書き、削除ができないようになります。
- コンプライアンスモード…もっとも強力なオブジェクトロックです。AWSのRootユーザーでも削除や上書きが不可能になります。
Amazon S3とAWS Backupの利用
AWS Backupは、AWSサービス全体でデータを保護するための統合バックアップサービスです。Amazon S3のデータを含む、EC2インスタンスやRDSデータベースなど、様々なAWSリソースのバックアップを一元管理できます。AWS Backupを使用すると、バックアップポリシーの設定、バックアップの実行スケジュールの管理、復元操作が簡単になります。
S3との併用の必要性は?
S3にはライフサイクルポリシーやオブジェクトロック、バージョニングの機能があるのに、なぜAWS Backupを利用する必要があるのでしょうか。
- 特定時点への復元…AWS Backupは差分バックアップ機能があります。これにより、Amazon S3に対するデータの追加や削除などの変更が発生するたびに差分バックアップが実行されます。差分バックアップによって、バケット全体を、過去35日以内であれば任意の時点へ戻すことができるようになります。
- バケット自体を削除した場合
バージョニングなどの機能はバケットが残っているときに、バケット内に保存されたデータに対して有効です。つまり、バケット自体が消えるとバージョニングしていたデータや履歴も消えます。AWS Backupを使うと、バケット自体のフルバックアップを取得することができるため、バケットを復元できます。
AWSを活用したデータのバックアップやリカバリーで安心、安全を設計するスタイルズのAWS移行サービスはこちら→
まとめ
S3はAWSの中核的なサービスで、様々なデータを保管できたり、Webサイトのような使い方ができたりと、多様なユースケースで活躍が見込まれます。また、保管したデータは、バージョニングとオブジェクトロック、そしてAWS Backupを組み合わせることで、データ保護体制を強化し、さまざまなリスクから大切なデータを守ることができます。これらの機能を活用することで、Amazon S3は単なるデータストレージの場だけでなく、高度なデータ保護をするサービスとしても利用できます。具体的に使い方やオプションを選択する際には、専業のベンダーに相談してみるのもいいでしょう。