$30 off During Our Annual Pro Sale. View Details »

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

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

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

横田真俊(wslash)

September 02, 2016
Tweet

More Decks by 横田真俊(wslash)

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  67. ■docker run コマンド
    → 指定したイメージのコンテナを起動する
    ■構文
    → docker run イメージ [オプション][コマンド][引数]
    ■オプション
    → -d バックグランドで実行
    → -i コンテナの標準入力を開く
    → -t ttyを確保する
    → -p ポートフォワード
    67

    View Slide

  68. 68
    ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。
    上記のコマンドを入力してください。
    docker run hello-world

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  84. 84
    インストールに成功するとこんな画面が出てきます。

    View Slide

  85. 85

    View Slide

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

    View Slide

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

    View Slide

  88. 88
    Docker Compose

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  102. 102

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide