Tried IBM Bluemix Virtual Machines
-
Upload
bluemixjp -
Category
Technology
-
view
576 -
download
4
Transcript of Tried IBM Bluemix Virtual Machines
IBM Bluemix 七転び八起きその2
2015 年 06 月 12 日 第 6 回札幌 SoftLayer 勉強会
日本アイビーエム・ソリューション・サービス株式会社木谷 仁
はじめに 当該資料については、発表者が一人のユーザーとして、IBM Bluemix について公開されている関連資料や記事などを基に、学習した知識と体験内容ならびに見解をまとめたものです。したがいまして当該資料に記載の内容は、日本 IBM を含む IBM 社の方針・見解とは無関係であることをご承知おきください。
「 IBM Bluemix 七転び八起き」 について
従来のアプリ開発スタイルしか知らない私が、 IBM Bluemix に関する技術知識を少しずつ学び、体験したことをピックアップしてこの場で情報共有しようと考えました。知識不足や失敗を乗り越え、新しい開発スタイルを身に付けたいと考えております。
みなさまにも何か役立つ気づきがあれば幸いです。
目次
<おさらい編>1. IBM Bluemix について2. 今回のテーマ3. 開発手順の違い<リトライ編>4. VM on Bluemix 環境構築再挑戦!5. 次回までの宿題
IBM Bluemix について
IBM Bluemix について様々なアプリケーションの
構築運用、実行を可能にするクラウドベースの PaaS 環境
オープン・スタンダードのCloud Foundry に準拠した実装
あらかじめテンプレート、ランタイム、サービス、アドオンなどが用意しており豊富な組み合わせで簡単に実行環境を構築可能
SoftLayer 上で稼動
(参考) http://www-01.ibm.com/software/jp/info/bluemix/index.html
(出典) http://www.slideshare.net/ormium/ibm-codename-bluemix-cloudfoundry-paas-development-and-deployment-training-ibm-innovation-center-zurich
IBM Bluemix on SoftLayer
IBM Bluemix on Cloud Foundry
(出典) http://www.cmswire.com/cms/information-management/ibm-pivotal-partner-place-websphere-on-open-source-cloud-foundry-021837.php
・ IBM Bluemix は、オープンソース PaaS (Platform as a Service) の Cloud Foundry をベースとする、 IBM のオープン・クラウド・アーキテクチャーの実装
・ Cloud Foundry は、ユーザーがクラウド上でアプリケーションを迅速に作成してデプロイできる、オープンソースの PaaS (Platform as a Service)
Cloud Foundry を構成するコンポーネント
ここがコンテナー
Cloud Foundry BOSH (Cloud Foundry Interface)
( 出典 ) http://docs.cloudfoundry.org/concepts/architecture/
今回のテーマ
IBM Bluemix 稼働環境の選択肢が増えました
コンテナー 仮想マシン
( 出典 ) http://www-01.ibm.com/common/ssi/printableversion.wss?docURL=/common/ssi/rep_ca/3/760/JAJPJP15-0183/index.html
日本 IBM のソフトウェア発表2015 年 2 月 17 日付
コンテナー (IBM Container )• コンテナー環境として、 Docker ( ver. 1.4 以降)をサポート
• 稼動および開発のホスト環境を選ばない• リソース負荷が低い、分離されている• Docker イメージでの移植が容易
• IBM Container Extension により、 Cloud Foundry ベースのコマンドで Bluemix 上へ Docker イメージを展開• ローカル環境に以下のインストールが必要
• IBM Container Extension• Cloud Foundry (CF ツール )• Docker (ver.1.4 以降)
※IBM Container Extension は Linux オペレーティングシステムのみサポート
仮想マシン (Openstack VM )• 仮想マシン環境として Openstack VM をサポート• ロード・バランシング構成の提供( LBaaS )
• 仮想 IP アドレスの利用可能• パブリック・クラウド、プライベート・クラウドが利用可能
• プライベート・クラウドはインスタンス作成前に接続が必要• ライセンスはもちろん自前• デフォルトイメージが準備されている
• Red Hat Enterprise Linux 6.5 、 7.0• CentOS 6.5 、 7.0• Ubuntu Server 12.04 、 14.04 LTS• SUSE Linux Enterprise Server 11 SP3• Windows Server 2008 R2 SP1 Standard• Windows Server 2008 R2 SP1• Enterprise Windows Server 2008 R2 SP1• Datacenter Windows Server 2012 R2• Standard Windows Server 2012 R2 Datacenter
つまりどういうことかと言うと仮想マシン
Instant Runtime 、コンテナー
コンテナーの場合はここを選択・カスタマイズ可
能
稼働環境の違い• 新しい稼働環境は Docker や Openstack VM などとの移植性を向上させ、 IBM
Bluemix をより導入のしやすくさせた(ように見える)
Instant Runtime コンテナー 仮想マシン実行環境 Cloud Foundry Docker Openstack VM
カスタマイズ可能
アプリのみ アプリ、稼動環境のDockerイメージ
( Runtime、 Middleware、 OS etc.)
アプリ、稼動環境のVMイメージ
( Runtime、 Middleware、 OS etc.)ライセンス考慮 不要 要 要
移植性 中 高 高
小 ← 稼働環境の柔軟性 → 大
大 ← 開発の簡便性 → 小
開発手順の違い
開発手順( Instant Runtime の場合)
ローカル環境 IBM Bluemix 環境
アプリアプリ開発
② ソースのダウンロード
Instant Runtime(Cloud Foundry )③ デプロイ
ローカル環境 IBM Bluemix 環境
アプリBuild Pack 作成
③ ソースのダウンロード Instant Runtime
(Cloud Foundry )
① アプリ作成
④ デプロイ
② デプロイ
アプリ開発
Bluemix でアプリ生成
Bluemix 以外でアプリ生成
• Bluemix 上でアプリ作成するか Cloud Foundry ベースのアプリをデプロイ可能① アプリ作成&ビルド
開発手順(コンテナーの場合)• サンプルイメージか既存の Docker イメージをデプロイ可能
ローカル環境 IBM Bluemix 環境
アプリ
③ イメージ登録
Docker 実行環境
IBM Containers Extension
アプリ
アプリ
アプリアプリ
① サンプルダウンロード
②Containerイメージ作成
アプリ開発外部の Docker イメージも利用可能
Private リポジトリ
アプリ④ デプロイ
⑤ サービスバインド
コマンド実行
開発手順(仮想マシンの場合)• Bluemix 上の仮想マシンイメージか既存の仮想マシンイメージをデプロイ可能
ローカル環境 IBM Bluemix 環境
仮想マシン実行環境
① 新規作成
③ デプロイ
② インストール
Openstack VM
仮想マシンイメージとしてパッケージ
OS
Middleware
アプリ
仮想マシン実行環境
VM イメージ
OS
既存イメージ
OS
Middleware
アプリ
既存の仮想マシンイメージも利用可能
Middleware
アプリ
アプリ開発
④ あるいはイメージごとデプロイ
と、いうことで・・・
VM on Bluemix 環境構築再挑戦!
ダッシュボードから仮想マシンを選択
仮想マシンの作成
Confirm をクリック →メール届いてしばし待つ・・・
ダッシュボードから仮想マシンの作成を選択
IBM Cloud Public で VM 構成を設定→作成
OS イメージを選択
任意の名前入力
サイズ選択
SSH キーを選択→自分で作成しないと無いので下のリンクから作
成
鍵の追加→任意の名前入力して OK をクリック
デフォルトのまま
SSH の Private Key がダウンロードされる
任意の名前入力
作成中・・・数分かかります
できあがり・・・ IP アドレスが振られます
インスタンスも3つ、それぞれに IP アドレス有
ローカルアドレスとグローバルアドレス
がそれぞれ振られる それぞれのインスタ
ンスに関するメニュー
インスタンス別にログ情報も参照可
インスタンスを選択すると画面右の表示も切り替わる
別途設定が必要、ヘルプに手順あり
Kibana を利用した
ログ表示画面へ
ダッシュボードにも表示
8 CPU 、12 GB メモリー、 11個のパブリック IP
作成環境には SSH でログイン可能任意の SSH クライアントで
ダウンロードした SSH Private Key を使用してログ
イン
※PuTTY で使用する際には、 PuTTY Key Generator で PuTTY形式のキーファイル作成が必要
ログインユーザーは Bluemix のプリセットイメージであれば ibmcloud
PuTTY形式ファイル作成時に設定した SSH キーのパスフレー
ズ
sudo –s で root ユーザーにしないとほとんど何もできない
VM on Bluemix の 仕組み
IBM Bluemix 環境
Horizon 環境
Openstack VM
OS
Middleware
アプリ
スケールアウト設定
モニタリング&ロギング
作成&削除
簡単に作成できる GUI最低限の管理ツール
環境設定の詳細は直接こちらの環境で操作(GUI でサーバー構成を管理 )
開発者が直接サーバー環境をセットアップしてアプリをリリースする必要がある
Bluemix 上のサービスと接続なども可能?
インフラストラクチャーの管理画面へ① ダッシュボード左上のアイコンを右クリック→ 組織の管理を選択
② 組織の管理画面のメニューからインフラストラクチャーの管理を選択
Horizon ダッシュボードの起動
① 資格情報の表示をクリックして、ユーザー ID とパスワードを確認
②歯車アイコンから Horizon ダッシュボードの起動を選択
Horizon ダッシュボード~ログイン画面
クリックするとパスワード文字列を確認できる
Horizon ダッシュボード~概要
与えられている無料枠の使用状況を確認できる
Horizon ダッシュボード~使用状況
Bluemix 上で作成したインスタンスの一覧
ここでインスタンス作成も可能(ただし、 Bluemix と連動しない)
パブリック IP を振っていないインスタンスは振るか、ロードバランサーの経由以外は外部からのログイン不可
浮動 IP の一覧とインスタンスへの設定状況
IP をプロジェクトに割り振るで使用可能なグローバル IP を確保
インスタンスの IP は Bluemix で作成時に自動的に割り振りインスタンスの IP は Bluemix で作成時に自動的に割り振り
後で作成するロードバランサーへの IP割り当ては手動
ロード・バランサーの構成~プールの追加
任意の名前
ネットワーク→ロード・バランサーを選択後、プールタブからプールの追加を選択
ローカルネットワークHTTP 、 HTTPS 、 TCPから選択ROUND ROBIN 、LEAST_CONNECTIONS、SOURCE_IP から選択
ロード・バランサーの構成~メンバーの追加
追加先のプール
メンバータブに切り替え、メンバーの追加を選択
追加メンバーについて IP で指定か下の一覧から選択か
重み付け
複数選択
HTTP なので 80
ロード・バランサーの構成~メンバー追加後
このあと・・・
各インスタンスに httd インストール
各インスタンスのFirewall設定変更
サンプルhtml配置
あとは先ほどの浮動 IP の画面でロードバランサーにグローバル IP を割り当てれば完成
ネットワーク・トポロジー
マウスオーバーで内容を確認可能
ロード・バランサーの動作確認
連続してアクセスすると振り分けが機能していることが分かる
雑感&宿題
• 何度かやり直したが、作成・削除が簡単にできるので便利
• VMグループを削除した後、 Horizon側に残る設定と消える設定がある( SSH キー、ネットワーク、ロードバランサーは残る、ロードバランサーはゴミ状態で残ってしまうので注意)
• ロードバランサーの設定をしたが、 Bluemix 上では非アクティブのまま。(オートスケーリングも恩恵を受けてないように見える・・・何かお作法があるはず。要研究)
• 作成したインスタンスの CPU 性能などは不明だが、簡易的な Linux 環境が手に入るので開発テストで自前サーバー不要
ご清聴ありがとうございました