AmimotoというAWS上で超ハイパフォーマンスなWordPress環境を動かすためのソリューションがありまして、これを使うとほんとうに数分の手間でWordPressが立ち上がってくれやがります。
で、数年前までの手間暇を考えたらこれだけでも鼻血が出そうなぐらい便利になったんですが、実は最近ひそかに儲かっておりまして(笑)、マネージメントコンソールにログインして何回かクリックというこの手間がまあまあめんどくさくなってきました。
そこで、AmimotoをVagrantで起動できるようにすれば、コマンド一発でサイトが起動するじゃん!ということで、これが他ではありえないぐらいに簡単にWordPressが立ち上がっちゃうぞーってことで、そのやリ方をご紹介します。
https://github.com/Launch-with-1-Click/vagrant-amimoto
実際にはコマンド一発の前にいろいろインストールが必要なんですが、AWS使いのみなさんは当然Vagrantはインストール済みですよね!?w
Vagrantのセットアップ
これはまあそこら中のサイトで紹介されてますので適当にどうぞ。
今回の記事ではVagrantの1.5以降であることを前提としておりますので、バージョンが古い方は最新版にアップデートしてください。
vagrant-awsのインストール
Vagrantのセットアップが完了したら、vagrant-awsというプラグインをインストールしてください。
$ vagrant plugin install vagrant-aws
https://github.com/mitchellh/vagrant-aws
vagrant-amimotoをGitHubから入手
次にvagrant-amimotoをGitHubから入手してください。
git clone git@github.com:Launch-with-1-Click/vagrant-amimoto.git
環境変数をセット
vagrant-amimotoを入手したらAWSへVagrantからアクセスするためのアクセスキーとかの設定を.bash_profileに以下のように記述してください。
# https://console.aws.amazon.com/iam/home#home
export AWS_ACCESS_KEY="your aws access key"
export AWS_SECRET_ACCESS_KEY="your aws secret key"
# https://console.aws.amazon.com/ec2/v2/home#KeyPairs:
export AWS_EC2_KEYPAIR="your key pairs"
export AWS_EC2_KEYPAIR_PATH="/path/to/.ssh/id_rsa"
ちなみにアクセスキーやシークレットアクセスキーは、IAMから取得するといいです。
とりあえず僕はポリシーを以下の様な感じにしてますけど、許可し過ぎかもしれないので自己責任でお願いします。
{
"Statement": [
{
"Sid": "xxxxxxxxxxxxx",
"Action": [
"ec2:*"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}
アクセスキーとかをVagrantfileに書いて間違えてGitHubに公開しちゃうみたいなことをすると死人が出るので、絶対にやめたほうがいいです。
以上が完了したら、以下のコマンドで環境変数を読み込み直すかターミナルを再起動してください。
$ source ~/.bash_profile
早速立ち上げてみる!
以上のセットアップが完了したらあとは簡単です。
vagrant-amimotoをcloneしたディレクトリに移動して、vagrant upです。
$ cd vagrant-amimoto
$ vagrant up --provider=aws
たったこれだけで、数分待てばAWS上にWordPress環境が立ち上がります。
ちなみにサイトをターミネートするには普通に`destroy`するだけです。
$ vagrant destroy
これ、考えようによっては気持ち悪いので、IAMでターミネートを拒否しておくと安心かも。
SSHでログインする。
マネージメントコンソールで起動する従来の方法では、起動後にIPアドレスとかを調べてsshコマンドを入力していたと思います。
でも、vagrant-amimotoを使用すればたったこれだけ。
$ vagrant ssh
IPアドレスをコピペしたりする必要が全くありません。
Amimotoにファイルを転送する。
Amimotoから起動したサーバーにファイルを転送するのもびっくりするほど簡単です。
まずVagrantfileがあるディレクトリ内に適当にディレクトリを追加するなどして、そのなかにサーバーに転送したいファイルを置いてください。
あとは、以下のコマンドを一発実行するだけです。
$ vagrant rsync
vagrant-amimotoではデフォルトで、サーバー上の/vagrantにファイルが転送されるようになっていますが、これはVagrantfileに設定を追加することで、好きなディレクトリを同期させることができます。
http://docs.vagrantup.com/v2/synced-folders/rsync.html
そんなわけでVagrant+Amimotoの組み合わせは超簡単で、工夫をすればプロビジョニング後に自動的にコマンドを実行して任意のプラグインやテーマを自動的にインストールしたり、データのインポートもできます。
今後、こういうツール類もどんどん充実していくと思いますので、ぜひ一度使ってみてください。
最近の投稿
- WP Total Hacks 1.8.0 – Pingbackをブロックする機能を追加しました。
- Vagrant Shareを使ってVagrant上で構築中のWordPressを一時的にネットに公開!
- oEmbed Gist + Jetpack 2.9について
- WordPressで jQuery UI を使うときに、WordPressと同じバージョンのCSSをGoogleから取得する
- WordPressでget_*()を使うときは念のためソースを確認して適切に処理すべし!
- WordPressで画像のサイズの一覧とそれぞれのサイズを取得する
- 2013年の振り返り!
- Sphero2をLeap Motionで動かしちゃおー!(その2)
- Sphero2をLeap Motionで動かしちゃおー!
- oEmbed Instagram 1.4.0 – 動画にも対応しました!