カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(15)Glacier とは何か?どの様に使うのか?

AWS Glacier

Amazon Glacier (以下、Glacier)は、99.999999999の耐久性を持ちながら、容量あたりの費用を抑えたアーカイブストレージサービスです。価格は安いのですが、データの取り出しの際には時間がかかってしまうという特徴があります。

ちなみに、Glacier というのは、グレイシアと読み、日本語で「氷河」という意味です。

オンプレミスの環境ですと、磁気テープを使って長期のデータ保存を行いますが、磁気テープでのバックアップには、「長期保存」、「取り出しに時間がかかる」、「アクセス頻度は低い」といった特徴があります。Glacierは、このイメージで使用されます。

S3の様に、保存するデータに対して名前を付ける事はできず、自動採番された「アーカイブID」で管理されます。

Glacierへのデータの保存は、APIによる操作、またはS3のライフサイクル管理により行われます。

余談ですが、私は以前、クラウドバックアップ関連の製品を取り扱っていたのですが、その製品がS3 やGlacier にデータを保存することができました。Glacier を保存先とする時に、設定にちょっと困ったのですが、ここがポイントでした。Glacier はS3 のバケットを経由しないと、データの保存ができないです(API を使えば別ですが)。

Glacier の価格

Glacier は非常に低コストと言われますが、具体的に価格を見てみましょう。S3と比較してみます。AWSの公式サイトに価格が掲載されています。

S3 標準GlacierS3 Glacier Deep Archive
条件最初の50TB/月      1分から12時間の取り出し     年に1、2回のアクセスで、12時間以内でのデータ取り出し
GBあたりのコスト(USD)0.0250.0050.002
S3 と Glacier のコスト比較

ちなみに私の自宅のNASには、約2TBのデータが保存されています。これをAWSのクラウドストレージ にバックアップして保存すると想定してみます。

S3 と Glacier のコストシミュレーション

1ドル120円換算で計算していますが、S3 Glacier Seep Archive だと月にして4ドル(日本円で480円)です。確かにすごく安いですね。これなら個人でも可能な金額です。

Glacier の構成要素

Glacierは、以下の4つの要素から構成されます。基本的にはS3と同じ(ただし呼び方は異なる)です。

ボールト(S3: バケット)

アーカイブを保存するための領域です。ボールトで使われる名前は、リージョン、及びアカウント内で一意であれば良いため、たのアカウントで使用されている名前も利用できます

アーカイブ(S3: オブジェクト)

Glaceirに保存されるデータのことです。各アーカイブには一意のアーカイブIDとオプションの説明が割り当てられます。アーカイブIDには、138バイトのランダムな文字列が自動的に割り当てられ、ユーザーが指定する事はできません。

インベントリ

各ボールトに保存されているアーカイブの情報(サイズ、作成日、アップロード時に指定された説明など)を収集します。1日に1回の頻度で更新されるため、最新の情報が反映されるまでに時間がかかります。マネージメントコンソールから確認する事で、リアルタイムで状況が見られます。また、ListVaults API を使用することもできます。

ジョブ

アーカイブやイベントリに対して検索をしたり、データをダウンロードするといった要求に対して処理を実施し、それらの処理状況を管理します。

Glacier を使ってみよう

ボールトの作成

AWS 管理コンソールの検索から、「Glacier」を入力し、Glacierの管理コンソールにアクセスします。

「ボールトの作成」をクリックします。

ボールトを作成するリージョンを選択し、ボールトの名前を付けます。

イベント通知の画面が表示されます。

今回は「通知を有効にしない」を選択します。

確認画面が表示されます。

設定内容を確認し、「送信」をクリックします。

ボールトが作成されました。

ボールト名をクリックしてみると、ボールトの中が見られます。まだデータ(アーカイブ)は何も保存していませんので、アーカイブ数は 0 のままです。

アーカイブデータの保存

Glacier のボールトには、上述の通り、直接アクセスができません。API または、S3 のライフサイクルを使用します。

S3 の使い方については、AWSを学んでみる14で調べてみましたので、そちらをご参照下さい。

S3 上の指定したバケツにデータを保存します。

ストレージクラスで、「Glacier」を選択します。

設定内容の確認をし、「アップロード」をクリックして、データを転送します。

転送したデータの名前の「ストレージクラス」を見てみると、Glacier になっています。これでデータがアーカイブとして、Glacier 上に保存されました。

データの取り出しオプション

Glacierにアーカイブしたデータを閲覧するためには、「データの取り出しリクエスト」を行う必要があります。取り出しリクエストを行ってから実際に取り出しができる様になるまでの待ち時間に応じて、高速、標準、バルクの3種類のリクエストオプションがあります。

高速

1−5分程度後でのデータ取得

標準

3−5時間程度後でのデータ取得

バルク

5−12時間後でのデータ取得。次の日に見られれば十分というケースに使用

データの取り出し設定オプション

