はじめに
今回は、AWSの『○○ゲートウェイ』の1つであるAWS Storage GatewayをStudy&マスターして行きます!AWSには、この『○○ゲートウェイ』という用語が沢山あって、とてもややこしいです。ということで、今回はこの『○○ゲートウェイ』の1つ、AWS Storage Gatewayを3分で頭に入れていきましょう!
当ページは、最初に重要知識を紹介しています。そして、みんなが疑問に思いそうなところはリンクで詳細説明しています。もし、最初から理解できる部分があったら、どんどん読み飛ばしてください。皆さんの時間は有限なので、ぜひ効率重視で進めていってください。
p.s.もちろん、リンクにとんだ場合は、大切な時間に見合った解説を載せているので安心して、詳細説明を学んでみてください!
【ここで扱う疑問】
- AWS Storage Gatewayってなに?
- マウントされたってなに?
- アクセス制限はかけられるの?
- ブロックレベルってなに?そもそもブロック?
- 仮想的なストレージボリュームってなに?
- 仮想テープライブリってなに?
などの、AWS Storage Gatewayに纏わる様々な疑問を解消していきます!
AWS Storage Gatewayってなに? 1/8
AWS Storage Gatewayは、オンプレミスのデータセンターやオフィス内にあるアプリケーションとAWSクラウドストレージを接続するための仕組みです。これにより、オンプレミスのアプリケーションはAWSの異なるストレージサービスを使用することができます。(例えばAmazon S3やAmazon Glacierなど)
具体的には、AWS Storage Gatewayは以下の主な機能を提供します:
1.ファイルゲートウェイ
: ファイルレベルのアクセスを提供し、オンプレミスのファイルサーバーにマウントされたネットワーク共有をAWS S3バケットに連携させます。これにより、オンプレミスのアプリケーションはAWSのスケーラブルなストレージを透過的に利用できます。
ファイルゲートウェイは、オンプレミスのファイルサーバーのデータをAWS S3と連携させることで、クラウドとオンプレミスの両方からデータにアクセスできるように し、さらによく使われるデータをローカルにキャッシュして迅速にアクセスできるようにするものです。
*『オンプレミスのファイルサーバーにマウントされたネットワーク共有を~ってどういう意味?』って疑問を感じた方は↓へLet’s go!here we go
*『ファイルゲートウェイとS3の連携において、それぞれのアクセス範囲を制限することってできる?』という不安がある方はこちらへお進みください→
2.ボリュームゲートウェイ
: ブロックレベル のストレージを提供し、オンプレミスのアプリケーションに仮想的なストレージボリュームを提供します。これにより、既存のオンプレミスアプリケーションはAWSのEBS(Elastic Block Store)と連携し、スケーラブルなストレージを利用できます。
*『ブロックレベルってあるけど、そもそもブロックってなに?って思うし、ブロック以外には何があんの?』っと疑問・探求心が湧きでてきた方はこちらから旅にでんかい。勇者よ。→
*『仮想的なストレージボリュームってなに?』ってもやもやした人はこちら→
3.テープゲートウェイ
: 仮想テープライブラリ を提供し、オンプレミスのバックアップシステムがAWSの持続的なデータ保護とアーカイブを実現できます。これにより、コスト効率の高い長期的なデータ保持が可能になります。
*『仮想テープライブラリってなに?』っと、もやっとした勇者はこちら→
マウントされたってなに? 2/8
先ほど「オンプレミスのファイルサーバーにマウントされたネットワーク共有をAWS S3バケットに連携させます」という文章のイメージがわかなかったという人も少なくないと思います。ということでスッと理解していきましょう!
マウントというのは、簡単に言うと、コンピュータが他のストレージを自分のものとして使えるようにすることです。例えば、USBメモリをパソコンに挿すと、そのUSBメモリの中のファイルがパソコンから見えるようになりますね。これがマウントの一例です。
マウントする:
コンピュータに他のストレージ(例えば外付けハードドライブやネットワーク上のストレージ)を接続し、それを使えるようにすることです。例えば、USBメモリをパソコンに挿して、その中のファイルにアクセスできるようにすることです。
マウントされた:
そのストレージがすでに接続されて使える状態になっていることを意味します。つまり、USBメモリがパソコンに挿さっていて、その中のファイルがすぐに見える状態です。
マウントっていうのは接続した機器のデータを接続もとで使えるようにしたもの
アクセス制限はかけられるの? 3/8
結論から言うと、アクセス制限は可能です。では、詳細を見ていきましょう
オンプレからS3へのアクセス制限
- IAM(Identity and Access Management)ポリシー:
- AWS IAMを使用して、どのユーザーやロールがS3バケットにアクセスできるかを細かく制御できます。例えば、特定のオンプレミスのユーザーのみが特定のS3バケットにアクセスできるように設定できます。
- IAMポリシーを使用して、読み取り専用や書き込み専用などの権限を設定することも可能です。
- バケットポリシー:
- S3バケット自体に対してポリシーを設定し、どのIPアドレスやAWSアカウントからのアクセスを許可するかを制御できます。
- バケットポリシーを使用して、特定の操作(例:GET、PUT、DELETE)を許可または拒否することができます。
- VPCエンドポイントポリシー:
- S3バケットへのアクセスを特定のVPCからのみ許可するために、VPCエンドポイントを設定し、エンドポイントポリシーでアクセスを制限できます。
S3からオンプレへのアクセス制限
- ファイルゲートウェイのアクセス制御:
- ファイルゲートウェイ自体にもアクセス制御を設定できます。例えば、特定のIPアドレスやサブネットからのみファイルゲートウェイにアクセスできるように制限することができます。
- ファイルゲートウェイの管理コンソールから、共有フォルダに対するアクセス権限を設定できます。これにより、どのオンプレミスのユーザーがどのファイルにアクセスできるかを制御できます。
- オンプレミスのファイルサーバーのアクセス制御:
- オンプレミスのファイルサーバー自体にもアクセス制御を設定することが可能です。例えば、WindowsのNTFS権限やLinuxのファイルパーミッションを使用して、ユーザーやグループごとにアクセス権を設定できます。
- これにより、S3から同期されたデータへのアクセスも制限できます。
S3内のアクセスを制限するにはIAM,バケットポリシー などを使ってアクセス制限をかける。
で、オンプレ内のアクセス制限はオンプレのファイルサーバ本体で制限 したり、ゲートウェイで制限したりすることができる。つまり、アクセス制限は可能ということ。
ブロックレベルってなに?そもそもブロック? 4/8
データストレージには主に以下の3つの種類があります。それぞれのデータの扱い方や特性が異なります。
1. ブロックレベルストレージ
- データ単位: ブロック
- 特徴:
- データは一定サイズの「ブロック」に分割され、ストレージデバイスに保存される。
- 高パフォーマンス(≒読み書きが高速)でランダムアクセスに適しており、データベースや仮想マシンなどの用途で使用される。
- ストレージの柔軟性が高く、スケーラブルな環境に対応。
- 例: AWS EBS(Elastic Block Store)、ローカルディスク、SAN(Storage Area Network)など。
2. ファイルレベルストレージ
- データ単位: ファイル
- 特徴:
- データはファイルとそのメタデータ(例: ファイル名、パス、属性など)で管理される。
- ユーザーはファイルシステムを介してファイルにアクセスし、操作する。ファイルシステムがファイルの内部構造を管理。
- 使いやすく、ユーザーが直接ファイルやディレクトリにアクセスできる。
- 例: NAS(Network Attached Storage)、ファイルサーバー、Windowsファイルシステム(NTFS)、Linuxファイルシステム(EXT4)など。
3. オブジェクトストレージ
- データ単位: オブジェクト
- 特徴:
- データは「オブジェクト」と呼ばれる単位で管理される。オブジェクトにはデータ本体、メタデータ、および一意の識別子が含まれる。
- スケーラビリティが高く、大量のデータを効率的に管理するのに適している。データはフラットな名前空間で管理され、複雑なディレクトリ構造がない。
- 高い耐障害性と冗長性を持ち、バックアップやアーカイブに適している。
- 例: AWS S3(Simple Storage Service)、Google Cloud Storage、Azure Blob Storageなど。
データストレージの選択
- ブロックレベルストレージ: 高性能で低レイテンシが必要なアプリケーションに最適。データベースや仮想化環境に使用。
- ファイルレベルストレージ: ユーザーが直接ファイルを操作する環境に最適。ファイルサーバーやNASに使用。
- オブジェクトストレージ: 大規模なデータストレージやアーカイブに最適。データのバックアップやアーカイブに利用される。
ブロックレベルはデータへのパフォーマンス(読み込み書き込み)に優れているもの。
で、ファイルレベルはユーザの操作性に優れているもの。
で、オブジェクトレベルは大量のデータを管理するときに向いているレベル。
このような解釈OKです。
仮想的なストレージボリュームってなに? 5/8
結論から言うと、そこには存在しないけど、あるように見えるストレージ。それが仮想的なストレージボリュームです。では、詳細を見ていきましょう!
仮想的なストレージボリュームのイメージ
- 仮想ボリュームの概要:
- 仮想的なストレージボリュームとは、物理的なストレージデバイスがなく、ソフトウェアで定義されたストレージ領域のことです。つまり、物理的なハードディスクではなく、論理的に管理されるストレージ領域です。
- ボリュームゲートウェイの動作:
- ボリュームゲートウェイを使うと、オンプレミスのサーバーに対して、AWSに存在するEBS(Elastic Block Store)を仮想的なストレージボリュームとして提供します。
- これにより、オンプレミスのサーバーは、実際にはAWSのクラウドに保存されているデータをローカルのストレージのように扱うことができます。
- 具体的なイメージ:
- ローカルの仮想ドライブ: 例えば、オンプレミスのサーバーで「D:ドライブ」や「E:ドライブ」として表示される仮想ドライブを想像してください。これは、実際にはAWSのEBSボリュームと接続されていますが、サーバーにはローカルのストレージとして見えます 。
- バックエンドのクラウドストレージ: この仮想ドライブに書き込まれたデータは、実際にはAWSのEBSに保存されます。サーバーから見た場合、データがローカルで保存されているように見えますが、バックエンドではクラウドストレージが使用されています。
- ローカルキャッシュ:
- よく使用するデータは、ローカルキャッシュとしてオンプレミスのストレージに保存されるため、アクセス速度が向上します。クラウドストレージのデータは、必要に応じてローカルキャッシュに取得されます。
具体例
- ファイルサーバー: 例えば、オンプレミスのファイルサーバーに「ファイルストレージ」という名前の仮想ドライブを設定します。この仮想ドライブは、実際にはAWSのEBSボリュームと連携しており、サーバーのオペレーティングシステムからはローカルドライブとして見えます。
要するに、
仮想的なストレージボリュームっていうのは、見た目とか操作上はローカルにあるように見えるけど、実際はクラウドがバックエンドとして提供しているだけ。このような解釈でOKです。
仮想テープライブリってなに? 6/8
まずは前提となるテープについて知っていきましょう。
そもそもテープとは?
テープは、データの長期保存に用いるストレージメディアの一つで、特にバックアップやアーカイブ用途で使用されます。物理的なテープにデータを記録する方式で、以下の特徴があります。
- 物理的なメディア: 磁気テープや光学テープなどが使われる。データはテープに磁気や光学的な方式で記録されます。
- 長期保存: テープは長期間のデータ保存に適しており、耐久性があります。
- コスト効率: 大量のデータを比較的低コストで保存できるため、アーカイブやバックアップに適しています。
では、本題に入りましょう!
仮想テープライブラリ(VTL)とは?
仮想テープライブラリ(VTL)は、物理的なテープライブラリの機能を仮想化したストレージソリューションです。以下の特徴があります。
- 仮想化:
- 仮想的なテープ: 実際には物理的なテープではなく、仮想的なテープを用います。これにより、テープドライブやメディアをエミュレートします。
- バックエンドのストレージ: 仮想テープは、通常、ディスクストレージなどのバックエンドストレージにデータを保存します。
- 利便性:
- 高速なアクセス: 仮想テープライブラリはディスクベースのストレージを使うため、テープに比べてデータの読み書きが高速です。
- 簡単な管理: テープライブラリの管理がソフトウェアベースで行われるため、物理的なメディアの取り扱いや管理が簡単です。
- バックアップとリストア:
- バックアップソフトウェアとの統合: 仮想テープライブラリは、既存のバックアップソフトウェアと統合しやすく、バックアッププロセスがスムーズに進みます。
- データリストア: 必要なデータを迅速にリストアすることができます。
p.s.ちなみに、仮想テープゲートウェイのバックエンドはS3です。
要するに、テープゲートウェイっていうのは長期的なデータを保存する際に、その保存先のストレージとしてAWSを利用できるサービス。で、実際のバックエンドはS3に保存される。このような解釈でOKです。
まとめ 7/8
要するに…
AWS Storage Gatewayは、オンプレミスとAWSクラウドストレージを連携させてストレージを最適化するサービスです。このサービスを利用することで、ストレージの管理が効率的になり、高可用性を実現できます。AWS Storage Gatewayは、ブロックレベル、ファイルレベル、テープレベルの3種類のストレージソリューションを提供しており、それぞれ異なるニーズに応じたデータ管理を支援します。ブロックレベルではボリュームゲートウェイが仮想ストレージボリュームを提供し、ファイルレベルではファイルゲートウェイがオンプレミスのファイルサーバとAWS S3との間でファイルデータを連携させ、テープレベルではテープゲートウェイが仮想テープライブラリを使用してバックアップデータをAWSのS3やGlacierに保存します。
おわりに 8/8
本日はここまでです。今日はAWS Storage GatewayをStudy&マスターしてきました!
一つ一つ、疑問を解消していくとなんだか知識が深まった気がしますよね?…..え?そんなことない?いやいや、気づいていないだけでしっかりと身についていますよ!
何事も継続は力なりですから。焦らず一歩ずつ着実に進んでいきましょう!では、さらばじゃ!