AWS Storage Gateway(File Gateway)を使って大容量ディスクをマウントする方法

AWS Storage Gateway(File Gateway)を使って大容量ディスクをマウントする方法 AWS

AWS Storage Gateway(File Gateway)を使って大容量ディスクをマウントする方法

社内のドキュメントの保管をオンプレミスのファイルサーバを使用していた場合、容量がだんだん枯渇してしまうことがあります。ディスクを追加できれば良いのですが、そう簡単に個人の判断でディスクを調達したり、稼働中のサーバのリソースを変更することは難しいと思います。そこで、AWSのS3をファイルサーバ代わりに使う方法をご紹介します。

具体的な内容に入る前に、最初に言及しますが、この方法における費用面について、容量のS3の従量課金に加え、StorageGatewayに使用するEC2インスタンスに費用がかかります。AWSの推奨スペック通りで半日稼働(12時間/日)とすると、約7,000円~8,000円程度です。(S3容量は別)
よって、ある程度の人数で共同利用されるには良いと思いますが、個人利用では費用対効果が薄いかもしれません。(個人利用の場合は、OneDriveやGoogleDriveを検討したほうが良いかも。)

S3バケットを作成しよう

何はともあれまずはS3バケットを準備しましょう。
S3バケットの作成そのものは簡単で、Webコンソールから数分で完了します。

S3をサービスから選択し、トップ画面から「バケットの作成」を押下します。

S3バケットを作成しよう(1)

バケットを作成の画面にて、バケット名に任意の名前を入力し、その他はデフォルトのままで良いです。入力がすべて完了したら画面下部の「バケットを作成」を押下します。

S3バケットを作成しよう(2)
※ご参考
バケット名:(任意)
AWSリージョン:(任意)
ACL無効(推奨)
パブリックアクセスをすべてブロック
バケットのバージョニング:無効にする
タグ:(任意)
暗号化キータイプ:Amazon S3 マネージドキー (SSE-S3)
バケットキー:有効にする
詳細設定 オブジェクトロック:無効にする

S3バケットの準備が整いました。

S3バケットを作成しよう(3)

Storage Gatewayを設定しよう

次に、先ほど作成したS3バケットに接続するための”入り口”を作成します。
これがStorageGatewayの「File Gateway」という機能です。

Webコンソールの検索窓に”Storage”等の文言で検索すると「Storage Gateway」が表示されます。
Storage Gatewayのトップ画面から「ゲートウェイの作成」を押下します。

Storage Gatewayを設定しよう(1)

ゲートウェイのセットアップ画面です。
この画面で何をするかというと、ゲートウェイの名前と種類(今回は「ファイルゲートウェイ」)の定義に加え、このゲートウェイを稼働させるEC2インスタンスを作成することになります。
EC2インスタンスの作成は、何でもよいという訳ではなく、このファイルゲートウェイを稼働させるに見合う”推奨スペック”というものがあります。これはm5.xlargeのインスタンスで、EBSは150Gibが相当します。冒頭で費用面について少し言及しましたが、費用がかかるのは主にこの部分です。EBSは何に使用するかというと”キャッシュ”です。データはS3に保管されることになりますが、S3へのアクセスはどちらかというと低速になりますので、それを補う為、ローカルのエリアにキャッシュのEBSを配置し、繰り返し使用するデータへのアクセスを補助しています。当然、このEC2インスタンスを停止状態にするとS3への”入り口”がなくなってしまう為、S3へのアクセスができなくなってしまいます。
使用しない時間帯はEC2インスタンスを停止状態にするかSavingPlanを検討する等でコスト改善は可能です。

Storage Gatewayを設定しよう(2)

ゲートウェイタイプは「AmazonS3ファイルゲートウェイ」を選択します。
プラットフォームオプションで「Amazon EC2」を選び、EC2インスタンスの起動は「デフォルト設定を使用」を選びます。(「設定をカスタマイズ」を選択した場合、任意のEC2インスタンス構成で作成できます。)

Storage Gatewayを設定しよう(3)

EC2インスタンスを配置するVPCとサブネットを選択します。キーペアも作成しましょう。
入力完了後、左下の「インスタンスの起動」を押下し、インスタンスが起動したら「次へ」を押下します。

