目次
インフラ構築と自動化が得意。TerraformとAnsibleでインフラを自動構築するお仕事が多め
EC2 インスタンスは OS などを格納するファイルシステムのために最低限一つの EBS (Elastic Block Store) ボリュームを必要とします。これを Root ボリュームとよびます。本ページでは Root EBS に加えてデータ格納用の EBS を EC2 インスタンスから利用するための設定をまとめます。
参考ページ
ボリュームのアタッチ
EC2 インスタンス起動時または EC2 の Volumes メニューにある「Create Volume」から新規に EBS を作成します。Root デバイスとしては使用しないため作成時に Snapshot は指定しません。「Create Volume」から作成した場合は Actions → Attach でインスタンスに接続します。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk /mydata
xvdf 202:80 0 1G 0 disk ← 今回 Attach した。'/' や '/data' にマウントされていない
上記コマンドで EC2 に接続されて認識できることを確認します。これは AWS コンソール上で確認できるデバイス名のエイリアスです。
$ ls -l /dev/sdf
lrwxrwxrwx 1 root root 4 May 6 04:32 /dev/sdf -> xvdf
ファイルシステムの作成 (危険)
過去のバックアップから作成した EBS ボリュームであったり Root デバイスの EBS ボリュームであったりする場合、本手順を実行するとデータが失われます。本手順は空の EBS ボリュームをデータ格納用に新規作成して Attach した直後に一回だけ行います。
確認方法
以下のコマンドで data とだけ表示されることを確認します。既存のファイルシステムが存在しないことを意味します。
$ sudo file -s /dev/xvdf
/dev/xvdf: data
ファイルシステムの作成
$ sudo mkfs -t ext4 /dev/xvdf
上記コマンドを実行すると以下の通りファイルシステムが作成されました。
$ sudo file -s /dev/xvdf
/dev/xvdf: Linux rev 1.0 ext4 filesystem data, UUID=7c0606a8-89c4-4ff6-9360-6a1f8aa65047 (extents) (large files) (huge files)
EBS ボリュームのマウント
マウントポイントを作成して mount コマンドを実行します。
$ sudo mkdir /data
$ sudo mount /dev/xvdf /data
使用できるようになりました。
$ ls /data
lost+found
アンマウントするためには以下のコマンドを実行します。'u'mount であって 'un'mount ではないことに注意してください。
$ sudo umount /data
起動時に自動でマウントされるように設定
EC2 インスタンスを停止すると EBS ボリュームがアンマウントされます。これは次回起動時に自動ではマウントされません。自動でマウントされるようにするためには /etc/fstab を編集します。
$ sudo cp /etc/fstab /etc/fstab.orig
$ sudo vi /etc/fstab
/etc/fstab
#
LABEL=/ / ext4 defaults,noatime 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/xvdf /data ext4 defaults,nofail 0 2 ← これを追記して保存
以下のコマンドを実行してエラーが出力されなければ正常に設定されています。
$ sudo mount -a
補足
ボリュームをアタッチしていない状態で EC2 インスタンスを起動するとエラーになります。/etc/fstab に nofail を記載することでマウントせずにエラーなく起動できます。
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- AWS EC2 インスタンスの選定方法準仮想化と完全仮想化 AWS のインスタンスタイプが準仮想化と完全仮想化のどちらの仮想化技術を採用したハードウェアであるかによって、使用できる AMI (OS) が異なるのは以下の理由によります。 準仮想化 ParaVirtualization (PV) において OS は自分が仮想化用のハードウェア上で動作していることを知っています。つまり仮想化用にカスタマイズされた専用の OS が必要になりま...
- OpenVPN で二つの VPC をつなぐための設定インターネット VPN (Virtual Private Network) には二拠点間の通信を暗号化する方式によって IPsec-VPN や SSL-VPN などがあります。OpenVPN は SSL-VPN の実装のひとつです。AWS VPC を二つ用意してそれらを OpenVPN で接続してみます。 VPC の構成 myvpc-1 (10.1.0.0/16) mysubnet-1-1 (10...
- Windows Server EC2 インスタンスへの CAL インストールWindows サーバを AWS EC2 インスタンスとして起動した後は、RDP 接続が必要となります。RDP 接続を行なうためには Remote Desktop Services (RDS) ライセンスが必要となります。 Windows Server のライセンスは、管理用途の RDS 接続を許可しています。その際に RDS ライセンスは不要です。ただし、[同時接続数が 2 という制限があります...
- AWS Lambda の基本的な使い方AWS Lambda はイベントドリブンな「関数」を登録できるサービスです。例えば S3 に画像がアップロードされたときにサムネイル用のサイズに加工する処理が記述された関数を登録できます。基本的な使い方をまとめます。 事前準備 関数の登録はブラウザで AWS コンソールにログインして行うこともできますが、本ページでは AWS C
- AWS 落穂拾い (Data Engineering)Kinesis Kinesis Streams データは 3 AZ にレプリケーションされます。Amazon Kinesis Data Streams FAQs 24 時間 (既定値) から 1 年までデータ保持できます。[Changing the Data Retention Period](https://docs.aws.amazon