APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【OCI】ファイル・ストレージ・サービス(FSS)について

クラウド事業部の伊藤です。 先日、Oracle Cloud InfrastructureのArchitect Associateに合格しました。
そちらを勉強している中で、ファイル・ストレージ・サービスについてエクスポートやセキュリティリストの設定が
上手く理解できなかったので自分なりにまとめてみます。

今回は概要や主なコンポーネントをまとめた後、ハンズオンでファイル・ストレージサービスを少し触っていこうと思います。

概要

ファイル・ストレージ・サービスとは、複数のインスタンス間で共有可能なファイルストレージのマネージドサービスです。
インスタンスにアタッチして使用できるブロックボリュームも同じく複数インスタンス間で共有可能ですが、ファイルシステムの構築が必要です。
しかし、ファイル・ストレージ・サービスを使うとその手間が軽減されるという所がメリットの一つです。
また、最大8エクサバイトまでスケーリングが可能です。

主な用途としては以下が上げられます。
・汎用ファイルストレージ
・マイクロサービスコンテナ
・ビックデータ分析
・検証開発用データベース
・アプリケーションのリフト&シフト

主なコンポーネント

ここでは主なコンポーネントを紹介します。

・マウント・ターゲット

高可用性のNFSエンドポイントで、任意のVCN サブネット内に設置します。
しかし、VCN外からのアクセスも可能です。
その場合はOracle Cloud Infrastructure FastConnectや仮想プライベート・ネットワーク(VPN)、VCNピアリングなどを使用します。

・エクスポート

NFSクライアント(ファイルシステムに接続するインスタンスなど)が、マウント・ターゲットを通してファイルシステムへと接続するときにアクセス制御をしてくれるものです。
ファイルシステムに接続するためには、少なくとも一つ以上のマウント・ターゲット+一つ以上のエクスポートのセットが必要になります。
NFSサーバでいう、/etc/exportsファイルに近いです。

エクスポートはファイルシステムの作成時に一緒に作成できます。 その際には、一つだけ設定することが出来ました。
設定できる内容としては以下の通りです。

エクスポート設定項目

・エクスポート・パス

エクスポートの作成時に指定される一意なパス。
例えば、一つのマウント・ターゲットに複数のファイルシステムが紐づけられている時は、エクスポート・パスによって識別される。

・エクスポート・オプション

接続元からファイルシステムへ行える操作に関する権限を管理する。
例えば、IPアドレスなどのソースによって読み取り権限のみの許可をするなどが出来る。
設定をしていない場合は、すべての接続元からのすべての操作を許可している。

・セキュリティ・リスト

コンポーネントというよりはVPN周りの設定です。
NFSに接続するためには、接続元インスタンスが所属しているサブネットのCIDR範囲からのアクセスを許可する必要があります。

具体的には、以下のポートへのアクセスを許可します。
・プロトコル:TCP、 宛先ポート:111,2048-2050
・プロトコル:UDP、 宛先ポート:111,2048-2050

実際に設定するとセキュリティ・リストのイングレス・ルールに以下が追加されます。

ハンズオン

上記までは試験勉強で知った内容そのままなのですが、個人的に理解が難しかったのは以下の点です。
公式のドキュメントでエクスポートについて以下のような記載がありました。  

ファイル・ストレージの概要

1つのファイル・システムに対するエクスポートをマウント・ターゲット内にいくつでも作成できます。

これがどういうことか、あまり想像がつかなかったので以下に従って実際に環境を作ってから試していきます。 

その6 - ファイルストレージサービス(FSS)で共有ネットワークボリュームを利用する | Oracle Cloud Infrastructure チュートリアル

作成した環境について

環境づくりは具体的な手順は上記のリンクを見ていただいた方が良いので割愛して、ポイントにのみ触れていきます。
まず、出来た構成としては以下のようになります。
 

ハンズオン構成図

ファイルシステムを作成した後はマウント・ターゲットとファイルシステムの両方からエクスポートを確認できます。

エクスポート作成後

また、EC2インスタンスでマウントの設定をしてから以下のコマンドを打つとマウントが成功しているかを確認できます。

df -h

一番下の行にIPアドレス10.0.101.123のマウントターゲットに先程確認したエクスポート・パスが確認できます。

マウントの確認

検証

では、ここからエクスポートを追加で設定していきます。
ファイル・ストレージ>マウント・ターゲット>マウント・ターゲットの詳細を開きます。
画面の下部にある「エクスポートの作成」を押下し、任意のパスを設定する…と思ったのですが、赤枠の記載がありました。
このまま作成すると、新規のファイルシステムを必要とするようなので、指示通りファイル・システム・リストへ飛びます。  

上記の指示通り作成しようとしたのですが、既にエクスポートに先程作成したエクスポート・パスが入った画面が出てきました。
新規のファイルシステムはできなそうですが、上書きしてしまうのではないだろうか。


検証なので、一旦やってみることにしました。
右側の詳細の編集を押して、エクスポート・パスに「/test1」を指定。
下部の作成を押下。


上書きされずに、別のエクスポートとして設定が出来ました。

後はインスタンス側のマウント用ディレクトリを作成し、そちらにマウントします。

sudo mkdir -p /mnt/test1
sudo mount 10.0.101.123:/test1 /mnt/test1


マウントが成功しました!

ハンズオンで分かったこと
  • エクスポートの作成=マウントするファイルシステム上のディレクトリ払い出しというイメージで設定できる。
  • NFSサーバの/etc/exportファイルで出来る設定が、クライアントから接続されるディレクトリの作成と有効化はエクスポート、権限周りはエクスポート・オプション…とコンポーネントが論理的に分かれているという理解。

余談ですが、ドキュメントだけ見ていた時はあれだけイメージがつかずよく分からなかったのに、
ハンズオンをやってみたら意外とすんなり理解出来ました。
資格勉強中だとハンズオンに対して腰が重くなりがちですが、分からない時は手を動かすことが結果的に効率的かもしれません。

まとめ

今回はOCIのファイル・ストレージ・システムに関して、概要についてのまとめを行いました。
稚拙な文章で恐縮ですが、少しでもどんな風に使えるサービスなのかについて理解の一助になればうれしいです。

また、今後の課題として他のクラウドサービスについても同様に元になっているプロトコルへの理解不足があるので一つ一つ潰していきたいです。
記事に不備や誤りがございましたら、お手数ですがご指導ご鞭撻のほどお願いします。

参考情報

OCI技術資料 : ファイル・ストレージ 概要 - Speaker Deck

ファイル・ストレージの概要

8.6. NFS サーバーの設定 | ストレージ管理ガイド | Red Hat Enterprise Linux | 7 | Red Hat Documentation

その6 - ファイルストレージサービス(FSS)で共有ネットワークボリュームを利用する | Oracle Cloud Infrastructure チュートリアル

お知らせ

私達クラウド事業部はクラウド技術を活用した SI/SES のご支援をしております。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp