Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
vagrant-awsにプルリしたら

マージされた話
自己紹介
• 名前:岩崎 裕馬
• Twitter:@yuma_iwasaki
• 所属:株式会社Speee
• 好きなこと:食べ歩き
• 愛称:ランチコンダクター
アジェンダ
• vagrant-awsとは?
• プルリした内容について
• 見つけた時の経緯
• その他
• Tips
vagrant-awsとは?
vagrant-awsとは?
• VagrantでAWSの操作を

行うことができるようになるプラグイン
• 「vagrant up —provider=aws」だけで

EC2インスタンスの起動が行える。
通常のVagrant
vagrant-aws
プルリした内容について
これだけです
内容としてはREADMEのみですが、

これを見つけるにも色々経緯があったので

その点をお話したいと思います。
見つけた時の経緯
見つけた時の経緯
• AMI起動時にEBSのサイズの指定を行えないか

探していた。
• 指定できない場合はawscliを使用するか、

EBSのサイズ毎のAMIを作るしかないと

考えていた。
どうしてもvagrant-aws内で

やりたかったので

思いついたことは
_人人人人人人人人人人人人人_
> 機能がなければ作ればいい!! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
とりあえず、

ソースを読みました
見たことない設定があるんですけど・・・

(しかも探しているやつっぽい)
とりあえず、ググりました
こんなものや
https://github.com/mitchellh/vagrant-aws/issues/119
こんなものまで見つかりました
http://docs.aws.amazon.com/AWSCloudFormation/latest/
UserGuide/aws-properties-ec2-blockdev-mapping.html
そして、無事にEBSの

ボリュームサイズの変更が

できるようになりました
実装サンプル
その他
vagrant-awsを本番運用で

使用するのは?
オススメできません
オススメできない理由
• vagrant-awsだけでは要件を満たせない場
合があったりして、結局、awscli等を使う
ことになるため。
例えば、

EIPを割り当てたい場合

