SlideShare a Scribd company logo
1 of 13
1分ではじめる、クラウドのようなVPS
ConoHa VPSの
コマンドラインツールを作った
2015/02/27 オープンソースカンファレンス2015 Tokyo
1分ではじめる、クラウドのようなVPS
自己紹介
• 斉藤弘信
• GMOインターネット株式会社
テクニカルエバンジェリスト
• ConoHa担当
1分ではじめる、クラウドのようなVPS
ConoHa
• ご存知(?)VPSサービス
• ブース出しています
https://www.conoha.jp/
1分ではじめる、クラウドのようなVPS
コマンドラインツール
• ConoHaはAPIがない
• コマンドライン操作したい
• 自動化したい
• 某toolbeltっぽいことしたい
某toolbelt
1分ではじめる、クラウドのようなVPS
つくった
https://github.com/hironobu-s/conoha-vps
1分ではじめる、クラウドのようなVPS
スペック
• Go言語実装 & シングルバイナリ
• VPSのステータス取得(IPアドレスなど)
• VPS追加/削除/起動/停止
• VPSへの直接ログイン(SSH経由)
1分ではじめる、クラウドのようなVPS
インストール
L=/usr/local/bin/conoha && curl -sL https://github.com/hironobu-
ワンライナーでできる!
(WindowsはZIPを展開するだけ)
1分ではじめる、クラウドのようなVPS
いつの間にArch Linuxのリポジトリに入ってた
1分ではじめる、クラウドのようなVPS
実行すると
1分ではじめる、クラウドのようなVPS
VPS詳細表示
1分ではじめる、クラウドのようなVPS
Go言語 所感(1)
• 型に厳しいのは良い。型を柔軟に作れるのも良い。
• エラーハンドリングを強制してくれるのも良い
• 未使用の変数、未使用のパッケージがあるとエラーになるのも良
い
• 周辺ツールがそろっていて良い
gofmt(コードフォーマッター) godef(関数ジャンプ) gocode(コード補完)
• クロスコンパイルが簡単
(TravisCIでMac Win LinuxのバイナリをビルドしてGitHub Releaseにアップ)
1分ではじめる、クラウドのようなVPS
Go言語 所感(2)
• $GOPATHで迷う(最初だけ)
• import “github.com/name/pkgname”
とか出てきて最初はわりとギョッとする。
• if err != nil { return err }
を死ぬほど書かされる
1分ではじめる、クラウドのようなVPS
というわけで
• Go言語たのしい
• ツール見たい方はブースへ
• ConoHaもよろしくお願いします
https://github.com/hironobu-s/conoha-vps

More Related Content

What's hot

今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方Endoh Shingo
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようKei IWASAKI
 
Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築Ken Sawada
 
Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?Yoshinori Nakanishi
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimShougo
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンMasashi Shinbara
 
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMasafumi Noguchi
 
Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築ichikaway
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server EnvironmentYukimitsu Izawa
 
Introduction to arm virtualization
Introduction to arm virtualizationIntroduction to arm virtualization
Introduction to arm virtualizationTakaya Saeki
 
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみたSeiya Konno
 
Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築kaboccha
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会Yukihiko SAWANOBORI
 
concrete5とAWSのほどよい関係
concrete5とAWSのほどよい関係concrete5とAWSのほどよい関係
concrete5とAWSのほどよい関係Takahisa Iwamoto
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料densan_teacher
 
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送Sou Lab
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18thGo Imai
 

What's hot (20)

今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみよう
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 
Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築
 
Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
 
Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
Introduction to arm virtualization
Introduction to arm virtualizationIntroduction to arm virtualization
Introduction to arm virtualization
 
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた
 
Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
concrete5とAWSのほどよい関係
concrete5とAWSのほどよい関係concrete5とAWSのほどよい関係
concrete5とAWSのほどよい関係
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
20140803 docker
20140803 docker20140803 docker
20140803 docker
 
