ROSAでEFSを使用する方法のメモ

ここでは、ROSAでAmazon Elastic File System(以下、EFS)を使用する方法についてメモしています。

前提条件

  • AWSにROSAは構築済み
  • 作業ホストにawsやrosa、ocコマンドも準備済み

EFSでファイルシステムの作成

AWSのマネジメントコンソールの検索バーで EFS を入力してアクセスし、ファイルシステムを作成してください。
ファイルシステムの作成先のVPCは、ROSAのWorkerが所属しているものを選択してください。

ファイルシステム作成後にアクセスポイントを作成してください。
本手順では、デフォルトのまま作成しているため、アクセスポイントは / になります。

アクセスポイント追加後に、ファイルシステムが属しているセキュリティーグループの設定に以下を追加します。
※CIDRブロックは環境に合わせて変更してください

インバウンドルール

タイプ プロトコル ポート範囲 ソース CIDRブロック
NFS TCP 2049 カスタム 10.0.0.0/16

AWS EFS CSI Driver Operatorのインストール

ROSA(OCP)からEFSを使用するには AWS EFS CSI Driver Operator が必要です。
ここでは、オペレーターのインストールを行います。

公式ドキュメントのインストール手順はこちらです。

事前準備

AWS EFS CSI Driver Operatorを導入するには、事前にAWS Security Token Service(STS)上のARNを取得する必要があります。
公式手順通り ccoctl コマンドを使ってARN(Role)を作成します。

以下から環境に合わせた対象バージョンのccoctlをダウンロードしてください。

以下は検証環境で実行したコマンド例です。

credrequests ディレクトリを作成してEFSの CredentialsRequest のYAMLファイルを作成します。

ファイルの中身は以下の通りです。

Roleを作成するためにROSAクラスターのOIDC ProviderのArnを確認します。

以下のコマンドの <> の部分を適切なパラメーターに置き換えて実行します。

問題なく実行できた場合は、以下のように結果が表示されるので、ARNをメモっておきます。

Operatorのインストール

次にROSAのコンソールにアクセスしてログインしてください。

OperatorOperatorHub をクリックし EFS でフィルタリングして AWS EFS CSI Driver Operator をクリックします。

インストール をクリックします。

ロール ARN に先ほど取得したARNを入力して インストール をクリックします。

承認画面が表示されたら 承認 をクリックし、インストールを継続します。
インストールされた Operator: 使用の準備ができています が表示されれば問題ありません。

AWS EFS CSI ドライバーのインストール

以下のマニフェストを作成します。

適用します。

ストレージクラス作成

以下のマニフェストを作成します。

パラメーター 説明
fileSystemId EFSで作成したファイルシステムのID
basePath アクセスポイント

適用します。

動作確認

EFSが問題無く使用できるかどうか確認してみます。
以下のテスト用マニフェストを作成します。

適用します。

無事Podが起動できているか確認します。

EFSのボリュームをマウントしたディレクトリに hello.txt が生成されているか確認します。

中身が表示されれば問題ありません。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください