VagrantでAWSのEC2インスタンスを作成する
概要
1. VagrantにAWS用のプラグインをインストール
2. AWS用にダミーBoxファイルを追加する
3. Vagrantfileの作成
4. インスタンスを起動する
作業環境
OS: MacOS X 10.9.5
VirtualBox: 4.3.22
Vagrant: 1.7.2
1. VagrantにAWS用のプラグインをインストール
vagrant-awsをインストールします。
$ vagrant plugin install vagrant-aws Installing the 'vagrant-aws' plugin. This can take a few minutes... Installed the plugin 'vagrant-aws (0.6.0)'!
2. AWS用にダミーBoxファイルを追加する
Vagrantの仕組み上、Boxファイルを追加する必要があります。
今回はダミーのBoxファイルを追加します。
$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
3. Vagrantfileの作成
Vagrantfileは以下のように記述します。
Vagrant.configure("2") do |config| config.vm.box = "dummy" config.vm.provider :aws do |aws, override| aws.access_key_id = 'AWSのアクセスキー' aws.secret_access_key = 'AWSのシークレットキー' aws.region = 'ap-northeast-1' aws.instance_type = 't2.micro' aws.ami = 'AMIのID' aws.security_groups = ['セキュリティグループ名'] aws.keypair_name = 'AWSのキーペア名' aws.tags = { 'Name' => 'タグ名' } # aws.user_data = '' override.ssh.username = "ec2-user" override.ssh.private_key_path = '秘密鍵までのパス' end end
各パラメータの意味は次の通りです。
•aws.access_key_id
AWSのアクセスキーを設定する
•aws.secret_access_key
アクセスキーに対するSecret Access keyを指定する
•aws.region
インスタンスを作成するリージョン(地域)を指定する
•aws.instance_type
インスタンスタイプを指定
•aws.ami
インスタンスのベースとするAMIのIDを指定する
•aws.security_groups
適用するセキュリティグループを指定する
•aws.keypair_name
インスタンスにSSHログインするときに使用する Key Pairs の名称を指定する
•aws.tags
インスタンスに付与するタグに関する指定を行う
•aws.user_data
起動時に設定するユーザデータを指定する。
コマンドやスクリプトを実行することもできる
•override.ssh.username
vagrant ssh でログインするときのユーザ名を指定する
•override.ssh.privat_key_path
vagrant ssh 時に使用する秘密鍵を指定。予め取得しておく
4. インスタンスを起動する
provider=awsでインスタンスを起動する。
$ vagrant up --provider=aws
以上になります。
参考:
Vagrant 1.1 で EC2 を vagrant up - naoyaのはてなダイアリー
Vagrant で AWS EC2 のインスタンスを使う | CUBE SUGAR STORAGE