[デモ] Amazon EFSの利用準備

デモの概要

このモジュールでは、インストラクターによるAmazon EFSを利用するための準備方法をご紹介します。


NFSトラフィックのアクセス許可ルールの追加

ROSAクラスターの複数のコンピュートノードから同時に読み書き可能な永続ボリュームとして、 Amazon Elastic File System (EFS)を利用するように設定できます。 それには、Amazon EFSを利用するための、ファイルシステムとアクセスポイントをAWS上で作成しておく必要があります。

最初にAWS EC2コンソールにアクセスして、ROSAがデプロイされているリージョンに移動します。 下記の画像はオハイオリージョン(us-east-2)の例ですが、「worker」という名前が付いているノードを1台選択します。 この選択したインスタンスが利用している、 VPC ID(下記の例では、 vpc-0727149c80d7f166f )と セキュリティグループID(下記の例では、 sg-0ddba81d81762ce55 )をメモしておきます。

vpc security id1
vpc security id2

ROSAクラスターからのEFSへのNFS接続のため、NFSトラフィックのアクセス許可ルールをセキュリティグループに追加します。 セキュリティタブのセキュリティグループID(この例では、 sg-0ddba81d81762ce55 )をクリックして、 「インバウンドのルールを編集」をクリックします。

inbound rule list

スクロールして、「ルールを追加」をクリックして、プライベートCIDRからNFSトラフィックを許可するルールを追加します。 「タイプ」はNFS、ソース(アクセス元)は「カスタム」で「10.0.0.0/16」を入力します。 この例では、この「10.0.0.0/16」が、ROSAの各コンピュートノードが、 ROSAクラスター内で利用するプライベートのネットワークアドレスとなっています。 ルールの一番下に追加されていることを確認した後に、「ルールを保存」をクリックして追加したルールを保存します。

inbound rule add1
inbound rule add2

Amazon EFSのファイルシステムとアクセスポイントの作成

Amazon EFSのコンソールに移動して、 ROSAクラスターがあるリージョンと同じリージョンを選択して、「ファイルシステムの作成」をクリックします。

amazon efs top

「ファイルシステムの作成」をクリックした後に表示される画面の「カスタマイズ」をクリックして、次の操作を実行します。

  • ステップ1の「ファイルシステムの設定」は全てデフォルト値のまま「次へ」をクリック

  • ステップ2の「ネットワークアクセス」で、前述の手順でメモしておいたVPC IDとセキュリティグループIDを指定して、「次へ」をクリック

  • ステップ3の「ファイスシステムポリシー」は全てデフォルト値のまま「次へ」をクリック

  • ステップ4「確認して作成する」ではスクロールして、ページ下部にある「作成」ボタンをクリックすると、ファイルシステムの作成が完了

efs network access

作成したファイルシステムID(下記画像の例では、 fs-0829e3db1df054edb )をから、 ファイルシステムに接続するためのアクセスポイントを作成します。 「アクセスポイント」タブから「アクセスポイントを作成」をクリックします。

accesspoint create1

「ルートディレクトリパス」に任意のPATH(この例では、 /efs-mount )を入力し、 「ルートディレクトリ作成のアクセス許可 - オプション」で、 所有者ユーザーIDと所有者グループIDに 65534 、 ルートディレクトリパスに適用する POSIX アクセス許可に 1777 を入力します。

accesspoint create2
accesspoint create3

ここでは、アクセス許可を「1777」として、どのユーザー権限でもファイルの読み書きを可能にする共有ファイルシステムとすることを想定します。 そのため、ユーザーID/グループIDについてはどの数値を指定してもいいのですが、 NFSで利用される匿名ユーザ「nobody」のIDとして、「65534」を指定することにします。

「1777」というパーミッションの「1」は、 Linuxのスティッキービット(Sticky Bit)を意味します。 これが設定されている共有ディレクトリの中に作成されたファイル/ディレクトリは、 それらの所有者や管理権限を持つrootユーザー以外は削除できなくなります。

他の値は空欄のままにしておいて、「アクセスポイントを作成」をクリックして、アクセスポイントを作成します。 Amazon EFSで利用可能なファイルシステムとアクセスポイントの作成が完了したら、それぞれのIDをメモしておきます。 下記画像の例だと、ファイルシステムIDが fs-0829e3db1df054edb で、 アクセスポイントIDが fsap-088d532e0518f15b0 となります。

efs id

ROSAでのAWS EFS Operatorのインストール

ここからはROSAクラスターでの操作となります。 ROSAクラスターに管理者権限を持つユーザー( cluster-admin など)でログインして、 左サイドメニューにある、OperatorHubから、Amazon EFSをPodから自動的に利用できるようにするための、 「AWS EFS Operator」を選択します。

aws efs operator install1
Operatorは、Kubernetes/OpenShift上で実行されるコンテナアプリの運用(自動構築や削除など)を自動化するための、 専用コンテナとなります。Operatorは、対象となるコンテナアプリを運用するためのインタフェースを提供します。 Operator自身も通常のアプリケーションと同様に、Podとして実行されます。

「AWS EFS Operator」を選択したあとは、全てデフォルトの値を利用してインストールを完了します。

aws efs operator install2

これで、ROSAクラスターで、永続ボリュームとしてAmazon EFSを利用する設定が完了しました。