今回はVagrantを使ってAWSのEC2のインスタンスを操作してみたいと思います。
※AWSのアカウントを持っておりVagrantがインストールされている前提です。
IAMユーザーの作成
AWSサービスにAPIでアクセスする為にアクセスキーを作成する必要があります
アクセスキーを作成する為IAMユーザーを作成します
アクセスキーを作成する為IAMユーザーを作成します
- グループの作成
まずはIAMコンソールにアクセスしログインする
- ユーザーの作成
EC2側の設定
EC2 Management Consoleを開く
- キーペアの作成 キーペアの作成はここを参照
- セキュリティグループの作成
- 起動するAMIのIDを確認
※リージョン毎にIDが異なるらしいので注意!!
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)'!
- Vagrantfile編集
vagrant init
でVagrantfileができたら↓に編集# -*- mode: ruby -*-
# vi: set ft=ruby :
AWS_ACCESS_KEY_ID = "XXXXXXXXX" # 保存したアクセスキー
AWS_SECRET_KEY = "XXXXXXXXXXXX" # 保存したシークレットキー
Vagrant.configure(2) do |config|
config.vm.box = "dummy"
config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider "aws" do |aws, override|
aws.ami = "XXXXXXXXXXXXX" # 確認したAMI-ID
aws.tags = { 'Name' => 'VagrantEC2' } # 適当な名前に設定
aws.instance_type = "t2.micro" # 必要に応じて調整
aws.security_groups = "vagrant" # 作成したセキュリティグループ
aws.access_key_id = AWS_ACCESS_KEY_ID
aws.secret_access_key = AWS_SECRET_KEY
aws.region = "ap-northeast-1" # 必要に応じて調整
aws.keypair_name = "XXXX" # 作成したキーペア
override.ssh.username = "ec2-user"
override.ssh.private_key_path = "~/.ssh/XXXX.pem" # 作成したキーペア
end
end
いざ!!Vagrantを起動してみる
vagrant up --provider=aws
後は普通にVagrantと同じように操作が可能
- 起動
$ vagrant ssh
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/
No packages needed for security; 7 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-XXX-XX-XX-XXX ~]$
- 状態確認
$ vagrant status
Current machine states:
default running (aws)
The EC2 instance is running. To stop this machine, you can run
`vagrant halt`. To destroy the machine, you can run `vagrant destroy`.
- 停止
$ vagrant halt
- 削除
$ vagrant destory -f
0 件のコメント:
コメントを投稿