「さくらのクラウド」を利用したハンズオン(金沢工業大学)

 「さくらのクラウド」を利用したハンズオン(金沢工業大学)

2016年9月3日に開催の「KITハッカソン勉強会(KIT, さくらクラウド, PFU 共催)」のハンズオン資料です。

B31b322f3c5ee83743da0e8bd6891f8a?s=128

横田真俊(wslash)

September 02, 2016
Tweet

Transcript

  1. (C)Copyright 1996-2016 SAKURA Internet Inc. 2016/09/03 さくらインターネット 横田真俊(@Wslash)

  2. 今日の補助資料は https://github.com/wslash/zabbix3 もしくは https://goo.gl/7yUlJn で確認できます。 2

  3. (1)「さくらのクラウド」を利用して、自分でサーバを構築する のに慣れてもらいます。 (2)サーバでローカルネットを組んでいただきます。 (3)Dockerを利用してみます 3

  4. (5)Dockerを利用してみよう (4)ローカルネットワークを構築してみよう (3)サーバを拡張してみよう (2)サーバを作成してみよう (1)コントロールパネルにログインしてみよう 4

  5. (C)Copyright 1996-2016 SAKURA Internet Inc.

  6. 6 さくらのクラウドでは、会員IDとは独立したさくらのクラウド専用の 「ユーザ」を作成し、この専用「ユーザ」を使用してログインする形式 となります。(今回のハンズオンは「ユーザ」を利用します。)

  7. 7 コントロールパネルへのログイン認証の単位となる「ユーザ」とリソー スの作業空間となる「アカウント」の作成が必要となります

  8. 8 ユーザには、そのユーザが操作可能となるアカウントを紐付ける設定を 行うことが可能です。この操作は「会員ID」でのログインのみ可能です

  9. 9 「コントロールパネル」にログインするには、Webサイトの上部にある 「コントロールパネルログイン」をクリックしてください

  10. 10 「コントロールパネル」にログインしたら「さくらのクラウドユーザ」 としてログインの箇所にある「ユーザコード」「会員ID」 「パスワード」を入力してください

  11. 11 無事にログインできたら、このような画面が表示されますので 「さくらのクラウド(IaaS)」をクリックしてください

  12. 12 さくらのクラウド(IaaS) をクリックすると このような画面が表示されます

  13. 13 (1)ゾーン切替ボタン (3)メインメニュー (2)リフレッシュボタン (5)設定ボタン (6)アカウント切り替え (7)フィードバックボタン (4)検索窓

  14. 14 設定対象となるゾーンの切替をおこないます。ゾーンとは、それぞれ独 立したシステム群を指し、各ゾーンで障害が発生した場合でも、他の ゾーンには影響はありません

  15. 15 コントロールパネルの画面更新を行うボタンです。画面更新を行う場合 は1度、こちらのボタンを押してください

  16. 16 「さくらのクラウド」の各機能の画面に移動するリンクです。サーバや ストレージなどのリソースを作成、管理する画面に移動します。

  17. 17 検索窓から自分のサーバリソースを検索できます。

  18. 18 現在利用している「アカウント」を切り替えるにはアカウント名の右上 にあるボタンをクリックするとアカウントの切り替えやログアウトがで きます。

  19. 19 コントロールパネル内の不具合や機能要望を伝えることができます

  20. (C)Copyright 1996-2016 SAKURA Internet Inc.

  21. 21 ・まずは、CPU 1ギガ、メモリ 1GB、ディスク SSD 20GB、NIC 1のもので OSはCent OS 6.7の物を作成してみましょう

  22. 22 ・メインメニューより「サーバ」をクリック ・その後「追加」をクリックすると「サーバ作成画面」に移動します

  23. 23 ディスクイメージを選択します、利用したい「OS」を選択してください。 今回は「CentOS 6.8」を利用します。

  24. 24 次にサーバプランを選択します。サーバプランは「1GB/1仮想コア」を選択 します。

  25. 25 ボタンにないプランの場合は「全てのアイテムから選択」を選択すると アイテム一覧が表示され、そこから選択できます

  26. 26 次に「ディスクプラン」を選択します。今回は「20GB SSDプラン」を選択 します。上記のプランにない物を利用する場合は、サーバと同じように「全 てのアイテムから選択」を選択してください。

  27. 27 接続のネットワークに「インターネット」を選択し「管理ユーザのパスワー ド」でrootのパスワードを入力します。

  28. 28 ホスト名とサーバ作成数を入力いたします。ホスト名はアルファベットで任 意の文字列を、作成数は「1」と入力してください。

  29. 29 全ての入力項目を入力し終わった後「作成」をクリックします

  30. 30 「操作確認」のダイアログが表示されます。問題が無ければ「作成」をク リックします。

  31. 31 「作成」をクリックすると上記のダイアログが出てきます。 ステータスが全て成功になるとサーバが作成されます。

  32. 32 サーバの作成が完了すると、画面の右下にダイアログが表示されます。これ をクリックしてください。

  33. 33 ダイアログをクリックすると、サーバ情報が表示されます。

  34. 34 画面のコンソールをクリックすると「リモートコンソール」が表示されます。

  35. 35 「リモートコンソール」を操作するには、リモートスクリーン全体をクリッ クするとコマンドを入力できます。

  36. 36 「クリックしてサーバを表示」をクリックすると、作成したサーバの情報が 表示されます。(表示されない場合は「情報」をクリックしてください)

  37. 37 「電源操作」タブをクリックすると、サーバの起動やシャットダウンが選択 できます。サーバを起動するには「起動」を選択します。

  38. 38 ・サーバの起動すると上記の画面がポップアップされます。「成功」が表示 されました「閉じる」をクリックしてください

  39. (C)Copyright 1996-2016 SAKURA Internet Inc.

  40. 40 さきほど作ったサーバのCPUとメモリを倍増し、さらにNICを追加してみま しょう

  41. 41 サーバのリソースを追加するためには、サーバを停止させる必要があります。 右上にある「電源操作」から「シャットダウン」を選択してください

  42. 42 ・「NIC」をクリックして、右下に表示される「追加」をクリックしてくだ さい。そうすると、NICが追加されます

  43. 43 CPUとメモリを変更するには、変更したいサーバをダブルクリックしてから 「プラン変更」をクリックしてください

  44. 44 サーバ作成時と同様にCPUとメモリを変更できます。CPUを2コア、メモリ を2GBにして「プラン変更」をクリックしてください

  45. 45 「プラン変更」が完了すると、この画面が表示されます

  46. (C)Copyright 1996-2016 SAKURA Internet Inc.

  47. 47 今回はこのようなローカルネッ トワークを構築してみます そのためスイッチとローカルに 設置するサーバを作ります

  48. 48 「スイッチ」や「ルータ+スイッチ」を追加するには「スイッチ」を クリックします、その後「追加」をクリックすると「スイッチ」を追加でき ます

  49. 49 「名前」や「説明」を追加して「ルータ」の項目を「いいえ」にする その後「作成」をクリックしてください

  50. 50 サーバ作成時に「NIC」の項目を「スイッチに接続」にして先ほどのスイッ チを選択してください、ディスク修正についてはIPアドレスを 「192.168.0.2」ゲートウェイを「192.168.0.1」ネットマスク「24」にし てください

  51. 51 ・設定したい項目(ここでは「未接続」)の一番右の「▼」をクリックして 「接続を編集」をクリックしてください

  52. 52 スイッチの編集画面が表示されます。「スイッチに接続」を選択した後先ほ ど作成した「スイッチに接続」を選択し更新をクリックしてください。接続 が終わったら、2台ともサーバを起動しましょう

  53. 53 「さくらのクラウド」では、サーバやスイッチがどのように接続されている かがわかる「マップ」機能があります。メインメニューの「マップ」をク リックして、先ほど作ったネットワークをマップでみてみましょう

  54. 54 マップ画面では、ネットワークやサーバなどの要素を自由に動かすことが可 能です

  55. 55 マップ画面でグローバル側のサーバをクリックした後「コンソール」をク リックします

  56. 56 コンソール画面が表示されます。サーバを作成した時に設定したrootパス ワードを使用しログインができることを確認してください

  57. • 次のコマンドを入力してください このコマンドを入力して「eth01」が登録されて いるか確認してください 次にIPアドレスを設定します 57 ifconfig –a ifconfig eth1

    192.168.0.1/24
  58. もし「ifconfig」を打っても、正常にIPアドレスが 表示されない場合は、Cent OS7がインストール されている可能性があります。 その場合は以下のコマンドを試してみてください。 58

  59. • 次のコマンドを入力してください このコマンドを入力して「eth1」が登録されてい るか確認してください 次にIPアドレスを設定します 59 ip a ip addr

    add 192.168.0.1/24 dev eth1
  60. これで2台のサーバにローカルネットワークが設 定された状態になりました 確認としてローカルネットワーク側にpingを 打ってみましょう 60 ping 192.168.0.2

  61. (C)Copyright 1996-2016 SAKURA Internet Inc.

  62. 62 今までのサーバとは別に「Docker」用のサーバを作成してみましょう。 今回はインストールするOSは「Cent OS 6系」ではなく「Cent OS 7系」を 利用いたします。

  63. 63 「curl -sSL https://get.docker.com/ | sh」とコマンドを入れるとDocker のインストールがはじまります。 curl -sSL https://get.docker.com/

    | sh
  64. 64 「systemctl start docker」とコマンドを入れるとDockerが動きます systemctl start docker

  65. 65 「docker version」と入力してDockerのバージョンが表示されれば、 Dockerが正常にインストールされています。 docker version

  66. 66 コンテナを起動する「docker run」

  67. ▪docker run コマンド → 指定したイメージのコンテナを起動する ▪構文 → docker run イメージ

    [オプション][コマンド][引数] ▪オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 67
  68. 68 ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。 上記のコマンドを入力してください。 docker run hello-world

  69. 69 「hello world」の入力が終わると、上記のような画面が表示されます。

  70. 70 これだけではつまらないので アプリを入れてみましょう

  71. 71 「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。 今回はDockerを利用して、コマンド1発でインストールします。

  72. • Node.jsとnpm • ApacheとかのWebサーバ • その他、色々 72 「Ghost」をインストールして利用するには上記のような物を色々とインス トールする必要があり面倒です。

  73. 73 Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート で動いているので80番ポートとマッピングさせます。 docker run -p 80:2368 -d ghost

  74. 74 インストールが終わったら「(IPアドレス)」をブラウザで入力してください。 上記のような「画面」が表示されます。「(IPアドレス)/admin」でGhostの セットができます。

  75. 75 起動を確認したら、このコンテナを止めてみましょう。コンテナの止め方は 「docker stop (コンテナのID)」で止りますので「docker ps」でコンテナ IDを調べます。 docker ps

  76. 76 「docker ps」を入力して「CONTANER ID」を確認する。

  77. 77 「docker stop (コンテナのID)」を入力すると、ghostのコンテナが止りま す。(先ほどの例だと07a4e04f6418となります。) docker stop (CONTANER ID)

  78. 78 Dockerを使ってWordPressを作る

  79. 79 上記のコマンドを入力すると、色々とダウンロードがはじまる。 docker run wordpress

  80. 80 エラーが出てWordPressが起動できない、どうやらMySQLが必要な様子。 というわけで、MySQLのコンテナを持ってくる。

  81. 81 「docker pull [イメージ名]」でコンテナのダウンロードがはじまります。 ちなみに「docker run [イメージ名]」をした時にローカルにコンテナイメー ジがないと自動的にダウンロードされます docker pull

    mysql
  82. 82 わかりやすいように –eを利用することでMySQLのパスワードの設定が可能 となります。パスワードには、任意のパスワードを入れてください docker run --name mysql -e MYSQL_ROOT_PASSWORD=パスワード

    -d mysql
  83. 83 上記のコマンドを入力するとWordPressが立ち上がります。「-- link」は、- -link <連携したいコンテナ名>:<エイリアス名>オプションで新しいコンテ ナを起動すると,そのコンテナ内で連携したいコンテナのポート番号やIPを 環境変数として利用できるという機能です docker run --name

    wordpress --link mysql:mysql -p 80:80 wordpress
  84. 84 インストールに成功するとこんな画面が出てきます。

  85. 85

  86. 86 「-d」を指定していないので「ctrl + c」を入力すると、このコンテナ自体 も停止してしまいます。 それでは、次はバッグランドでWordPressを起動してみましょう。 ただし、同じ名前のコンテナ(-- nemae以下)は作れないので、名前を変え てみましょう。

  87. 87 上記のコマンドを入力するとWordPressが起動します。起動するのを確認し たら、docker killで落としてみましょう。 docker run --name wordpress2 -d --link

    mysql:mysql -p 80:80 wordpress
  88. 88 Docker Compose

  89. 89 Docker Composeは、複数のコンテナか ら構成するサービスを従来よりも簡単に 構築できるツールです。 従来はコンテナを作成するには、いちい ち「docker run」しなければならなかっ たのが、コマンド1発で複数のコンテナ を利用したサービスを構築できます。

  90. 90 Docker Composeを利用して Rocket.Chatの環境を構築する

  91. 91 上記のコマンドを入力して、Docker Composeのバイナリをセットする curl -L https://github.com/docker/compose/releases/down load/1.6.2/docker-compose-`uname -s`-`uname -m` >

    /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
  92. 92 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version

  93. 93 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を用 意する必要があるのですが、今回は事前に私の方で作成したので、そちらをク ローンしてください。クローンが終わったら「rocketchat」に移動します。 git clone https://github.com/zembutsu/sakura-cloud-hands-on.git cd sakura-cloud-hands-on/rocketchat

  94. 94 先ほど作成したディレクトリ「rocketchat」の中で「docker-compose pull」を入力。Rocket.Chatに必要なイメージをダウンロードします。 docker-compose pull

  95. 95 エラーが出ていなければ「docker images」を入力して「mongo」と 「rocketchat/rocket.chat」と「rocketchat/hubot-rocketchat」のイメー ジを取得できているか確認をする。 docker images

  96. 96 エラーが出ていなければ「docker images」を入力して「mongo」と 「rocketchat/rocket.chat」と「rocketchat/hubot-rocketchat」のイメー ジを取得できているか確認をする。 # docker images REPOSITORY TAG

    IMAGE ID CREATED SIZE mongo latest 7f09d45df511 5 days ago 336.1 MB rocketchat/rocket.chat latest 30826dfbbfa6 2 weeks ago 332.4 MB rocketchat/hubot-rocketchat latest a727f5c88c43 5 weeks ago 800.5 MB
  97. 97 イメージを取得できていれば「docker-compose up -d」を入力して Rocket.chat起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d

  98. 98 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps

  99. 99 正常に動作していれば、ブラウザに http://サーバのIPアドレス:3000/ を入力すれ ば、Rocket.Chat ログイン画面が表示されます。「新しいアカウントを登録」をクリック 後、名前、メールアドレス、パスワードを入力します。

  100. これで今日のハンズオンは終わりです お疲れ様でした。 さくらのクラウド 2万円クーポン」を 配布いたします。今日の復習にご利用ください 100

  101. 101 ご清聴ありがとうございました http://cloud.sakura.ad.jp

  102. 102

  103. 103 Docker Composeを利用して Zabbix 3.0の環境を構築する

  104. 104 上記のコマンドを入力して、Docker Composeのバイナリをセットする curl -L https://github.com/docker/compose/releases/down load/1.6.2/docker-compose-`uname -s`-`uname -m` >

    /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
  105. 105 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version

  106. 106 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を 用意する必要があるのですが、今回は事前に私の方で作成したので、そちら をクローンしてください。クローンが終わったら「zabbix3」に移動します。 git clone https://github.com/wslash/zabbix3.git cd zabbix3

  107. 107 先ほど作成したディレクトリ「zabbix3」の中で「docker-compose pull」 を入力。Zabbixに必要なイメージをダウンロードします。 docker-compose pull

  108. 108 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。 docker images

  109. 109 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。

  110. 110 イメージを取得できていれば「docker-compose up -d」を入力してZabbix 起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d

  111. 111 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps

  112. 112 正常に動作していれば、ブラウザにサーバのIPアドレスを入力すれば、Zabbix のロ グイン画面が表示されます。ID: Admin 、 Password: zabbix でログインした後、パス ワードを変更してください。