LoginSignup
11
5

More than 3 years have passed since last update.

AWS Storage Gatewayのファイルゲートウェイを使ってローカルPCからS3へファイル転送する

Posted at

AWS Storage Gatewayはオンプレ環境とクラウドストレージを接続して、オンプレ環境からクラウドストレージへアクセスできるようにするサービスです。

今回、オンプレ環境に保存していたバックアップファイルをクラウド移行したいという相談があったため、ローカルPCからS3へファイル転送する手順を検証してみました。

※本検証によりAWS利用料が発生する可能性がありますのでご注意ください

接続先のS3バケットを作成する

S3へアクセスし、「バケットを作成する」をクリックします

S3_Management_Console.png

「バケット名」を入力して「次へ」をクリックします。

S3_Management_Console.png

そのまま「次へ」をクリックします。

S3_Management_Console.png

バケットをパブリックに公開する必要は無いのでそのまま「次へ」をクリックします。

S3_Management_Console.png

「バケットを作成」をクリックします。

S3_Management_Console.png

Storage Gatewayの設定

はじめてStorage Gatewayを利用する場合はこちらをクリックします

AWS_Storage_Gateway.png

ゲートウェイの作成

ゲートウェイの種類を選択

今回は「ファイルゲートウェイ」を利用します。

AWS_Storage_Gateway.png

EC2インスタンスの起動

Storage Gatewayをホストするプラットフォームを選択します。
今回はEC2インスタンスを利用するので、「インスタンスの起動」をクリックしてください。

AWS_Storage_Gateway.png

Storage Gatewayのホストには「m4.xlarge以上」のスペックが推奨とされているため、「m4.xlarge」を選択します。

インスタンスウィザードを起動___EC2_Management_Console.png

インスタンスの詳細を設定します。
VPCは今回使うものを選択、自動割り当てパブリックIPは今回ローカルPCから接続するので有効にしておきます。

インスタンスウィザードを起動___EC2_Management_Console.png

ストレージを追加します。Storage Gatewayのホストはファイルをキャッシュする際にルートボリューム以外のボリュームが必要です。
推奨は150GB以上ですが、今回は検証なので8GBとしました。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f36303939362f33353762326230612d333432632d333236342d663738382d3331633831393239386136332e706e67.png

タグの追加では一応Nameタグを追加しておきます。

インスタンスウィザードを起動___EC2_Management_Console.png

セキュリティグループを設定します。以下画面のようにインバウンドを許可する必要があります。
ソースはマイIPを設定して、他ネットワークからアクセスできないようにしておきました。

インスタンスウィザードを起動___EC2_Management_Console.png

以上で起動設定は完了なので、「起動」をクリックします。

インスタンスウィザードを起動___EC2_Management_Console.png

インスタンスが起動したらStorage Gatewayの「ホストプラットフォームの選択」画面に戻って、「次へ」をクリックしましょう。

ゲートウェイに接続

先ほど起動したEC2インスタンスのパブリックIPアドレスを入力して、「ゲートウェイに接続」をクリックします。
※EC2インスタンスが起動していない場合、起動まで待たされることがあります。

AWS_Storage_Gateway.png

ゲートウェイのアクティブ化

ゲートウェイのタイムゾーンを選択、ゲートウェイ名を入力し、「ゲートウェイのアクティブ化」をクリックします。

AWS_Storage_Gateway.png

ローカルディスクの構成

EC2インスタンスのディスクが表示されるので、「割り当て済み」を「キャッシュ」として、「ログ記録を設定」をクリックします。

ログ記録を設定

何も変更せず、「保存して続行」をクリックします。

AWS_Storage_Gateway.png

以上でゲートウェイの作成は完了です。

ファイル共有の作成

Storage Gatewayのゲートウェイ一覧画面にて、先ほど作成したゲートウェイを選択し、「ファイル共有の作成」をクリックします。

AWS_Storage_Gateway_と_zsh.png

格納先とするS3バケット名を入力、アクセス方法は「NFS」を選択して「次へ」をクリックします。

AWS_Storage_Gateway.png

そのまま、「次へ」をクリックします。

AWS_Storage_Gateway.png

そのまま、「次へ」をクリックします。

AWS_Storage_Gateway.png

一覧画面に戻ると、nfsマウントするためのコマンドが記載されているのでコピーしましょう。
ただし、IPアドレスはEC2インスタンスのパブリックIPに置き換える必要があります。

AWS_Storage_Gateway.png

動作確認

ローカルPCからNFSマウント

今回はローカルPCのOSがmacOSだったので以下のようなコマンドを入力しました。

$ mkdir storage
$ mount_nfs -o vers=3,nolock,hard -v (EC2パブリックIP):/(S3バケット名) storage

テストファイルを格納

試しにファイルを作成してみます。

$ touch storage/test.txt

少し(1分ほど)待ってから、S3バケットの中身を確認すると、ファイルが生成されていました。

S3_Management_Console_と_zsh.png

参考

以下記事を参考とさせていただきました。

[Storage Gateway] EC2からS3バケットをNFSマウントしてみた〜2018年冬〜
ファイルゲートウェイで簡単ファイルサーバ

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5