2017年3月23日木曜日

AWS Storage Gateway のファイルゲートウェイを使って s3 にデータを保存する

概要

AWS Storage Gateway にはファイル共有という機能があり nfs フォーマットでマウントすることができます
マウントした領域にデータを保存するとそのまま s3 にも保存することができます
今回は Appliance を VMware 環境にデプロイし VM から Storage Gateway で作成した nfs をマウントして s3 にデータを保存してみます
基本的な手順は前回の iSCSI の回と同じなのでそちらをご覧ください

環境

  • VMware vCenter Server 6.0.0u2
  • VMware ESXi 6.0.0 3620759
  • AWS Storage Gateway (20170322 時点)
  • AWS Storage Gateway Appliance

ファイルゲートウェイ用 AWS Storage Gateway Appliance のデプロイ

以下からアプライアンスをダウンロードし VMware 環境にデプロイしてください
https://dslbbkfzjw91h.cloudfront.net/AWS-Storage-Gateway-File.zip

デプロイ後に設定変更するので起動しないようにしてください

Appliance の設定変更

設定変更から以下を変更します

  • 50GB のディスクを 1 本追加する (ストレージの容量に余裕がなければ 50GB もなくても OK です)
  • 仮想マシン オプション -> VMware Tools -> 時刻 にチェックを入れる

設定変更したら起動します
IP が取得できれば OK です

AWS 側に Storage Gateway を追加する

Storage Gateway のコンソールで作業します

ゲートウェイの種類を選択で「ファイルゲートウェイ」を選択します
ホストプラットフォームの選択で「VMware ESXi」を選択します

あとはゲートウェイに接続してアクティブ化すれば OK です
追加した 50GB 分のストレージもローカルストレージとして作成してください

ファイル共有を作成します

続けてファイル共有を作成します
左メニューの「ファイル共有」を選択します

作成時にデータを保存するバケットを指定する必要があるので入力します
s3 へのアクセス用の IAM ロールを設定する必要がありますが、新規で作成することもできるので設定が面倒であれば新規で作成してください

あとは作成されるのを待ちます

nfs として VM にマウントする

では VM にマウントしてみましょう
コンソールにコマンドが出ているのでそのまま利用すれば OK です
もちろん Appliance の IP アドレスにアクセスできる VM から試してください
今回は Ubuntu 16.04 から試しています

  • apt -y install nfs-common
  • mkdir -p /sg
  • mount -t nfs -o nolock xxx.xxx.xxx.xxx:/my-sg-test-bucket /sg
  • echo hoge > /sg/hoge.txt

という感じでマウントしてファイルを作成してみましょう
すると s3 側にもデータが保存できているのが確認できると思います
aws_storage_gateway_nfs1.png

最後に

Storage Gateway のファイル共有機能を使って s3 をバックグランドにした nfs をマウントしてみました
感覚的には s3fs などのファイルシステムツールに近い感じです

利点としてはマウントには nfs クライアントがあればいいのでいちいち s3fs をインストール必要がありません
また、同じバケットを別の VM でも簡単にマウントすることができるようになります

ESXi にも NFS をマウントする機能があるけどこれでマウントしてデータストアとして認識させてから VM に割り当てることはできるのだろうか

0 件のコメント:

コメントを投稿