この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
お久しぶりです。株式会社協栄情報システム3部所属の寺尾です。
今回は自身の勉強のためにEFSをマウントして2つのEC2でファイルを共有してみたのでその過程を記事にしようと思います。
EC2の作成
まずはAWS マネジメントコンソールにログインしてサービス一覧からAWSを選びましょう。
インスタンスの起動を選択します。
AMIは今回はEFSでのファイル共有を試したいのでAmazon Linuxを選びます。EFSは現在Windowsには対応していません。
誤ってお金がかからないように無料利用枠のみにチェックを入れました。
インスタンプタイプは無料のt2.microを選択します。
今回はVPCとサブネットはデフォルトのもの利用します。
ほかの項目もほぼデフォルトのままですが、誤ってキャパシティーを予約しないためにキャパシティーの予約の設定のみなしに変更します。
ストレージはデフォルトのままで次に進みます。
セキュリティグループは新しいものを作成します。今回はテスト用ですので任意の場所からのアクセスを許可しています。
構築が間違っていなければ作成します。
そうするとキーペアについての画面が出てきますので、新しいキーペアを作成してダウンロードします。こちらがないとEC2にログインできませんので自分が分かりやすい場所に保存しましょう。
そしてインスタンスの作成を押せばインスタンスの作成完了です!
今回は二つのEC2の間でEFSを使ってファイルを共有したいので同様にしてもう一つ作成します。セキュリティグループとキーペアは先ほど作成したものを使い、他は同じように作成しました。
作成が完了して少し待つとインスタンスの状態が実行中になり、2/2 のチェックに合格しましたと表示されました。
これで正常に起動できたことが確認できましたので次のステップに進みます。
セキュリティグループの編集
EC2 から EFS をマウントする用セキュリティグループの編集を行います。
セキュリティグループから先ほどのセキュリティグループ、インバウンドルール、インバウンドルールの編集へと進め、
タイプをNFSでポートは2049、ソースをこのセキュリティグループ自身に設定しました。
これでセキュリティグループの編集は完了です。
EFSの作成
次はEFSを作成していきます。サービスからEFSに入り、ファイルシステムの作成を選んで…
EC2と同じVPCで作成していきます。
作成できましたらEFSの名前をクリックして、
ネットワークタブからマウントターゲットを作成していきます。
EC2と同じAZに先ほど編集したセキュリティグループを使ってマウントターゲットを作成しました。
以上でEFSは作成完了になります。では、いよいよEFSを使ってファイルを共有していきます。
EFSをマウント
Tera Termを使って先ほど作成したEC2にアクセスしていきます。
ホストの部分にIPを入れ、OKを押して…
続行していきます。
ユーザー名はec2-userで、ダウンロードした秘密鍵でログインしましょう。
ログインが完了したら
sudo yum install -y amazon-efs-utils
を入力してAmazon EFS クライアントのインストールを行います。
Complateが表示されたらインストール完了です。
次にEFSで共有するディレクトリを作ります。
mkdirコマンドでefsディレクトリを作成し、cdコマンドで実際にefsディレクトリに入ってみました。
最初と最後にpwdでカレントディレクトリを確認しています。
次はいったんマネジメントコンソールに戻りましょう。
EFSに入って、先ほどのEFSを開き、アタッチを選択して
EFSマウントヘルパーを使用の下にあるコマンドをコピーします。
コマンドの最後の部分のefsを、先ほどマウントのために追加したディレクトリに書き換えて実行します。
これで無事マウントできました。ですので実際に共有することができているのか確かめていきたいと思います。
もう一つのEC2でも同じようにEFSをマウントしたら、sudo touchコマンドでテスト用のファイルを作成してみましょう。スクリーンショットではlsでちゃんと作れたかを確認しています。
そしてもう一つのEC2のefsディレクトリを見てみると…
無事! テスト用ファイルが共有されていました!
これにて完成です。
おわりに
ここまで読んでいただきありがとうございました。
間違いなどあればぜひご指摘ください。
この記事が誰かの助けとなれば幸いです。