Storage Gatewayを設定しよう(4)
Storage Gatewayを設定しよう(5)

AWSに接続の画面になります。デフォルトのままで問題ありませんが、IPアドレスに先ほどStorageGateway用に作成したパブリックIPが入力されていることを確認してください。
画面左下の「次へ」を押下します。

Storage Gatewayを設定しよう(6)

確認およびアクティブ化の画面になります。設定内容の確認のみになりますので、「次へ」を押下します。(ゲートウェイが使用可能となるアクティブ化が行われます。)

Storage Gatewayを設定しよう(7)

ゲートウェイのアクティブ化が行われました。最後にCloudWatchロググループとアラームの設定を行います。今回は練習の為、CloudWatchロググループの設定を非アクティブ化としましたが、本運用では「新しいロググループを作成」にしてログ記録を行うべきです。
入力完了後、画面右下の「設定」を押下します。

Storage Gatewayを設定しよう(8)
Storage Gatewayを設定しよう(9)

ゲートウェイが作成されました。

ファイル共有の設定でS3バケットとの紐付けを行う


「ファイル共有の作成」を押下し、最初に作成したS3バケットとの紐付けを行います。

ファイル共有の設定でS3バケットとの紐付けを行う(1)

ファイル共有の作成画面です。
ゲートウェイは先に作成したゲートウェイの名前を選択します。
ファイル共有タイプは、クライアントがWindowsであれば「SMB」を選択します。
(クライアントがLinuxやMacOSであれば「NFS」を選択します。)
S3バケットも最初に作成したバケットの名前を選択しましょう。
ユーザー認証は今回は「ゲストアクセス」とします。
※ADを導入されていればAD認証を選択しても問題ありません。

ファイル共有の設定でS3バケットとの紐付けを行う(2)

ゲストアクセスに使用するゲストパスワードを決めます。
任意のパスワードを入力後、「保存」を押下します。

ファイル共有の設定でS3バケットとの紐付けを行う(3)

これでファイル共有の設定が完了しました。
画面の一番下に”コマンドの例”というのがあります。これをコピーしてください。

ファイル共有の設定でS3バケットとの紐付けを行う(4)

コマンドは以下のような内容になります。[WindowsDriveLetter]の箇所は任意の空きドライブに変更してください。

■変更前コマンド
net use [WindowsDriveLetter]: \\XX.XX.XX.XX\sample-bucket-20230223 /user:sgw-XXXXXXXX\smbguest
■変更後コマンド
net use D: \\XX.XX.XX.XX\sample-bucket-20230223 /user:sgw-XXXXXXXX\smbguest
(例として「D」ドライブに割り当てを行います。)

後はこのコピーしたコマンド(変更後コマンド)を管理者権限でクライアントやサーバで実行するとドライブが追加されます。以下は、AWS上にWindowsサーバを用意し、もともと存在しないDドライブを作成する手順になります。

エクスプローラからDドライブが存在しないことを確認します。

ファイル共有の設定でS3バケットとの紐付けを行う(5)

先のコマンドをコマンドプロンプトから実行します。
パスワードが求めらるので、設定したゲストパスワードを入力しEnterを押下すると
接続に成功します。

ファイル共有の設定でS3バケットとの紐付けを行う(6)

Dドライブ(ネットワークドライブ)が作成されました。

ファイル共有の設定でS3バケットとの紐付けを行う(7)

試しにテキストデータを置いてみます。

ファイル共有の設定でS3バケットとの紐付けを行う(8)

AWSコンソールのS3バケットのページにデータが表示されました。
S3は重量課金となるので、保存したデータの容量に対し課金が行われます。

ファイル共有の設定でS3バケットとの紐付けを行う(9)

今回は、AWS上のWindowsインスタンスから接続を行いましたが、もちろんWindows10やWindows11といったオンプレミス環境のクライアントからも接続が可能です。
ただし、クライアントからの接続には条件があり、それは「SMBダイレクト」というWindowsの機能が有効になっている必要があることです。見落としがちなところですが、この機能は残念ながらWindowsのHomeエディションには存在しないようです。(Windows Professionalに付帯)
この機能がない状態でコマンドを実行しても、ネットワークが見つからないというエラーが表示される為、Proへのアップグレードを検討する必要があります。

コメント

タイトルとURLをコピーしました