📝
ECS on EC2 のインスタンスにボリュームを追加してみた
EC2 インスタンス A のボリュームを EC2 インスタンス B に追加してみました。
前提
- ecsInstanceRole には AdministratorAccess 権限を付与
手順概要
- ECS クラスター作成
- EC2 インスタンス A にテストデータ作成
- EC2 インスタンス A のボリュームからスナップショットを作成
- スナップショットからボリュームを作成
- EC2 インスタンス B にボリュームをアタッチ
- EC2 インスタンス B でデータを確認
1. ECS クラスター作成
- インフラストラクチャ: Amazon EC2 インスタンス
- 必要な容量: 最小 2, 最大 2
上記以外はデフォルト設定で作成しました。
2. EC2 インスタンス A にテストデータ作成
EC2 インスタンスに接続してテストデータを作成します。
今回はセッションマネージャーで接続しました。
$ cd ~
$ mkdir -p ~/test-data
$ echo "Hello from Instance A!" > ~/test-data/message.txt
$ echo "Created on $(date)" >> ~/test-data/message.txt
3. EC2 インスタンス A のボリュームからスナップショットを作成
デフォルト設定でスナップショットを作成します。
4. スナップショットからボリュームを作成
EC2 インスタンス B の AZ と同じ AZ にボリュームを作成します。
5. EC2 インスタンス B にボリュームをアタッチ
EC2 インスタンス B に新しいボリュームをアタッチします。
6. EC2 インスタンス B でデータを確認
EC2 インスタンス B に接続してデータを確認します。
# アタッチされたディスクを確認
$ lsblk
# マウントポイントを作成
$ sudo mkdir -p /mnt/instance-a-data
# XFS ツールをインストール
$ sudo yum install -y xfsprogs
# ファイルシステムを修復(ログ破棄)
$ sudo xfs_repair -L /dev/nvme1n1p1
# 重複 UUID を解決するため新しい UUID を生成
$ sudo xfs_admin -U generate /dev/nvme1n1p1
# ボリュームをマウント
$ sudo mount -t xfs /dev/nvme1n1p1 /mnt/instance-a-data
# マウント成功確認
$ df -h | grep instance-a-data
# インスタンス A で作成したテストデータを確認
$ cat /mnt/instance-a-data/home/ssm-user/test-data/message.txt
Hello from Instance A!
Created on Wed Jul 30 05:13:58 UTC 2025
インスタンス A で作成したテストデータをインスタンス B で確認できました。
まとめ
今回は ECS on EC2 のインスタンスにボリュームを追加してみました。
どなたかの参考になれば幸いです。
Discussion