Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

(C)Copyright 1996-2016 SAKURA Internet Inc.

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

(C)Copyright 1996-2016 SAKURA Internet Inc.

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

(C)Copyright 1996-2016 SAKURA Internet Inc.

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

(C)Copyright 1996-2016 SAKURA Internet Inc.

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

(C)Copyright 1996-2016 SAKURA Internet Inc.

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

78 Dockerを使ってWordPressを作る

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

85

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

88 Docker Compose

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

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

Slide 92

Slide 92 text

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

Slide 93

Slide 93 text

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

Slide 94

Slide 94 text

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

Slide 95

Slide 95 text

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

Slide 96

Slide 96 text

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

Slide 97

Slide 97 text

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

Slide 98

Slide 98 text

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

Slide 99

Slide 99 text

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

Slide 100

Slide 100 text

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

Slide 101

Slide 101 text

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

Slide 102

Slide 102 text

102

Slide 103

Slide 103 text

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

Slide 104

Slide 104 text

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

Slide 105

Slide 105 text

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

Slide 106

Slide 106 text

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

Slide 107

Slide 107 text

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

Slide 108

Slide 108 text

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

Slide 109

Slide 109 text

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

Slide 110

Slide 110 text

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

Slide 111

Slide 111 text

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

Slide 112

Slide 112 text

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