SlideShare a Scribd company logo
Japan SoftLayer User Group
Vagrantから
SoftLayerの
仮想サーバーを
操作する
2016.3.4
話す人
玉川 雄一
• 日本アイ・ビー・エム シニアITスペシャリスト
• SoftLayerのテクニカルセールス
• プリセールス活動
• 技術情報の発信
• 共著でSoftLayerの本を書きました →
@y_tama
2016/2/26 発売しました!
• 仮想サーバーを簡単に作成&管理できる開発者向けツール
• vagrant up(作成) / destroy(削除) / halt(停止) / rebuild(再構築) etc
• 同じ設定ファイルがあれば、同じ構成の開発環境が作れる
• Rubyで書かれたOSS
• 元々はVirtualbox用に作られた
• 現在は様々なプラグインが存在し、SoftLayer, AWS, VMwareなどにも対応
• 「vagrant up」だけで、様々な仮想化基盤上にサーバーが作れる
• Mitchell Hashimoto氏が2010年にVagrant ver0.1をリリース
• 2012年にHashicorp設立 (Vagrant, Packer, Consul, Serf etc)
Vagrant とは
今回の構成
SoftLayer
インターネット
親サーバー
CentOS
操作対象の
仮想サーバー
SSH接続
②API呼び出し
SoftLayer API
OS Image または
Image Template
③サーバー作成
SoftLayer
プラグイン
①vagrant up
④vagrant ssh
秘 公
SSH公開鍵
ユーザーID
APIキー
事前準備
2
事前準備
1
事前準備1
• SoftLayerのユーザーID+APIキー をメモ
ユーザーID
APIキー
事前準備2
• SSH公開鍵の登録
SSH公開鍵(事前にどこかの
Linux環境でssh-keygenコマ
ンドで作成)
対になる秘密鍵は親サーバーに
配置する
インストール (親サーバーへの操作)
• Vagrant本体
# rpm -ivh https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.rpm
• SoftLayerプラグイン
# vagrant plugin install vagrant-softlayer
[root@vagrant01 ~]# vagrant plugin install vagrant-softlayer
Installing the 'vagrant-softlayer' plugin. This can take a few minutes...
Installed the plugin 'vagrant-softlayer (0.4.0)'!
[root@vagrant01 ~]# vagrant list
vagrant-share (1.1.5, system)
vagrant-softlayer (0.4.0)
[root@vagrant01 ~]#
設定ファイル(Vagrantfile)にSoftLayer用の設定を追記
README: https://github.com/audiolize/vagrant-softlayer/blob/master/README.md
config.vm.provider :softlayer do | sl, override |
sl.api_key = ”xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
sl.username = “xxxxxxxx"
sl.datacenter = “che01”
sl.dedicated = false
sl.domain = "softlayer.com”
sl.disk_capacity = { 0 => 25 }
# sl.private_only = true
sl.force_private_ip = true
sl.hostname = "vagrant03"
sl.hourly_billing = true
sl.image_guid = nil
sl.local_disk = false
sl.max_memory = 1024
sl.network_speed = 100
sl.operating_system = "CENTOS_LATEST"
sl.ssh_key = [ "tamatest_key" ]
sl.start_cpus = 1
override.ssh.username = "root"
end
チェンナイDCに1コア/1GBメモリ
/25GBディスク/100Mbps NIC/最新
のCentOSでサーバーを作る。
サーバー名は
vagrant03.softlayer.com
事前準備1でメモしたSoftLayer
のユーザーIDとAPIキー
Private IP
のみ付与
Private IP
側から操作
vagrant up
[root@vagrant01 vagrant]# vagrant up
Bringing machine 'default' up with 'softlayer' provider...
==> default: Creating a new SoftLayer instance...
==> default: Waiting for instance provisioning. This may take a few minutes...
==> default: SoftLayer instance successfully provisioned!
==> default: Waiting for machine to boot. This may take a few minutes...
(中略)
==> default: Machine booted and ready!
[root@vagrant01 vagrant]# vagrant ssh
[root@vagrant03 ~]#
親サーバー
作成中の対象サーバー
イメージのID(guid)を指定し、テンプレート・イメージからのサーバー作成も可能
# slcli image list
:......................................:....................................................:....................:............:.........:
: guid : name : type : visibility : account :
:......................................:....................................................:....................:............:.........:
: 719113ed-c060-43f3-8c5c-8889f8b4df01 : 25GB - Ubuntu / Ubuntu / 14.04-64 Minimal for VSI : System : Public : 208938 :
: b14a49a2-648b-4cea-9194-17120e98138f : 25GB - Ubuntu / Ubuntu / 12.04-64 Minimal for VSI : System : Public : 208938 :
: 2402ec54-6dd8-4391-846a-772406fa76cd : 25GB - Redhat / EL / 5.5-64 Minimal for VSI : System : Public : 208938 :
: 56c35934-1caa-408f-9e38-b36e4368e3b7 : 100GB - Ubuntu / Ubuntu / 14.04-32 Minimal for VSI : System : Public : 208938 :
: 0e4b036f-8287-4ff9-ac9b-77883c245e49 : 100GB - Redhat / EL / 5.5-32 Minimal for VSI : System : Public : 208938 :
: f5d6c60f-d6cf-4d0b-a424-5e661e2dea47 : 100GB - Debian / Debian / 8.0.0-64 Minimal for VSI : System : Public : 208938 :
Public=誰でも使えるイメージ
Private=自分が取得したイメージ
slcliで確認
config.vm.provider :softlayer do | sl, override |
sl.api_key = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
sl.username = “xxxxxxxx"
sl.datacenter = “sea01"
sl.dedicated = false
sl.domain = "softlayer.com"
sl.disk_capacity = { 0 => 25 }
sl.force_private_ip = true
sl.hostname = "vagrant03"
sl.hourly_billing = true
sl.image_guid = “719113ed-c060-43f3-8c5c-8889f8b4df01”
sl.local_disk = false
sl.max_memory = 1024
sl.network_speed = 100
sl.operating_system = nil
sl.ssh_key = [ "tamatest_key" ]
sl.start_cpus = 1
override.ssh.username = "root"
end
OSタイプは明示的にNILを指定(guidと両
方書いてあるとエラーになる)
イメージのID(guid)を指定し、テンプレート・イメージからのサーバー作成も可能
[root@vagrant01 vagrant]# vagrant up
Bringing machine 'default' up with 'softlayer' provider...
==> default: Creating a new SoftLayer instance...
==> default: Waiting for instance provisioning. This may take a few minutes...
==> default: SoftLayer instance successfully provisioned!
==> default: Waiting for machine to boot. This may take a few minutes...
(中略)
==> default: Machine booted and ready!
[root@vagrant01 vagrant]# vagrant ssh
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic x86_64)
* Documentation: https://help.ubuntu.com/
root@vagrant03:~#
イメージのID(guid)を指定し、テンプレート・イメージからのサーバー作成も可能
Vagrant+shell provision
• vagrant upの処理の中で、親サーバーに置いたスクリプトを、対象サーバー上で実行できる。
• サーバー作成後の定型作業に便利(例:iptablesの設定、OSユーザー作成、ソフトウェアの導入 etc)
• SoftLayerのProvisioning scriptでも同様の事ができるが、スクリプトをHTTPSサーバーに配置しておく必
要がある。→ Vagrantのほうが手軽。
• Vagrantfileに下記を追記
config.vm.provision :shell, :path => "./provisioning.sh",:privileged => true
#!/bin/sh
# yum update all
yum -y update
# install apach webserver
yum install -y httpd
service httpd start
chkconfig httpd on
スクリプト例:
最新のOSパッチを適用し、ウェブサー
バーを導入・起動する
Vagrant+chef(ローカルモード)
• OSに Development Tools導入
• Chef Development Kit 導入(chef, ruby, gem)
• Vagrantプラグイン(vagrant-omnibus、vagrant-chef-zero)導入
• Berksfile作成
• Cookbook作成(berks vendor cookbooks)
• Vagrantfileにchef用設定追記
config.vm.provision "chef_zero" do |chef|
# Specify the local paths where Chef data is stored
chef.cookbooks_path = "./chef-repo/cookbooks"
chef.roles_path = "./chef-repo/roles"
chef.nodes_path = "./chef-repo/cookbooks"
# Add a recipe
chef.add_recipe "apache2"
end
[root@vagrant01 chef-repo]# cat Berksfile
source "https://supermarket.chef.io"
cookbook 'apache2'
[root@vagrant01 chef-repo]#
親サーバーに追加設定
Vagrant+chef(ローカルモード)
• vagrant upで、chefのレシピまで実行される環境が作れる。
• VagrantとChefを組み合わせて使うメリット
 OS環境による差異をある程度chefが吸収してくれる
 既存の資産(recipe、スキル)を使える