後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料
 
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
まだFTPで消耗してるの? Wordmoveではじめる 異次元のデータ転送
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18th
 

Similar to ConoHa VPSの コマンドラインツールを作った

ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月
ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月
ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門Uwpアプリケーション開発入門
Uwpアプリケーション開発入門Makoto Nishimura
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるGMOインターネット
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話Hironobu Saitoh
 
Open Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちOpen Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちKazumi IWANAGA
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うHironobu Saitoh
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略Makoto Nishimura
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHong Chen
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!Kazumi IWANAGA
 
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介Eiji Shinohara
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Makoto Nishimura
 
【初心者向け】VPSでWordPress構築ハンズオン
【初心者向け】VPSでWordPress構築ハンズオン【初心者向け】VPSでWordPress構築ハンズオン
【初心者向け】VPSでWordPress構築ハンズオンGMO HosCon
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?Hiroyuki Numao
 

Similar to ConoHa VPSの コマンドラインツールを作った (20)

ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月
ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月
ConoHaにおけるオブジェクトストレージの利用動向 - OpenStack最新情報セミナー 2015年2月
 
OpenStack入門 2016/06/10
OpenStack入門 2016/06/10OpenStack入門 2016/06/10
OpenStack入門 2016/06/10
 
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考える
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 
Open Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちOpen Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たち
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
 
.NET vNext
.NET vNext.NET vNext
.NET vNext
 
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
【初心者向け】VPSでWordPress構築ハンズオン
【初心者向け】VPSでWordPress構築ハンズオン【初心者向け】VPSでWordPress構築ハンズオン
【初心者向け】VPSでWordPress構築ハンズオン
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?
 
Fcp
FcpFcp
Fcp
 

More from Hironobu Saitoh

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するHironobu Saitoh
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪Hironobu Saitoh
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
OpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使うOpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使うHironobu Saitoh
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるHironobu Saitoh
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料Hironobu Saitoh
 
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話Hironobu Saitoh
 

More from Hironobu Saitoh (8)

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解する
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
OpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使うOpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使う
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみる
 
Conoha VPSについて
Conoha VPSについてConoha VPSについて
Conoha VPSについて
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料
 
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話
 

ConoHa VPSの コマンドラインツールを作った

Editor's Notes

  1. まず自己紹介です。 私は斉藤弘信と申します。GMOインターネット株式会社のテクニカルエバンジェリストです。 以前は自社サービスの企画、開発をしておりました。 私自身、もともとは開発者でして、Webアプリケーションの設計や実装、あとはLinux系サーバの構築や運用をしていました。 ちょうど昨年の夏くらいからConoHaを担当することとなりまして、現在はConoHaに関する技術的な面をお客様にお伝えする役目を担当しています。
  2. ConoHaは、GMOインターネット株式会社が運営しているVPSのサービスです。VPSとはどういうものかですが、ちょっと本日の皆様には釈迦に説法になってしまうかもしれませんがご容赦願います。 VPSというのは、いわゆるホスティングサービスの一種で、仮想化技術を使って仮想マシンを作り、それをお客様に提供するサービスです。ちょうど、一つのサーバを複数ユーザで共有する共用型のホスティングサービスと、一台の物理サーバをユーザが占有するタイプの占有型のホスティングサービスの中間にあるといえるかもしれません。 この大きなメリットは、お客様は仮想化されたサーバに対して完全な管理権限を使うことができて、 一方我々事業者側としては、一台の物理サーバに複数のお客様をホストするので、低価格で提供できると言うことです。ConoHaの一番低価格のプランは930円から使うことができます。 ConoHaは、この仮想化基盤にOpenStack、ハイパーバイザにはKVMを採用しています。機能の各部分もOpenStackのコンポーネントを使っていて、例えば認証の部分はKeystone、コンピュートはNova、今回お話しするオブジェクトストレージはSwiftになりますね。