Table of Contents
はじめに
FundastA Inc.の鈴木です。
現在、AWS ソリューションアーキテクトアソシエイト試験合格に向け AWS について勉強中です。
S3 を学んでみた①の続きを記述していきます。
クロスリージョンレプリケーション
リージョン間を跨ぐクロスリージョンレプリケーションにより S3 の耐障害性を高める
- オブジェクトの作成・更新・削除をトリガーにレプリケーションを実行する。
- バージョニング機能を有効にする
- バケットは各別リージョンを指定
- 双方向レプリケーションも可能
- データ転送費用が発生
バックアップ
クロスリージョンレプリケーションを行うことで、他のリージョンに S3 のデータがあるので、バックアップできたように感じますが、その認識は違います。
クロスリージョンレプリケーションは片方を消してしまうと復元できないので、バックアップではないそうです。
バックアップ方法
Glacier に移行して、バックアップと復元が実施可能
データ解析
- S3Select
- 簡易に実行できる。
- S3 の内部機能として有している検索機能で、S3内で直接にク エリを実行し、データを取得できる
- AmazonAthena
- Amazon S3 内のデータを直接、簡単に分析できるようにす るインタラクティブなクエリサービス
- 機械学習に使用される
- AmazonMacie
- コンプライアンス調査などに使用する。
- 機械学習による Amazon S3 の機密データを検出、分類、保 護する、フルマネージド型サービス
- AmazonRedshiftSpectrum
- Amazon S3 の格納データに対して、 Amazon Redshift から直接クエリを実行出来る機能
- Redshift を利用する際に使用するのがおすすめ
クロスオリジンリソースシェアリング( CORS )
特定のドメインにロードされたアプリケーションが異なるドメイン内のリソースと通信する方法を定義することが可能
少しわかりやすく
Web ブラウザが Web サイトを表示中に、 API サーバーへアクセスする場合、 Web サイトにアクセスしたなら API サーバーの情報あげる!というような形になります。
S3 外部接続
AWSStorageGateway
概要
オンプレミスのソフトウェアアプライアンスとクラウドベースのストレージを接続し、オンプレミスの IT 環境と AWS のストレージインフラストラクチャとの間にデータセキュリティ機能を備えたシームレスな統合を実現するサービスです。
使用するとどうなるか?
このサービスを使用すると、 AWS クラウドにデータを保存し、データのセキュリティを維持するために役立つ、スケーラブルで費用効率が高いストレージを利用できます。
ユースケース
- ビッグデータ処理
- システム移行
- バックアップ
- 災害対策
- オンプレから容易に AWS ストレージを活用したい場合
種類
ファイルゲートウェイ
- オブジェクトは Amazon S3 のサーバー側の暗号化キー ( SSE-S3 ) で暗号化されます。
- すべてのデータ転送は、 HTTPS 経由で実行されます
ボリュームゲートウェイ
- キャッシュ型ボリューム
- データはアプライアンス(専用機器)経由で S3 に保存される
- ChacheVolumes に一時的に保存される。
- プライマリストレージのコストを削減でき、ストレージをオンプレミスで拡張する必要性も少なくなり、頻繁にアクセスするデータの遅延時間を低くする
- 保管型ボリューム
- アップロードされたデータをローカル(オンプレ)に保存
- 耐久性が高く低コストのリモートバックアップ
テープゲートウェイ
- データを AWS クラウドにアーカイブすることで、耐久性が高くコスト効率的なソリューションを提供するサービス
Transfer Acceleration
海外リージョン等の送信元から遠く離れた S3 へのデータ転送をエッジロケーションとネットワークプロトコルの最適で高速化するサービス
※エッジロケーションとは
- コンテンツの配布のためのデータセンターの世界的なネットワークを介して AWS によって維持される場所
※ネットワークプロトコルとは
- 機器同士で通信を行うために取り決められた約束ごと
Snowball
AWS との大容量データ転送を高速化するサービス
この Snowball は、大きいアタッシュケースみたいなものなのです。私は初めなんでこれ必要なの?って思ってました。データ転送ってネット上でやれるじゃん!って思ってました。
しかしデータ量がテラバイト( TB )やペタバイト( PB )のデータ量になるとすごい時間がかかるそうです。
そのためデータを物理的に動かした方が良いパターンもあるそうです。
しかしデータ量がテラバイト( TB )やペタバイト( PB )のデータ量になるとすごい時間がかかるそうです。
そのためデータを物理的に動かした方が良いパターンもあるそうです。
S3 パフォーマンス向上
S3 にデータをアップロードする際に時間を多くかけず、アップロードしたいときにパフォーマンスを向上させる方法があります。
プレフィックスを利用
アップロード3500 リクエスト/秒、データの取得で 5500 リクエスト/秒をサポートできるようにパフォーマンスを自動的に向上可能
プレフィックス例
s3://バケット名/001/2020/12/17/06/38.txt
s3://バケット名/001/2020/12/17/06/38.txt
クロスアカウントアクセス
S3 バケットを別アカウントにシェアできる機能
3つのクロスアカウントアクセス許可設定方法
-
バケットポリシーと IAM ポリシーによる許可
-
S3 バケットに IAM ポリシー設定
-
バケットポリシーでアカウント指定し、許可
-
-
ACL と IAM ポリシーによる許可
-
バケットにオブジェクトの操作許可する IAM ポリシーの設定
-
ACL でアカウントを指定して許可
-
-
IAMロールによる許可
-
AssumeRole を使用して、 S3 バケットオブジェクトへのプログラムによるアクセスとコンソールアクセスのためのクロスアカウントの IAM ロールを設定する。
-
ユーザー A から AssumeRole されることを許可したロール B に対して、権限付与する。
-
バッチオペレーション
S3 オブジェクトの大量データに対して一括処理を実行することが可能
ユースケース
- オブジェクトのコピー
- S3Glacier へのリストアのリクエスト
- ObjectACL の更新
- Object のタグの更新
- LambdaFunction の呼び出し
手順
-
実行対象のオブジェクトの用意
-
CreateJobAPI を利用して、バッチ一括処理のジョブを作成する。
-
バッチ一括処理完了後のジョブレポートを確認
おわりに
S3 について 2 回目の記述をしました。
S3 外部接続やデータ解析、クロスリージョンレプリケーションなどを記述しました。
データ解析にも外部接続にも多くの種類があり、覚えることが多いです。今回はイメージ図を入れてわかりやすくしたつもりです。
もっとわかりやすくできないか日々改善しながらブログ投稿やっていきます!