参考リンク
VagrantでSoftLayerを操作する
http://niccloud.niandc.ne.jp/?p=749
SoftLayer Tips プロビジョニング・スクリプトとSSH鍵でのログイン
https://ibm.biz/BdH4Yu
Vagrant と Chef による仮想環境構築の自動化(VirtualBox編)
https://www.ogis-ri.co.jp/otc/hiroba/technical/vagrant-chef/chap1.html
初めての Vagrant + Chef zero + Berkshelf
http://qiita.com/tsuyopooon/items/d90679d9f8b5ccfcfde5
Chef Zero Provisioner
https://www.vagrantup.com/docs/provisioning/chef_zero.html
Error: Missing required value for `chef.nodes_path'.
https://github.com/r8/vagrant-lamp/issues/134
ソフトレイヤー活用ガイド コマンドでサーバーをオーダーするには?
https://www.change-makers.jp/post/10352
ご清聴ありがとうございました
この資料に含まれる情報は可能な限り正確を期しておりますが、日本アイ・ビー・エム株式会社の正式なレビューを受けておらず、当資料に記載
された内容に関して日本アイ・ビー・エムは何ら保証するものではありません。
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それら
は情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような
結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供
され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関
連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライ
ヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契
約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であること
を暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の
決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したもので
はありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述
べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において
標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーの
ジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、
数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありま
せん。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示
されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM, IBM ロゴ、ibm.com, SoftLayerは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。

More Related Content

PPTX
社内システムの移行に役立った“時間節約”方法~PowerShellとExcelを上手に使おう
PDF
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
PDF
Hyper-V エンタープライズ設計の現実解:2015 年版
PDF
Windows Server 2016でコンテナを動かしてみた
PPTX
Azureで始めるDevOps
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
PPTX
Swarm mode運用してみた
社内システムの移行に役立った“時間節約”方法~PowerShellとExcelを上手に使おう
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V エンタープライズ設計の現実解:2015 年版
Windows Server 2016でコンテナを動かしてみた
Azureで始めるDevOps
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Swarm mode運用してみた

What's hot (19)

PDF
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
PPTX
DevOps on azure 高品質クラウドデザインを求めて
PPTX
5分でインストール!awsでzabbix3.0
PPTX
Soft layerと運用管理の自動化・省力化あれこれ
PDF
トラブルから理解するHyper vの基礎
PDF
Hyper vを理解する
PPTX
実プロジェクトの経験から学ぶazureサービス適用パターン
PPTX
できる!KickstartとAnsible!
PDF
Windows Server 2012 R2 Essentialsの魅力 - 手間暇かけずに活用しよう!
PDF
Linuxサーバのセキュリティ対策 part2 - Apache編
PDF
サーバ構築を自動化する 〜Ansible〜
PDF
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
PPTX
中小企業向けWindows Server OSの底力~Microsoft オンライン サービスとの統合
PDF
Infrastructure as Codeの取り組みと改善
PPTX
ロール適用ツール ~ansible art~
PPTX
中小企業向けWindows Server OSの基本とTips
PDF
サーバー設定のお話
PDF
Windows server2016注目の新機能
PPTX
Windows Server Essentials用PowerShell コマンドレットを使ってみよう!
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
DevOps on azure 高品質クラウドデザインを求めて
5分でインストール!awsでzabbix3.0
Soft layerと運用管理の自動化・省力化あれこれ
トラブルから理解するHyper vの基礎
Hyper vを理解する
実プロジェクトの経験から学ぶazureサービス適用パターン
できる!KickstartとAnsible!
Windows Server 2012 R2 Essentialsの魅力 - 手間暇かけずに活用しよう!
Linuxサーバのセキュリティ対策 part2 - Apache編
サーバ構築を自動化する 〜Ansible〜
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
中小企業向けWindows Server OSの底力~Microsoft オンライン サービスとの統合
Infrastructure as Codeの取り組みと改善
ロール適用ツール ~ansible art~
中小企業向けWindows Server OSの基本とTips
サーバー設定のお話
Windows server2016注目の新機能
Windows Server Essentials用PowerShell コマンドレットを使ってみよう!
Ad

Similar to Vagrant on SoftLayer (20)

PDF
Vagrant intro
PDF
開発現場で活用するVagrant
PPTX
勉強会0614 vagrant
PDF
Vagrant を Web開発環境に使う
PDF
お試し用のLinux環境を作る
PDF
Vagrant体験入門
PDF
Vagrantと網元で開発環境を作ってみよう
PDF
Vagrant で作る PHP 開発環境 [実践編]
PDF
OpenNebula on Ubuntu
PDF
Vagrant でお手軽開発環境
PDF
Vagrant+Chef
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PPTX
PDF
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
PPTX
Transnet.+ lunch mt #1
PDF
VagrantユーザのためのDocker入門
PPTX
microPCFを使ってみよう
PPTX
3分間 開発環境クッキング 2012.07 #pyfes
PPTX
Vagrant chef
PDF
Vagrantのすすめ
Vagrant intro
開発現場で活用するVagrant
勉強会0614 vagrant
Vagrant を Web開発環境に使う
お試し用のLinux環境を作る
Vagrant体験入門
Vagrantと網元で開発環境を作ってみよう
Vagrant で作る PHP 開発環境 [実践編]
OpenNebula on Ubuntu
Vagrant でお手軽開発環境
Vagrant+Chef
CloudFoundry 2 on Apache CloudStack 4.2.1
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
Transnet.+ lunch mt #1
VagrantユーザのためのDocker入門
microPCFを使ってみよう
3分間 開発環境クッキング 2012.07 #pyfes
Vagrant chef
Vagrantのすすめ
Ad

More from Yuichi Tamagawa (8)

PDF
VMware が考えるコンテナと Kubernetes の世界
PDF
IBM Bluemix Infrastructure (SoftLayer) introduction
PDF
今日からIT女子になる!クラウド基礎~SoftLayer入門編
PDF
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
PDF
Zabbix on SoftLayer
PDF
Japan SoftLayer Girls Group Meetup Vol.2 SoftLayer Introduction
PDF
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
PDF
第5回札幌SoftLayer勉強会 Power on SoftLayer & AMM
VMware が考えるコンテナと Kubernetes の世界
IBM Bluemix Infrastructure (SoftLayer) introduction
今日からIT女子になる!クラウド基礎~SoftLayer入門編
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
Zabbix on SoftLayer
Japan SoftLayer Girls Group Meetup Vol.2 SoftLayer Introduction
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
第5回札幌SoftLayer勉強会 Power on SoftLayer & AMM

Vagrant on SoftLayer