データ取り出し時の設定オプションは3つあります。Glacier 上のボールトを指定し、「設定」をクリックして設定ができます。

  • 無料利用枠のみ: 無料枠の範囲でデータの取り出しができます。それを超えるデータ量になると、取得リクエストは拒否されます。
  • 最大取得率: 1時間あたりの最大取得率で価格が変わります。
  • 取得制限なし: 制限をかけません。

Glacier Select

Glacier Select は、アーカイブデータに対してSQL を実施し、条件にあったデータを抽出する機能です。つまり、Glacier に保存されているデータを直接検索することができ、アーカイブ全体を取得する必要がありません。

特定のデータだけをアーカイブから取り出せる便利な機能なのですが、使用には、対象のアーカイブデータは非圧縮のSCV形式出なければならばならないなどの条件があります。

Glacier Select は、まもなく Amazon Athena と Amazon Redshift Spectrum と統合される予定とのことです。

データの暗号化

Glacier にデータ保存する時は、SSLを使ったデータ転送が行われます。またGlacier に保存されるデータは、標準で暗号化されます。

もし独自の暗号化方式を使用したい場合は、Glacierに保存する前にその暗号化方式で暗号化を行い、そのデータをGlacierに転送します。

データのセキュリティーに関して、AWSの公式サイトでは、以下の様に記載されています。

AWS では、お客様のプライバシーに絶えず注意を払っています。弊社のお客様はデータのセキュリティを重視しています。そのため、弊社にはシステムを 24 時間体制でモニタリングしている世界トップクラスのセキュリティ専門家チームがおり、お客様のコンテンツを保護しています。AWS により、暗号化、移動、保管管理機能を含め、常にデータを保有しているという認識を持って、最も安全なグローバルインフラストラクチャを構築できます。データセンターとリージョンを相互接続する AWS グローバルネットワークを流れるすべてのデータは、安全性が保証された施設を離れる前に物理レイヤーで自動的に暗号化されます。すべての VPC クロスリージョンピアリングトラフィックや、カスタマーまたはサービス間の TLS 接続などといった追加の暗号化レイヤーもあります。AWS Key Management System (KMS) が管理するキーを使用する、あるいは FIPS 140-2 レベル 3 検証済み HSM を使って CloudHSM で独自の暗号化キーを管理することにより、転送中および保存中のデータを簡単に暗号化して、許可されたユーザーのみがアクセスできるようにするツールを提供しています。AWS では、地域および地方のデータプライバシー法や規制を順守していることを示すために必要な管理と可視性も提供しています。グローバルインフラストラクチャの設計により、データが物理的に配置されている地域を完全に制御し、データ常駐要件を満たします。

AWS 公式ウェブサイト

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]価格:2,618円
(2020/8/30 16:09時点)
感想(0件)
カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(14)S3とは

AWS Simple Storage Service (以下、S3)は、AWS が提供する、安価で耐久性の高いオブジェクトストレージサービスです。容量は無制限(ただし、1つのオブジェクトの最大サイズは 5TB)です。

オブジェクトストレージとは?

ストレージとして一番メジャーなファイルストレージと比較すると、分かりやすいと思います。ファイルストレージはディレクトリ構造をもち、フォルダやファイルを管理しますが、オブジェクトストレージはディレクトリ構造を持ちません。フラットな構成で、ユーザーが独自にデータに対して情報(メタデータ)を付与することができます。このページが参考になります。

利用料とSLA

  • 1ヶ月あたり、0.025 USD/GB(月に 10GB 使っても30円程度。cf. EBS は、1ヶ月あたり 0.12 USD/GB)
  • データは複数のAZに保存され、その耐久性は、99.999999999%(イレブンナイン)

S3 の構成要素

バケット

オブジェクト( データ)を保存するための領域です。バケットは名前を付けて管理しますが、その名前は、AWS内でユニークである必要があります。

キー名

各オブジェクトに付けられる名前です。

オブジェクト

S3 上に保存あれるデータそのものです。各オブジェクトにはキーが付与され、「バケット名+キー名+バージョンID」で、必ずユニークになるURLが作成されます。

メタデータ

オブジェクトデータを管理するための情報です。オブジェクトの作成日時やサーズと言ったシステム定義情報以外にも、アプリケーションで必要となるユーザーが定義する情報をメタデータに保存することもできます。

S3 の使い方

REST や SOAP と言った HTTP ベースの Web API を使用して、S3 上のオブジェクトにアクセスします。

S3 はウェブの管理コンソールから、シンプルなオペレーションで使用することができます。やることは、バケット(フォルダ)を作り、その中にファイル(オブジェクト)やフォルダを保存していきます。

S3 上のバケットとその配下のフォルダ

S3 の機能

アクセス管理
  • ユーザーポリシー・アクセスポリシーなどでアクセスを管理
  • IAMで利用できるユーザーを管理
  • バケット単位で、ユーザーや送信元IPアドレスなどを制限
Webホスティング機能
  • 静的サイトであれば、S3だけで公開することが可能
  • ウェブサイトのラインディングページを保存したり、ウェイブサーバの障害時のSorry ページを置いておくなど
他のAWSサービスとの連携が豊富
  • Redshiftを使ってS3のデータを利用するSpectrum機能
  • S3にデータが保存されたらLumbdaを起動するFunction機能(起動トリガー)

