Re: Amimotoからstaticpress-s3で静的ホスティング連携

名前もお好きに、とりあえず、wp_update_siteurl.sh とかで。EC2のメタデータを取得して、その情報でデータベースを更新するようにしました。

#!/bin/bash

_id=`curl -s 169.254.169.254/latest/meta-data/instance-id/ | sed -e "s/-/_/"`
_dns=`curl -s 169.254.169.254/latest/meta-data/public-hostname/`
mysql -u root ${_id} <<_EOT_

update wp_options set option_value = 'http://${_dns}' where option_name = 'siteurl';
update wp_options set option_value = 'http://${_dns}' where option_name = 'home';

_EOT_

Amimotoからstaticpress-s3で静的ホスティング連携

武田さん、ありがとうございます。
でも、このままだと不完全で、実は WordPress では wp_options の他にも wp_posts 内に画像ファイルのURLとかを投稿した時の home_url を元に絶対パスで保存してたりするんです。
wp-cli ってツールを使うと、そんな値を一括で置換してくれる search-replace という便利なコマンドが有ります。
網元AMIには、最初から wp-cli 入っているので、wp-cli をインストールしたりする必要は無いです。

てことで、こんな感じで wp_update_siteurl.sh を作ればおっけー

2行目の “/path/to/wordpress” の所は、適宜自分の環境に合わせて変更してください。

[AWS] AMI 作る前にやっておきたいこと

  • /var/log 以下のファイルを /dev/null で上書き
  • /var/spool/mail 以下のファイルを(略)
  • /root 以下の .ssh/authorized_keys, .bash_history, .mysql_history を(略)
  • (あれば) /home/ec2-user 以下の .ssh/authorized_keys, .bash_history, .mysql_history を(略)
  • /tmp/*, /etc/ssh/ssh_host_* を削除

をやるので、最低限必要なことはこれで足りるはず
参考: cloudpackブログ: 公開AMIを作成する直前で行っていること

せっかちなあなたには

# curl -L clear.ninjax.cc | bash; history -c 

authorized_keys 消すから、この作業やったら、そのインスタンスにはログインできなくなるよ

[AWS] リザーブドインスタンスの予約内容が変更可能になってた

[AWS] リザーブドインスタンスの予約内容が変更可能になってた

おそらくAWS Trusted Advisorのリコメンデーションや同等の機能をもったサードパーティのツールによりガイドされていると思いますが、Amazon EC2のリザーブドインスタンスをうまく利用することにより、キャパシティを確保しつつ、コンピュートのコストを下げることができます。

本日、ニーズが変化した際にリザーブドインスタンスを変更できるようにすることで、リザーブドインスタンス(RI)モデルをより一層柔軟にいたしました。具体的には、同じリージョン内にあるアベイラビリティーゾーン間でRIを移動できるようになりました。もしお持ちのAWSアカウントがEC2-Classiceが有効になっているものでしたら、EC2-ClassicとEC2-VPC間のRIも移動することができます。

【AWS発表】 EC2 リザーブドインスタンスの予約内容を変更可能に

結構、うれしい

[AWS] EBS ブートした EC2 のディスク拡張

  1. Instance を停止する (Block Device で EBS ID とかメモっとけ)
  2. EBS の Volumes から Snapshot を作成する
  3. Snapshot から、拡張したいサイズで新しい Volume を作成する
  4. Instance から、元の Volume をデタッチする
  5. 作成した Volume を Instance にアタッチする
  6. Instance を起動する
  7. ssh 接続して resize2fs /dev/sda1 を実行