[Oracle Cloud] IPSec(libreswan)で繋いだAWS(EC2)からOCI上のFIleStorageServiceをマウントしてみた

本記事の目的

OCIのFile Storage Service(以下、FSS)は共有ストレージとして利用が可能なため、OCI内での複数インスタンスでのファイル共有などに利用できて便利です。

さらに、以下の公式サイトのFAQよりオンプレミスから直接マウントすることも可能です。

ファイル・ストレージ・サービスのFAQ

データ・センターからOracle File Storageにアクセスする方法を教えてください。
Oracle File Storageは、すべてのOracle Cloud Infrastructureリージョンおよびアベイラビリティ・ドメインで使用できます。各ファイル・システムは選択した1つのアベイラビリティ・ドメインに物理的に配置されます。ファイル・システムへは、FastConnectと仮想プライベート・ネットワーク(VPN)を使用して、リージョン内のどこからでも、またはオンプレミスからアクセスできます

今回はオンプレミス環境の代替として、IPSecVPNでOCIとコネクション確立済みのAWSのEC2から、OCI上のFSSをマウントできることを確認してみます。

 

前提/準備

・検証に利用するFSSは作成済み
・FSSが所属するVCNとAWS(EC2)はlibreswanを利用してIPSec VPNによるコネクションを確立済み

それぞれの手順については下記ブログ記事を参照。
参考)
[Oracle Cloud] File Storage Serviceを作成してDBaaSからマウントしてみた
[Oracle Cloud] Oracle Cloud(DBaaS)とAWS(EC2)をIPSec VPN(Libreswan)で繋いでみた

 

手順

マウント元がEC2でも基本的に手順は変わらず、とても簡単です。

 

NFSクライアントのインストール(まだの場合)

[root@ip-172-31-40-70 ~]# yum install nfs-utils

 

マウント用ディレクトリ作成

[root@ip-172-31-40-70 ~]# mkdir /mnt/dbaas

 

FSSのマウント

FSSのIPアドレス(10.0.0.15)とパスを指定してマウント

[root@ip-172-31-40-70 ~]# mount 10.0.0.15:/FileSystem-20190220-0148 /mnt/dbaas

[root@ip-172-31-40-70 ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 10473452 1334736 9138716 13% /
devtmpfs 484104 0 484104 0% /dev
tmpfs 506596 0 506596 0% /dev/shm
tmpfs 506596 13168 493428 3% /run
tmpfs 506596 0 506596 0% /sys/fs/cgroup
tmpfs 101320 0 101320 0% /run/user/1000
10.0.0.15:/FileSystem-20190220-0148 9007199254740992 0 9007199254740992 0% /mnt/dbaas★マウント成功

[root@ip-172-31-40-70 ~]# ls -ltd /mnt/dbaas
drwxrwxrwx 3 root root 2 Mar 3 12:29 /mnt/dbaas

 

ファイル操作確認(EC2から)

一般ユーザにてファイル操作できることを確認してみる。

・uid確認
[ec2-user@ip-172-31-40-70 ~]$ id -a
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),4(adm),10(wheel),190(systemd-journal)

・書き込み確認
[ec2-user@ip-172-31-40-70 ~]$ echo "hello" > /mnt/dbaas/hello.txt
[ec2-user@ip-172-31-40-70 ~]$ ls -l /mnt/dbaas/hello.txt -rw-rw-r-- 1 ec2-user ec2-user 6 Mar 10 06:24 /mnt/dbaas/hello.txt 

・読み込み確認
[ec2-user@ip-172-31-40-70 ~]$ cat /mnt/dbaas/hello.txt
hello

 

ファイル操作確認(DBaaSから)

同じFSSをマウントしているOCI側のインスタンス(今回はDBaaSを利用)からも同じファイルが参照できることを確認。

・マウント確認
[root@dbvmee02 ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroupSys-LogVolRoot
35993216 6048032 28093792 18% /
tmpfs 15308236 1396736 13911500 10% /dev/shm
/dev/sda2 1397440 46436 1261968 4% /boot
/dev/sda1 496672 276 496396 1% /boot/efi
/dev/sdi 206293688 29013884 166777660 15% /u01
/dev/asm/commonstore-1
5242880 392576 4850304 8% /opt/oracle/dcs/commonstore
10.0.0.15:/FileSystem-20190220-0148
9007199254740992 0 9007199254740992 0% /mnt/FileSystem-20190220-0148★同じFSSをマウントしている

・ファイル確認
[root@dbvmee02 ~]# ls -l /mnt/FileSystem-20190220-0148
total 16
-rw-rw-r-- 1 1000 1000 6 Mar 9 15:11 hello.txt

[root@dbvmee02 ~]# cat /mnt/FileSystem-20190220-0148/hello.txt
hello

⇒EC2から書き込みしたファイルを、OCI上のインスタンスから参照できることを確認できた。

 

おまけ:書き込み性能確認

AWSのEC2からddコマンドを利用して、OCIのFSSへ1Gbyteのファイルを書き込む際の性能(処理時間)を確認してみました。

なお、IPSecVPNのためインターネット回線の影響を受けるため値は参考程度ですが、今回は1Gbyteのファイル転送時間は約1分でした。

ちなみに、EC2のサイトは米国東部(Ohio)、OCIのサイトは米国東部(Ashburn)で確認しています。

 

・1回目
[ec2-user@ip-172-31-40-70 ~]$ time dd if=/dev/zero of=/mnt/dbaas/perf1.dmp bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 60.2871 s, 17.4 MB/s

real 1m0.339s
user 0m0.000s
sys 0m0.790s


・2回目
[ec2-user@ip-172-31-40-70 ~]$ time dd if=/dev/zero of=/mnt/dbaas/perf1.dmp bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 59.2473 s, 17.7 MB/s

real 1m1.128s
user 0m0.006s
sys 0m0.882s

・3回目
[ec2-user@ip-172-31-40-70 ~]$ time dd if=/dev/zero of=/mnt/dbaas/perf1.dmp bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 58.9667 s, 17.8 MB/s

real 1m0.840s
user 0m0.000s
sys 0m0.868s

 

参考情報

・マニュアル「Overview of File Storage」
https://docs.cloud.oracle.com/iaas/Content/File/Concepts/filestorageoverview.htm

・ファイル・ストレージ・サービスのFAQ
https://cloud.oracle.com/ja_JP/storage/file-storage/faq

 

スポンサードリンク

Be the first to comment

Leave a Reply

Your email address will not be published.


*