![EC2からNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]](https://devio2023-media.developers.io/wp-content/uploads/2014/05/AWS_Storage_Gateway.png)
EC2からNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
神アップデートな予感がしてます、コンニチハ、千葉です。
2016年11月30日に、ご紹介しました[新機能]オンプレミスからNFS経由でS3オブジェクトを保管できるようになりました![Storage Gateway]が、なんとEC2上で利用できるようになりました。
これで、EC2からもNFS経由でS3のオブジェクトを直接利用できるようになります。APIを利用してS3へアップロードする必要がなく、NFSにて利用できるのレガシーなシステムでは重宝するのではないでしょうか。
また、NFS(オンプレ/EC2) > Storage Gateway > S3 > Redshiftのような利用も考えられます。
注意点としては、Gatewayインスタンスは現状は冗長化できないという点です。ただ、種々バックアップストレージやデータ連携としてバックエンドにS3を利用できるのできるのと、直接S3にオブジェクトとして保存できるので、はまるところは多いのではないかと思います!!
さっそく試してみます。
ファイルゲートウェイの作成
ファイルゲートウェイを起動し、アクティベーションを行います。
StorageGatewayから新規作成を選択

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

ゲートウェイインスタンス(EC2)を起動します。こつは、
- ポイントはセキュリティグループにTCP80番ポートを許可※ローカル端末からのEC2へアクセス許可
- キャッシュ用EBSを追加でアタッチ
となります



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

アクティブ化します

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

ファイルストレージの作成
NFSのマウントポイントを追加します。

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

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

クライアントインスタスから接続
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を確認してみました

すぐにS3へアップロードが完了していました!!
ファイルやフォルダの削除もしてみましたが、S3との同期は一瞬でした。
最後に
今までもStorage GatewayはS3をバックエンドとして利用できましたがスナップショットでの利用で、直接S3オブジェクトを見ることはできませんでした。今回のアップデートで、S3をNFS経由で利用できるようになり、データウェアハウスとしての活用やアプリケーション等のデプロイのtemp領域としても活用できそうですね。






