EC2からNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]

519件のシェア(そこそこ話題の記事)

神アップデートな予感がしてます、コンニチハ、千葉です。

2016年11月30日に、ご紹介しました[新機能]オンプレミスからNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]が、なんとEC2上で利用できるようになりました。

これで、EC2からもNFS経由でS3のオブジェクトを直接利用できるようになります。APIを利用してS3へアップロードする必要がなく、NFSにて利用できるのレガシーなシステムでは重宝するのではないでしょうか。

また、NFS(オンプレ/EC2) > Storage Gateway > S3 > Redshiftのような利用も考えられます。

注意点としては、Gatewayインスタンスは現状は冗長化できないという点です。ただ、種々バックアップストレージやデータ連携としてバックエンドにS3を利用できるのできるのと、直接S3にオブジェクトとして保存できるので、はまるところは多いのではないかと思います!!

さっそく試してみます。

ファイルゲートウェイの作成

ファイルゲートウェイを起動し、アクティベーションを行います。

StorageGatewayから新規作成を選択

20170109-filestorage-1

ファイルゲートウェイを選択

20170109-filestorage-2

ゲートウェイインスタンス(EC2)を起動します。こつは、

  • ポイントはセキュリティグループにTCP80番ポートを許可※ローカル端末からのEC2へアクセス許可
  • キャッシュ用EBSを追加でアタッチ

となります

20170109-filestorage-3

20170109-filestorage-4

20170109-filestorage-5

先程起動したEC2インスタンスへ、ローカル端末からアクセス可能なIPアドレスを入力します。私はパブリックIPを指定しましたが、DX接続が可能な環境であればプライベートIPでも問題ないです。この工程ではアクティベーションが行われます。

20170109-filestorage-6

アクティブ化します

20170109-filestorage-7

キャッシュボリュームを選択します

20170109-filestorage-10

ファイルストレージの作成

NFSのマウントポイントを追加します。

20170109-filestorage-11

S3バケット名を指定します

20170109-filestorage-12

今回のアップデートで、IPでのアクセス制限をできるようになってます。(別途セキュリティグループでのアクセス制御も可能です)

20170109-filestorage-13

クライアントインスタスから接続

NFS接続になります。今回は、別途Amazon Linuxを起動してそこからマウントしてみました。

# mkdir /storage
# mount -t nfs -o nolock xx.xx.xx.xx:/filegateway /storage

# df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   488M   60K  488M   1% /dev
tmpfs                      498M     0  498M   0% /dev/shm
/dev/xvda1                 7.8G  985M  6.7G  13% /
xx.xx.xx.xx:/filegateway  8.0E     0  8.0E   0% /storage

マウントできました。容量は8.0Eとなってますね。EFSでも見たことあるような数字です。

マウントできたので、早速書き込みしてみました。

mkdir /storage/test
echo "AAA" > /storage/test/aaa.txt

書き込み後すぐにS3を確認してみました

20170109-filestorage-9

すぐにS3へアップロードが完了していました!!

ファイルやフォルダの削除もしてみましたが、S3との同期は一瞬でした。

最後に

今までもStorage GatewayはS3をバックエンドとして利用できましたがスナップショットでの利用で、直接S3オブジェクトを見ることはできませんでした。今回のアップデートで、S3をNFS経由で利用できるようになり、データウェアハウスとしての活用やアプリケーション等のデプロイのtemp領域としても活用できそうですね。