AWSのS3ストーレージを作成して、EC2インスタンスにマウントしよう

AWSのS3ストレージは主にアーカイブ向け外レージとして使用できます。ログファイルを保存しておく場合や、不要になった画像や動画ファイルなど大きな容量を要する場合にS3は保存先として最適です。今回はそのS3ストレージの作成方法とEC2インスタンスへのマウント方法を解説していきます。

AWSのストレージの詳細については「AWSが提供する3つのストレージサービス|EFS、EBS、S3」の記事を参考にしてください。

あわせて読みたい
AWSが提供する3つのストレージサービス|EFS、EBS、S3 今日の学習ではAWSのストレージサービスについて解説していきます。AWSてよく使われるストレージサービスは次の3つになります。EFS、EBS、S3。それぞれ使用用途によっ...
目次

EC2インスタンスの準備

S3をマウントする場合EC2には特にS3用のセキュリティーグループを設定する必要はありません。作業用にEC2インスタンスすSSH接続するためにSSHポートのセキュリティーグループのみ付与しておけば十分です。

S3ストーレジ(バケット)の作成方法

AWS管理画面最上部の検索欄に「S3」と入力してS3のサービスページに移動します。

バケットの作成

「バケットを作成」ボタンを押下してバケットの作成画面に進みます。

バケットタイプ

「汎用」を選択。

バケット名

ここでは、「my-bucket」とします。

オブジェクト所有者

「ACL無効(推奨)」を選択。

このバケットのブロックパブリックアクセス設定

「パブリックアクセスをすべてブロック」にチェックチェックが入ったままの状態(デフォルト)を選択。

バケットのバージョニング

「無効にする」(デフォルト)を選択。

暗号化タイプ

「Amazon S3 マネージドキーを使用したサーバー側の暗号化 (SSE-S3)」(デフォルト)を選択。

バケットキー

「無効にする」を選択します。

これでS3のバケットストレージが作成されます。

S3ストーレージのマウント方法

マウンドディレクトリ(マウントポイント)の作成

cd /mnt/
sudo mkdir s3

AWS CLIのインストール

次項のマウントツールを使用する際は、AWS CLI(Command Line Interface)ツールがインストールされていることが前提です。次の「AWS CLIの設定方法」の記事からインストールを完了しておいてください。

あわせて読みたい
AWS CLIの設定方法 AWS CLI(AWS Command Line Interface)は、ターミナルからAWSのサービスを管理できるツールです。各サービスをコマンドラインから使用する際に前提となっている事が多...

マウントツール(mount-s3)のインストール

マウントツールの最新のバージョンをチェックします。

https://github.com/awslabs/mountpoint-s3/releases

x86_64のRPMのリンクを使います。2025/03/05時点での最新のバージョンは 1.15.0 となっています。

【ec2-userのホームディレクトリに移動】
cd /home/ec2-user

【rpmパッケージをダウンロード】
wget https://s3.amazonaws.com/mountpoint-s3-release/1.15.0/x86_64/mount-s3-1.15.0-x86_64.rpm

【rpmパッケージをインストール】
sudo dnf install mount-s3-1.15.0-x86_64.rpm -y

【バージョンを確認】
mount-s3 --version
->mount-s3 1.15.0と表示されればインストール成功です。

【ダウンロードしたパッケージファイルの削除】
rm -f mount-s3-1.15.0-x86_64.rpm

マウントの実行

以下のコマンドでEC2インスタンスにS3ストレージを書き込みや削除ができる設定でマウントします。

sudo mount-s3 my-bucket /mnt/s3 --allow-other --allow-delete --allow-overwrite

読み取り専用としてマウントする場合は  –allow-other –read-only オプションを指定します。

S3ストレージ上にファイルを作成する

作成したバケット上にファイルを作成してみましょう。

sudo touch /mnt/s3/s3-test.txt
ls /mnt/s3/s3-test.txt

AWS管理画面のS3サービスべーじ上からファイルの作成を確認してみましょう。作成したバケット内にファイルがあればマウント成功です。

アンマウント(マウント解除)の方法

sudo umount /mnt/s3/

マウントポイント含む以下のディレクトリにいる場合はアンマウントできないので、/mntディレクトリに移動してから/mnt/s3/のマウントを解除しましょう。

システムブート時のマウントの自動化

マウントしただけの状態ではデフォルトではシステムリブート時には再マウントはされません。ここではシステムブート時に自動的にS3ストレージがマウントされるように設定をしていきます。

Systemdを使って自動マウント設定

「Linux | systemdのサービス管理とユニットファイルの設定」の記事を参考にしてS3ストレージのユニットファイルを作成しましょう。

あわせて読みたい
Linux | systemdのサービス管理とユニットファイルの設定 systemdとはのOSシステムの起動やサービスの管理を行う常駐プログラムです。今回の記事ではWebシステム開発でよく使われるsystemdのコマンドやユニットファイルの設定に...

システム起動時の自動マウントの確認

S3ストレージ自動マウントのサービスの準備ができたらEC2インスタンスの再起動をして、起動後にS3ストレージがマウントされていることを確認しましょう。

sudo ls -l /mnt/s3/

まとめ

今回はS3ストレージ(バケット)を作成してからEC2インスタンスにマウントする手順を学習しました。EC2インスタンスにはマウントポイントを作成し、AWS CLIのインストールも必須でしたね。mount-s3コマンドを使用して実際にマウントを試しました。システムブート時にS3をマウントするには systemd を使用しました。一連の手順を確認してスムースにマウントできるようになっておきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次