この記事でわかること
▪️AWS EFS マウント手順の解説
▪️使用したコマンドと目的
事前準備
▪️セキュリティグループのインバウンドルールにNFS:2049 ポート許可済
▪️EFSマウント作業時に必要なIAMポリシー(EFS,EC2,KMS)はアタッチ済み
▪️使用したEC2インスタンスのOSは、ubuntu
▪️ターミナルソフトはTERA TAMを使用
EFSを利用するための環境作り
手順1_AWS CLI のインストール
sudo apt update
目的:必要なソフトや情報が最新であることを保証します。
sudo apt install -y curl unzip
目的:EFSの準備で必要な道具(ソフト)を
「curl」と「unzip」というソフトをインストールします。
※「curl」はファイルをダウンロードするためのツール。
※「unzip」は圧縮されたファイルを解凍するためのツール。
手順2_AWS CLI をダウンロードしてインストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
目的:AWS CLIをダウンロードします。
unzip awscliv2.zip
目的:インストール用のファイルを解凍します。
sudo ./aws/install
目的:解凍したファイルを使ってAWS CLIをインストールして使えるようにします。
aws --version
AWS CLIが正しくインストールされたかを確認します。
手順3_AWS CLI の認証情報設定
aws configure
AWSを使うために必要な「ID」「キー」などを登録します。
AWS Access Key ID: AWSアカウント専用の鍵。
AWS Secret Access Key: もう1つの鍵で、秘密にしておく必要があります。
Default region: 自分が使うAWSの地域(今回は東京:ap-northeast-1)。
Default output format: 出力形式(今回はjson)。
入力する内容です。
aws sts get-caller-identity
登録が正しく行われたかを確認します。
※「認証情報設定」は、誰がAWSを操作しているのかをシステムに伝えるためです。
手順4_必要なツールのインストール
sudo apt install -y git nfs-common build-essential python3 python3-pip pkg-config libssl-dev
目的:EFSを利用するための補助的なソフトをインストールします。
※git: プログラムをダウンロードするためのツール。
※nfs-common: ネットワーク経由でファイルを共有するためのツール。
※python3 と python3-pip: プログラムを動かすためのツール。
※pkg-config, libssl-dev: 暗号化などの機能を使うためのツール。
手順5_OpenSSL ライブラリの確認と設定
dpkg -l | grep -E 'libssl-dev|pkg-config'
目的:暗号化のためのライブラリ(OpenSSL)が既にあるか確認します。
export OPENSSL_DIR=/usr:
目的:ライブラリの場所を指定して環境を整えます。
echo 'export OPENSSL_DIR=/usr' >> ~/.bashrc:
目的:設定を保存して、次回ログイン時にも反映されるようにします。
手順6_DNS 設定(DNS解決:無効の場合)
sudo nano /etc/resolv.conf:
DNS サーバーをGoogle DNSに変更
目的:インターネット接続を安定させるため、DNSサーバーを設定します。
nameserver 8.8.8.8
nameserver 8.8.4.4
内容を以下に変更。これにより、インターネット接続が安定します。
ping -c 4 archive.ubuntu.com
目的:インターネット接続が正しく動いているか確認します。
EFSを実際に利用するための具体的設定
手順1_EFS ユーティリティのインストール
git clone https://github.com/aws/efs-utils:
目的:EFSを操作するためのツールをダウンロードします。
cd efs-utils:
目的:ダウンロードしたツールのフォルダに移動します。
./build-deb.sh:
目的:ダウンロードしたコードをインストール用の形式に変換します。
sudo apt install ./build/debbuild/amazon-efs-utils-*.deb:
目的:ツールをインストールします。
mount -V
目的:ツールが正しくインストールされたか確認します。
※AWS EFSを使うには、「EFSユーティリティ」という特別な道具が必要です。
※ゲームのアプリをインストールしてプレイするのと同じように、
この作業をEFSを使うことができません。
手順2_EFSマウントの為、マウントポイントの作成
sudo mkdir -p /mnt/efs
目的:EFSを保存するためのローカルディレクトリを作成します。
(-p:オプションコマンド、-pにより、/mnt/efsが作成される)
手順3_EFS ファイルシステム ID 確認
aws efs describe-file-systems
目的:EFSに関する詳細情報を取得します。
手順4_EFSのマウント
sudo mount -t efs -o tls fs-(EFSのID):/ /mnt/efs
目的:EFSをローカルディレクトリ(/mnt/efs)に接続します。
df -h | grep efs
目的:EFSが正しくマウントされたか確認します。
永続化設定
手順1_再起動しても自動的にマウントされるよう設定
sudo nano /etc/fstab:
目的:再起動しても自動的にEFSがマウントされるよう設定します。
fs-(EFSのID):/ /mnt/efs efs _netdev,tls 0 0
上記を追加:
手順2_設定を反映して確認
sudo systemctl daemon-reload
目的:設定を反映し、再起動後もEFSが利用可能か確認します。
sudo reboot
目的:再起動します。
df -h | grep efs
目的:再起動後もEFSがマウントされているか確認します。
対象読者
▪️AWS資格試験の合格に向けて勉強中の方
▪️AWS EFS マウント手順を学びたい方
参考文献
この記事を書いた理由
これまで以下のAWS資格を取得し、2024年12月から2社目のIT会社に転職成功。
今はAWSを活用したシステム構築の支援業務を行なっています。
本記事は、業務で行った内容の復習とアウトプットを兼ねて作成しました。
AWSの具体的な設定手順を学びたい方に少しでも役立てば幸いです。
既に合格済のAWS資格
2024年04月11日「AWS Certified Cloud Practitioner」
2024年06月27日「AWS Certified Solutions Architect - Associate」
2024年08月13日「AWS Certified Sysops Administrator - Associate」
2024年11月19日「AWS Certified Solutions Architect - Professional」