LoginSignup
4
5

More than 5 years have passed since last update.

chef実践入門 実機にて実施メモ(4) vagrantでAWSを利用する

Last updated at Posted at 2015-06-11

Chef実践入門 第5章のvagrantによるクックブック開発環境の構築 5.6 VagrantでAmazonEC2を利用する を実機にて検証したメモ
この部分はchefはあまり関係ない

0.環境前提

MacOSX vagrant インストール済み

1.vagrant-awsプラグインのインストール

vagrant plugin install vagrant-aws
vagrant plugin list

2.dummyboxのインストール

Amazon EC2をVagrantで利用する際にはdummyboxという AMIを利用する為のboxが必要となる。以下コマンドでbox追加する。

vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
#確認
vagrant box list 

3.AWSでセキュリティグループとキーペアの作成

(1)AWSのマネジメントコンソールで自IPからSSH接続可能なセキュリティグループを作成

Kobito.J7A67M.png

(2)キーペアを作成

  Kobito.K4UVV0.png
  ダウンロードされたキーペアを適当な場所に保管する。
 

4.zshをこの期にインストール

(1)HomeBrewでインストールしてデフォルトシェルに設定

```bash:
brew install zsh
vi /etc/shells 
```

```bash:etc/shells
#最終行に以下追加
/usr/local/bin/zsh
```

デフォルトシェルをbashからzshに変更

```bash:
chsh -s /usr/local/bin/zsh
```

*この後ターミナルに入れなくなるトラブル発生。[こちら](http://umegusa.hatenablog.jp/entry/2012/07/21/155637 "こちら")を参考に解決

(2)~/.zprofileに環境変数を設定

```bash:~/.zprofile
export AWS_ACCESS_KEY_ID=XXX
export AWS_SECRET_KEY=XXX
export AWS_KEYPAIR_NAME=chef_practical_guide
export AWS_PRIVATE_KEY_PATH=XXX
```

+ sourceコマンドで読み込み

```zsh:
source ~/.zprofile
#確認
echo $AWS_ACCESS_KEY_ID
```

5.VagrantからEC2インスタンスを起動する設定

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

config.vm.box = "dummy"
ssh_username = "ec2-user"
region = "ap-northeast-1"
ami = "ami-cbf90ecb"
security_groups = "chef_practical_guide"
instance_type = "t2.micro"

# AWS設定
  config.vm.provider :aws do |provider, override|
    # AWS認証情報
    provider.access_key_id          = ENV['AWS_ACCESS_KEY_ID']
    provider.secret_access_key      = ENV['AWS_SECRET_KEY']
    provider.keypair_name           = ENV['AWS_KEYPAIR_NAME']

    # EC2インスタンスの設定
    provider.region                 = region

    # Amazon LinuxのAMIを指定
    provider.ami                    = ami

    provider.instance_type          = instance_type
    provider.instance_ready_timeout = 120
    provider.terminate_on_shutdown  = false

    # セキュリティグループ
    provider.security_groups        = [security_groups]
    # タグ(任意)。インスタンスに分かりやすい目印を付けたい場合。
    provider.tags                   = {
      "Name"        => "vagrant-aws",
      "Description" => "Boot from vagrant-aws",
    }


    # AWSへの接続ユーザおよび秘密鍵の指定
    override.ssh.username = ssh_username
    override.ssh.private_key_path   = ENV['AWS_PRIVATE_KEY_PATH']
    override.ssh.pty = true
  end 
end

6.EC2インスタンスの起動 (vagrantup.logにlog出力)

VAGRANT_LOG=info vagrant up --provider=aws > &vagrantup.log

7.確認

AWSのマネジメントコンソールでインスタンス起動確認 &ssh 接続確認 , vagrant haltでAWSのEC2インスタンスが停止する事も確認

 
 

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5