AWS初心者がAmazon S3 Glacier Deep Archiveで格安でバックアップしてみた(2020年版)
Amazon S3は、通販・クラウド大手Amazonのクラウドサービス「AWS」で提供されるストレージサービスです。ネット上にデータを保存してくれます。その中でも、格安でデータをバックアップできるAmazon S3 Glacier Deep Archiveを利用してみました。
※ 使用するのはパソコンのブラウザだけです
※ AWS初心者なので、このノートには恐らく間違った内容が含まれています
【Amazon S3とは】
・安い 従量制で柔軟な料金体系
・安全 分散保存と周期的な冗長性チェックで99.999999999%の耐久性
・便利 ブラウザから操作可能
コマンドラインやAPIを利用したり、アクセス設定やセキュリティーのオプションも豊富。ライフサイクルルールやバージョニングなど様々な機能も利用できます。
【用語】
ふわっとした認識なので、詳しくは別途ご確認下さい。
・ストレージクラス ― 保存方法の種類、料金体系
・リージョン ― 地域
・アベイラビリティーゾーン(AZ) ― データセンター(の集まり)
・バケット ― ストレージとかフォルダみたいなもの
・オブジェクト ― ファイルみたいなもの
・バージョニング ― 世代管理
・ライフサイクルルール ― 期間を指定してストレージクラスを変更したり削除することができる機能
【Amazon S3 Glacier Deep Archiveの特徴】
Glacier Deep Archiveは、アクセスを必要としない長期間のアーカイブに適したストレージクラスです。消えては困るファイルの保存や災害対策などに。
・月額0.00099USD/GB~の低料金
1ドル110円なら1TB月額109円~。
※最低保存期間が180日(半年)に設定されているため
保存してすぐ削除すると半年分の料金が請求されます
・データを取り出す際、準備に12~48時間が必要
・データを取り出す際、0.02USD/GB~の料金
1ドル110円の場合、1TBで2,200円~
・取り出したデータをダウンロードする際、更に0.09USD/GB~の料金
1ドル110円の場合、1TBで9,900円~
※大容量のデータをダウンロードする場合、AWS Snowballというストレージ機器を物理的に輸送してもらうサービスもあります。
【1.AWSのアカウントを作成する】
AWSのサイトにアクセスしてアカウントを作成します。メールアドレス、クレジットカード、電話番号が必要です。
アカウントの種類(プロフェッショナル/パーソナル)とサポートプラン(ベーシック/開発者/ビジネス)を選択するように求められましたが、よく分からなかったので、パーソナルとベーシックを選択しました。
登録したメールアドレスとパスワードで、ルートユーザーとしてサインインします。セキュリティー確保のため多要素認証(MFA)を有効にしました。一般的な、スマホアプリのワンタイムパスワードを利用した二段階認証で、登録の際に数字が切り替わるまで30秒ほど待って、2回数字を入力する必要があります(普段は1回の入力でOK)。APIやツールを利用してアクセスする場合には、IAM ユーザーのアカウントを作成し、そちらを使用します。
クレジットカードの請求が分かりやすくなる様に、支払い通貨を円に変更しました(料金は米国ドル建てなので為替に応じて変動します)。JCBのカードでは通貨を選択できなかったので、VISAのカードを追加しました。また、料金が過剰に発生するのを防ぐため、「無料利用枠の使用のアラートの受信」と「請求アラートを受け取る」の設定を行いました。
準拠法をアメリカから日本に変更することもできるようです。必要があれば。
【2.アップロードする】
ブラウザでAmazon S3 コンソール(AWS マネジメントコンソール)へアクセスして、バケットを作成します。最初にバケット名を設定するだけで、他は特に設定を変更する必要ありません。リージョンによって料金が異なるので、事前にご確認下さい。
バケットを作成したら、いよいよファイルをアップロードします。
ストレージクラスに「Glacier Deep Archive」を選択し、暗号化を「なし」に設定しました。設定ミスや不正アクセス等でファイルが外部に流出する恐れがあるため、アップロードするファイルは事前に7-zipで圧縮してAESで暗号化しておきました。
ブラウザの下部に進行状況が表示されます。2 MB/s ~ 3 MB/sぐらいの速度でアップロードできるようです。
【3.復元する】
Glacier Deep Archiveで保存したオブジェクトをダウンロードするには、復元を行う必要があります。これには12~48時間必要で、復元には料金が発生します。
試しに、一括取得で復元を行ったところ、36時間ほどで復元されました。
有効期限は協定世界時の0時(日本時間の午前9時)から24時間単位で設定されると言うことです。
【4.ライフサイクルの設定で不要なマルチパートアップデートを削除する】
容量の大きいファイルをアップロードするとき、複数のパートに分割されてアップロードされます。これをマルチパートアップロードという様ですが、マルチパートアップロードに失敗すると、不要なデータが残る場合があるそうです。この残っているデータに対して料金が発生するそうで、ライフサイクルルールを設定した方が良いということだったので、設定してみました。
【5.注意ポイント】
操作していて焦ったこと2点。
・同じファイル名のファイルをアップロードすると上書きされます(警告画面等は表示されません)。Glacier Deep Archiveに保存されているオブジェクトを上書きすると、ファイルを削除したのと同様の扱いになり、最低保存期間までの料金が請求されます。
・Glacier Deep Archiveに保存されているオブジェクトは、移動やコピー、ファイル名、ストレージクラスの変更は行えません。これは復元を行いダウンロードできる状態になっているオブジェクトでも同様です。(復元された状態のオブジェクトはダウンロードすることしかできません。)特に保存場所には注意して下さい。
気づいたこと1点。
・復元の料金はGB単位で請求されます。小さいファイルを復元する際に、一つずつ復元していると、料金が高く付きそうです。
【6.料金を確認する】
Amazon S3は従量制のサービスなので、使用量に応じて料金が請求されます。予想外の支出になっていないか確認してみました。AWSには料金を確認するための様々なツールが用意されていますが、今回は「マイ請求ダッシュボード」で確認してみます。
約1GBをファイルを2つアップロードし、うち一つはGlacier Deep Archiveに保存した後に誤って上書きしたため、削除扱いになっています(180日分の料金が請求されているはずです)。操作方法を確認するため、コピー操作などを数回行っています。
結果、請求額は、1.08円でした。
こちらは内訳です。やはり、誤って削除した分の料金が多いようです。
AWSには、1年間の無料利用枠サービスがあります。こちらが、現在の無料枠の使用状況です。
マルチパートアップロードでは、パートごとにリクエストが発生する様です。パートのサイズを大きくすると、アップロードに失敗しやすくなると思うので、容量の大きいファイルをアップロードするときにリクエスト数が増えるのは仕方のないところかも知れません。ただ、1000リクエスト当たり、0.0055USD~( PUT、COPY、POST、LIST)か0.00044USD~(GET、SELECT、他のすべて)なので、マルチパートアップデートで1つのパートが16MBであれば、25GBアップするごとに1円ぐらいしか料金が発生しないということになります。1TBで約40円です。
【7.まとめ】
難しいという印象があったのですが、思ったより簡単に利用できました。面倒なデータのバックアップも、この価格なら、とりあえずアップロードしてみて、いらなくなったら消せばいいので、気分も楽です。クラウドのデータは消えるリスクもありますが、心配なら複数のリージョンに分けて保存すれば(あるいはGoogleやMicrosoftの同種のサービスを利用すれば)、よほどのことが起こらない限り消える様なこともないでしょうし、手元で管理するより、遙かに安全だと思います。
仕事のデータはもちろん、ホームビデオや家族写真など、消えては困るデータは年々増えています。低価格で安全に保存してもらえるのは有難いことです。
~ おまけ ~
この記事が気に入ったらサポートをしてみませんか?