AWS Storage Gateway エンドポイント経由で作成する

# 初めに

ストレージゲートウェイをVPCエンドポイント経由で作成する手順について書きました。

# ストレージゲートウェイの作成

利用するVPC内のインスタンスにアクセスできるようにクライアントVPN等で通信経路を確保しておきます。

あらかじめストレージゲートウェイ用のエンドポイントを作成しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/132bb823-f6d4-3971-e617-de3ef77319c9.png)

「S3 ファイルゲートウェイ」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/8d9734aa-343d-9738-6cf0-5b288137a7ae.png)

「EC2」を選択します。「インスタンスの起動」を選択し、m4.xlarge のインスタンスを起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/5d401bc3-33a6-dd66-2ee9-accce1bdc885.png)

なお、インスタンスのEBSはキャッシュ用に150GiBを追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/5e2a83ee-8615-7260-6e43-ceb55b5d41c2.png)

「VPC」を選択し、ストレージゲートウェイ用のエンドポイントを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/550cc3a7-4943-2e7b-5153-441b2af30bbd.png)

IPアドレスは、EC2のプライベートIPアドレスを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/92a46bde-f7f0-72d8-d516-057368ba1d74.png)

ゲートウェイの名前を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/7be226bf-18e7-0ea8-02cd-5d07d700d91b.png)

「ゲートウェイのアクティブ化」を選択します。

![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/a24289f0-ee06-0204-b177-f0a90e01b165.png)

しばらくローカルディスクの読み込みが完了するまで待ちます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/224a2742-8b8c-a625-4679-2b3c72885718.png)

読み込みが完了したら「保存して続行」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/f239abb5-5c2c-790b-effb-90de802c72af.png)

ログの設定はデフォルトのまま進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/774b348d-7450-6b49-a834-52554e8bf6f3.png)

# ファイル共有の作成

ストレージゲートウェイを作成したら「ファイル共有の作成」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/744195ad-e6c9-e14a-b1ef-72d8ed794c52.png)

今作成したストレージゲートウェイを選択し、バケット名を入力します。他はデフォルトで進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/b9415497-5c5f-57d4-64c3-ed5786a7fc47.png)

ストレージ設定ではすべてデフォルトで進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/4ec3427f-ba34-9136-8c85-002a0bed8405.png)

クライアントの追加で、マウントを許可するCIDRを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/8318c507-fdf8-76d5-7034-5faf1c6dd8d8.png)

アクセス権限やIDはすべてデフォルトで進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/da1e9c27-85e9-180e-7262-98dd5de0cac6.png)

作成したらステータスが「利用可能」になるまで待ちます。「利用不可」であれば設定ミスがあります。この手順検証中、設定したバケットのバケットポリシーでファイル共有のロールに対するすべてのアクセスをDenyにしていたことが原因で「利用不可」と表示されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/f7b9d867-0e77-75bf-1e35-da2647ddb227.png)

ファイル共有作成後、マウントできるようになります。このインスタンスにはパブリックIPアドレスを使用してログインしています。

```
sudo mount -t nfs -o nolock,hard 172.31.43.107:/account-a-bucket-0525 dir
```

許可していないNFSクライアントからはマウントできません。

```
[ec2-user@ip-172-31-1-236 ~]$ sudo mount -t nfs -o nolock,hard 172.31.43.107:/account-a-bucket-0525 dir
mount.nfs: access denied by server while mounting 172.31.43.107:/account-a-bucket-0525
```

# 参考記事

https://docs.aws.amazon.com/ja_jp/storagegateway/latest/userguide/create-file-gateway.html