(awscli)
# 付与するEIPを定義	
EIP=“xxx.xxx.xxx.xxx”	
# インスタンスのIDを取得	
INSTANCE_ID=`cat .vagrant/machines/defau...
こういった場合はawscli等で

最初から取り組んでおいた方が
いいと思います。
vagrant-awsの

オススメの使用方法
ヌーラボのインフラ運用最前線 ∼イミュータブル
を目指して
http://nulab-inc.com/ja/blog/nulab/nulab-immutable-
infrastructure_1/
オススメの使用方法
vagrant-aws :インスタンス起動

       : プロビジョニング
vagrant-serverspec :テスト
vagrant-ami :AMI作成
それぞれを組み合わせることに
より、
テスト済みのAMIの作成が可能
先程のvagrant-awsでの

EIPの割り当てについて
_人人人人人人人人人人人人人_
> 機能がなければ作ればいい!! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
作りました
Vagrantfile
# 変更前(自ら指定したIPアドレスに設定できなかった)	
aws.elastic_ip = true	
!
# 変更後(IPアドレスの指定ができる!)	
aws.elastic_ip = ‘xxx.xxx.xxx.xxx’
プルリ投げました
https://github.com/mitchellh/vagrant-aws/pull/248
あとマージされるのを待つのみ!
Tips
インスタンスが起動している場合、「.vagrant/
machines/default/aws/id」には

awsのインスタンスIDが入っているので

「cat .vagrant/machines/default/aws/id」にて...
どういうことか?
Vagrantfile
# 変更前(自ら指定したIPアドレスに設定できなかった)	
echo ‘[起動済AWSのインスタンスID]’ >.vagrant/machines/default/aws/id	
!
# インスタンスへのSSH接続が可能	...
※動作保証外
wakateweb vagrant aws
wakateweb vagrant aws
wakateweb vagrant aws
Upcoming SlideShare
Loading in …5
×

wakateweb vagrant aws

  • Login to see the comments

wakateweb vagrant aws

  1. 1. vagrant-awsにプルリしたら
 マージされた話
  2. 2. 自己紹介 • 名前:岩崎 裕馬 • Twitter:@yuma_iwasaki • 所属:株式会社Speee • 好きなこと:食べ歩き • 愛称:ランチコンダクター
  3. 3. アジェンダ • vagrant-awsとは? • プルリした内容について • 見つけた時の経緯 • その他 • Tips
  4. 4. vagrant-awsとは?
  5. 5. vagrant-awsとは? • VagrantでAWSの操作を
 行うことができるようになるプラグイン • 「vagrant up —provider=aws」だけで
 EC2インスタンスの起動が行える。
  6. 6. 通常のVagrant
  7. 7. vagrant-aws
  8. 8. プルリした内容について
  9. 9. これだけです
  10. 10. 内容としてはREADMEのみですが、
 これを見つけるにも色々経緯があったので
 その点をお話したいと思います。
  11. 11. 見つけた時の経緯
  12. 12. 見つけた時の経緯 • AMI起動時にEBSのサイズの指定を行えないか
 探していた。 • 指定できない場合はawscliを使用するか、
 EBSのサイズ毎のAMIを作るしかないと
 考えていた。
  13. 13. どうしてもvagrant-aws内で
 やりたかったので
 思いついたことは
  14. 14. _人人人人人人人人人人人人人_ > 機能がなければ作ればいい!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  15. 15. とりあえず、
 ソースを読みました
  16. 16. 見たことない設定があるんですけど・・・
 (しかも探しているやつっぽい)
  17. 17. とりあえず、ググりました
  18. 18. こんなものや https://github.com/mitchellh/vagrant-aws/issues/119
  19. 19. こんなものまで見つかりました http://docs.aws.amazon.com/AWSCloudFormation/latest/ UserGuide/aws-properties-ec2-blockdev-mapping.html
  20. 20. そして、無事にEBSの
 ボリュームサイズの変更が
 できるようになりました
  21. 21. 実装サンプル
  22. 22. その他
  23. 23. vagrant-awsを本番運用で
 使用するのは?
  24. 24. オススメできません
  25. 25. オススメできない理由 • vagrant-awsだけでは要件を満たせない場 合があったりして、結局、awscli等を使う ことになるため。
  26. 26. 例えば、
 EIPを割り当てたい場合
 (awscli) # 付与するEIPを定義 EIP=“xxx.xxx.xxx.xxx” # インスタンスのIDを取得 INSTANCE_ID=`cat .vagrant/machines/default/aws/id | sed “s/$//g"` # EIPの付与
 aws associate-address --instance-id ${INSTANCE_ID} —public-ip $ {EIP}
  27. 27. こういった場合はawscli等で
 最初から取り組んでおいた方が いいと思います。
  28. 28. vagrant-awsの
 オススメの使用方法
  29. 29. ヌーラボのインフラ運用最前線 ∼イミュータブル を目指して http://nulab-inc.com/ja/blog/nulab/nulab-immutable- infrastructure_1/
  30. 30. オススメの使用方法 vagrant-aws :インスタンス起動
        : プロビジョニング vagrant-serverspec :テスト vagrant-ami :AMI作成
  31. 31. それぞれを組み合わせることに より、 テスト済みのAMIの作成が可能
  32. 32. 先程のvagrant-awsでの
 EIPの割り当てについて
  33. 33. _人人人人人人人人人人人人人_ > 機能がなければ作ればいい!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  34. 34. 作りました
  35. 35. Vagrantfile # 変更前(自ら指定したIPアドレスに設定できなかった) aws.elastic_ip = true ! # 変更後(IPアドレスの指定ができる!) aws.elastic_ip = ‘xxx.xxx.xxx.xxx’
  36. 36. プルリ投げました https://github.com/mitchellh/vagrant-aws/pull/248
  37. 37. あとマージされるのを待つのみ!
  38. 38. Tips インスタンスが起動している場合、「.vagrant/ machines/default/aws/id」には
 awsのインスタンスIDが入っているので
 「cat .vagrant/machines/default/aws/id」にて
 簡単にインスタンスIDの取得が可能
  39. 39. どういうことか?
  40. 40. Vagrantfile # 変更前(自ら指定したIPアドレスに設定できなかった) echo ‘[起動済AWSのインスタンスID]’ >.vagrant/machines/default/aws/id ! # インスタンスへのSSH接続が可能 vagrant ssh # インスタンスの終了が可能 vagrant destroy
  41. 41. ※動作保証外

×