S3 がよく使われるシーンの例

S3 は柔軟性に優れたサービスであるため、アイデア次第では使い方は無限大です。代表的な使われ方として、以下のものがあります。

  • バックアップデータの保存
  • ビッグデータ解析用のデータ一時保存
  • ETL (Extranc/Transform/ Load)の中間ファイルの保存
  • EC2インスタンスやコンテナからのログの転送
  • 静的コンテンツのホスティング

具体例:

1. 静的コンテンツの配置
  • 今、ご覧になっているこのブログのページで使っているイメージファイルも、S3 上に保存してあり、そこから配信しています。
2. ログなどのエクスポート先
3. バッチ連携用ファイルの保存先
4. 静的ウェブホスティング

静的ウェブホスティング機能を行う場合、注意点があります。

  • 静的コンテンツに限る
  • サーバサードの動的なコンテンツをホスティングすることはできない
  • 使用する独自ドメインとバケット名を一致させておく必要がある

ストレージクラス

S3 では、用途に応じて7つのランクを設けています。これをストレージクラスと呼びます。ストレージクラスにより、SLAが設定されます。

STANDARD(スタンダード)

これがデフォルトのストレージクラスです、低遅延と高スループットを兼ね備え、S3 の性能が最も発揮されるクラスとなります。

  • 耐久性:99.999999999%
  • 可用性:99.99%
STANDARD-IA(標準 IA)

STANDARDよりは保存にかかるコストが安価になるストレージクラスです。参照頻度の低いデータ向けとなるため、アクセスが必要のないデータ、それほど頻繁にアクセスしないデータ、といったデータを保存する時に向いています。

  • 耐久性:99.999999999%
  • 可用性:99.99%
ONEZONE-IA(1ゾーン IA)

単一AZ内のみでデータを複製するストレージクラスです。1つのAZ内でのみ複製を行うため、AZ単位で障害が発生した場合、データの復元ができない可能性が高いです。この点以外は、STANDARD-IAと同等のサービスレベルが提供されます。

  • 耐久性:99.999999999%
  • 可用性:99.5%
INTELLIGENT-TIERING(インテリジェントな階層型)

参照頻度の高低を明確に決めることができないデータ向けのストレージクラスです。STANDARDとSTANDARD-IAの2層構成となっており、30日以上参照されなかったデータは、自動的にSTANDARD-IAに移動されます。データの移動が発生するため、頻繁に移動は発生するとコストが高くなります。

  • 耐久性:99.999999999%
  • 可用性:99.9%
Glacier

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。このクラスに保存されたデータにアクセスする場合、事前にアクセスリクエストする必要があります。またアクセスできるようになるまでに、数分から数時間かかるという特徴があります。

  • 耐久性:99.999999999%
  • 可用性:99.99%

上記5つのストレージクラス以外に、更に2つのストレージクラスが追加されているようです(2020年8月30日時点)。

Glacier Deep Archive

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。アクセスできるようになるまでに、数時間かかるという特徴があります。1 年のうち 1 回か 2 回しかアクセスされないようなデータを対象とした、長期保存やデジタル保存をサポートします。特に、金融サービス、ヘルスケア、パブリックセクターなどの規制が厳しい業界を対象としており、コンプライアンス要件を満たすために 7ー10 年以上データを保管するように設計されています。

低冗長化

ほとんど参照されない、アーカイブ目的のデータを保存するストレージクラスです。推奨はされていないみたいです。

ライフサイクルの管理

S3 に保存されたオブジェクトは、その利用頻度に応じてライフサイクルを定義することができます。

移行アクション

データの利用頻度に応じて、ストレージクラスを変更します。最初はアクセス頻度が高いが、一定期間過ぎると低くなり、最後にはアーカイブさせると言った移行ができます。

有効期限アクション

指定された期限を越えたオブジェクトを、S3 から削除します。S3 は容量無制限のストレージサービスですが、保存容量が増えればコストも上がります。不要なデータは定期的に削除することが望ましいです。

バージョン管理

1つのオブジェクトに対して、複数のバージョンを管理(バージョニング)することができます。バージョニングは、バケット単位で有効・無効が指定できます。真・旧の両方のオブジェクトが保存されるため、保存容量が増えます。

アクセス管理

S3 のアクセス管理には、バケットポリシー、ACL、IAMが使用できます。

バケットポリシーは、バケット単位でのアクセス制御を行います。

オブジェクト単位での制御には、ACLやIAMを使用します。

データの暗号化

暗号化は、サーバ側での暗号化とクライアント側での暗号化の2種類があります。

サーバ側での暗号化は、データがS3 に書き込まれる時に暗号化され、読み取る時に復号化されます。

クライアント側での暗号化は、AWS SDK を使って、S3 に送信される前にデータの暗号化が行われます。復号化は、クライアント側で暗号化されたデータのメタデータから、どのキーで復号化するのかが判断されます。

サーバ側での復号化は、バケットに対してとオブジェクトに対して行えます。

バケットに対しての暗号化
オブジェクトに対しての暗号化

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト