EC2のHelloWorld

2015/01/09

EC2でインスタンスを立てる方法について備忘録です。
今回はEC2のインスタンス作成からchefのインストールまでの流れを列挙します。

インスタンスを作成

  1. EC2作成のランチャーを起動します
    EC2 Dashboard -> Launch Instance を選択
  2. AMIを選択
    私の場合はAmazon Linux AMI 2014.09.1 (HVM) を選択
  3. インスタンスを選択します
    無料の範囲でやりたいため t2.micro を選択
  4. インスタンスの詳細設定
    今回は特に設定はいじらずデフォルトでいきます
  5. Storageを作成します
    デフォルトでは8GiBですが増やしても値段はそんなに変わらなかったため20GiBにしました。
    無料枠いっぱいにする場合は30GiBまでいけます。
  6. インスタンスにタグ付けします
  7. セキュリティの設定をします
    とりあえずSSHの設定のみにしますが対象IPをMy IPのみにし他からのアクセスをできないようにします
  8. Preview画面で内容に間違いがないことを確認します
  9. 最後にSSHでログインするための公開鍵を作成しダウンロードします

SSH

  • ダウンロードした公開鍵を $HOME/.ssh/aws.pem にコピー
  • $HOME/.ssh/aws.pem のパーミッションに600を付与
  • $HOME/.ssh/config を作成
Host aws
User ec2-user
HostName ec2-XX-XX-XX-XXX.ap-northeast-1.compute.amazonaws.com
IdentityFile ~/.ssh/aws.pem

HostNameについてはEC2のコンソールを参照してください。

SSHでログイン

ssh aws

chefをインストール

sudo yum -y install ruby-devel
sudo yum install gcc
sudo gem install chef

chefの設定

質問事項はすでてデフォルトでかまいません。

knife configure

chefのレシピ作成

chefのレシピの内容についてはchefの関連サイト等を参考にしてください。

mkdir chef-repo
cd chef-repo
knife cookbook create hello -o cookbooks
# サーバでのインストール内容を記述
vi cookbooks/hello/recipes/default.rb

chefの実行

# 実行対象レシピが格納されるフォルダ指定
vi solo.rb
# 実行対象レシピを指定
vi localhost.json
# レシピを実行
sudo /usr/local/bin/shef-solo -c solo.rb -j ./localhost.json

さいごに

EC2インスタンスを作成しEC2のコンソール上でchefをいれるところを書きました。
EC2のコンソール上でいろいろとやると手順がめんどうなので次回以降はローカルにchefをいれてEC2を管理できるとよいと思います。