この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、菊池です。
どんどん新しいサービスが登場しますね。今回紹介するのはこちら。
共有ストレージサービスであるAmazon EFSが、アカウントやVPCをまたいだアクセスに対応したようです。
VPC外からのアクセス
今回対応したのは、以下のパターンでのアクセスです。
- VPC Peering
- VPC Transit Gateway
- VPC共有
注意点としては、リージョン内のVPC Peering経由での接続の場合、利用できるEC2のインスタンスタイプに制限があることです。
利用可能なインスタンスタイプは以下の通り、Nitro世代のインスタンスタイプです。この制約はNLBの制約と同様ですね。
- T3
- C5
- C5d
- I3.metal
- M5
- M5d
- R5
- R5d
- z1d
やってみた
それでは実際に試してみます。今回は、以下のように新しく登場したばかりのTransit Gatewayを経由した接続をやってみました。
まずは2つのVPCをTransit Gatewayで接続します。接続手順は以下の記事を参照ください。
[新機能]激アツ!AWS Transit Gatewayが発表されました!VPC間、オンプレミスとVPC間をもっと簡単に接続!! #reinvent
以下のように、2つのVPCをTransit Gatewayで接続し、ルーティングを設定しておきます。
片方のVPCに、EFSのファイルシステムを作成しておきます。マウントターゲットのIPを確認し、そちらに対してマウントします。
もう片方のVPCに起動したEC2から接続します。インスタンスタイプはT2(非Nitro)、OSはAmazon Linux 2 を使用しています。
[ec2-user@ip-172-31-26-116 ~]$ sudo yum install -y amazon-efs-utils
[ec2-user@ip-172-31-26-116 ~]$ sudo mkdir efs
[ec2-user@ip-172-31-26-116 ~]$ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 10.255.0.107:/ efs
[ec2-user@ip-172-31-26-116 ~]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 476M 0 476M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 476K 493M 1% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 1.2G 6.9G 15% /
tmpfs 99M 0 99M 0% /run/user/1000
tmpfs 99M 0 99M 0% /run/user/0
10.255.0.107:/ 8.0E 0 8.0E 0% /home/ec2-user/efs
特に問題なく接続できました。
さいごに
新たに対応したVPCをまたがるEFSアクセスの紹介でした。
Transit Gatewayやサブネット共有といった新機能もあり、マルチアカウント、マルチVPCでのシステム構成が柔軟にできるようになってきましたね。