AWSのEC2にElastic Block Store(EBS)を紐付けする手順です。サーバを新規作成した際には、仕様に応じて事前にストレージの容量設計をしておくと後で不要なエラーを発生させずに、捗ります。てか、よくそこで数ヵ月後にハマりますw
昨日やっていて設定でハマってしまったので忘備録を兼ねてメモです。
😎 公式ドキュメント
Amazon EBS ボリュームを使用できるようにする
AWSは進歩がすごく早いので、ググった情報だとうまく動かず、かなりハマってしまいました。公式ドキュメントが一番信頼できると実感しています。
🗻 手順
AWSのコンソール画面内のEBS(Elastic Block Store)でボリュームを作成。インスタンスに紐付け。
# 用語説明
device_name => /dev/xvdx # ボリュームを割り当てると自動で設定される
mount_point => /path/to # 割り当てたいフォルダを作成
# 使用可能なディスクを確認するコマンド lsblk
# ext4 ファイルシステムを作成 sudo mkfs -t ext4 device_name
# ボリュームを割り当て sudo mkdir mount_point sudo mount device_name mount_point
# 再起動時に自動で割り当てされるように設定 sudo cp /etc/fstab /etc/fstab.org sudo vim /etc/fstab # 下のように書き換え # /dev/xvdx /path/to ext4 defaults 0 2
# Waring/Errorが出なければ設定成功 sudo mount -a
|
😸 おまけ: MySQLのデータディレクトリをEBSに差し替え
MySQLにログインして以下を実行すると、データベースのディレクトリが出ます。
mysql -u root -p show variables like 'datadir';
|
ここで出たデータベースのデータディレクトリを/パス/to/MySQL/new/
とします。ここをEBSのフォルダに差し替えます。
# MySQLを停止 sudo /etc/init.d/mysql stop
sudo vi my.cnf # ↓ 以下の様に変更 innodb_data_home_dir=/path/to/mysql/new/ innodb_log_group_home_dir=/path/to/mysql/new/
sudo vi /etc/init.d/mysql # ↓ 以下の様に変更 datadir=/path/to/mysql/new/
# 旧ディレクトリ => 新ディレクトリへのコピー cp -pR /path/to/mysql/old/* /path/to/mysql/new/
# フォルダの権限変更 chmod -R mysql.mysql /path/to/mysql/new
# MySQLを再起動 /etc/init.d/mysql start
# 動作確認(ログインできること・データ変更できることを確認) mysql -u root -p
# 古いフォルダを削除 rm -rf /path/to/mysql/old
|
インフラは苦手ですので、いろいろご指摘いただければ幸いです!
🎂 参考リンク
MySQLのデータベースの場所を調べたり、ディレクトリ変更したりのメモ
MySQLのデータディレクトリを移動する
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!