Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「さくらのクラウド」を利用したハンズオン(金沢工業大学)
Search
横田真俊(wslash)
September 02, 2016
Technology
0
610
「さくらのクラウド」を利用したハンズオン(金沢工業大学)
2016年9月3日に開催の「KITハッカソン勉強会(KIT, さくらクラウド, PFU 共催)」のハンズオン資料です。
横田真俊(wslash)
September 02, 2016
Tweet
Share
More Decks by 横田真俊(wslash)
See All by 横田真俊(wslash)
「ssmjpで喋ったことのない私が、ssmjpでプレゼンデビューするためのテクニックを話す」
masatoshi
1
2.7k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.3k
さくらインターネットとマストドン
masatoshi
2
2.2k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
620
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
620
「はじめて触るDocker入門」
masatoshi
1
490
Dockerに触ってみよう
masatoshi
2
3.8k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
190
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
550
Other Decks in Technology
See All in Technology
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
17
14k
Storage Browser for Amazon S3
miu_crescent
1
220
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
200
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
110
MLOps の現場から
asei
6
650
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
UI State設計とテスト方針
rmakiyama
2
620
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
290
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
170
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Adopting Sorbet at Scale
ufuk
73
9.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Faster Mobile Websites
deanohume
305
30k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Testing 201, or: Great Expectations
jmmastey
40
7.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building Adaptive Systems
keathley
38
2.3k
The Language of Interfaces
destraynor
154
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Transcript
(C)Copyright 1996-2016 SAKURA Internet Inc. 2016/09/03 さくらインターネット 横田真俊(@Wslash)
今日の補助資料は https://github.com/wslash/zabbix3 もしくは https://goo.gl/7yUlJn で確認できます。 2
(1)「さくらのクラウド」を利用して、自分でサーバを構築する のに慣れてもらいます。 (2)サーバでローカルネットを組んでいただきます。 (3)Dockerを利用してみます 3
(5)Dockerを利用してみよう (4)ローカルネットワークを構築してみよう (3)サーバを拡張してみよう (2)サーバを作成してみよう (1)コントロールパネルにログインしてみよう 4
(C)Copyright 1996-2016 SAKURA Internet Inc.
6 さくらのクラウドでは、会員IDとは独立したさくらのクラウド専用の 「ユーザ」を作成し、この専用「ユーザ」を使用してログインする形式 となります。(今回のハンズオンは「ユーザ」を利用します。)
7 コントロールパネルへのログイン認証の単位となる「ユーザ」とリソー スの作業空間となる「アカウント」の作成が必要となります
8 ユーザには、そのユーザが操作可能となるアカウントを紐付ける設定を 行うことが可能です。この操作は「会員ID」でのログインのみ可能です
9 「コントロールパネル」にログインするには、Webサイトの上部にある 「コントロールパネルログイン」をクリックしてください
10 「コントロールパネル」にログインしたら「さくらのクラウドユーザ」 としてログインの箇所にある「ユーザコード」「会員ID」 「パスワード」を入力してください
11 無事にログインできたら、このような画面が表示されますので 「さくらのクラウド(IaaS)」をクリックしてください
12 さくらのクラウド(IaaS) をクリックすると このような画面が表示されます
13 (1)ゾーン切替ボタン (3)メインメニュー (2)リフレッシュボタン (5)設定ボタン (6)アカウント切り替え (7)フィードバックボタン (4)検索窓
14 設定対象となるゾーンの切替をおこないます。ゾーンとは、それぞれ独 立したシステム群を指し、各ゾーンで障害が発生した場合でも、他の ゾーンには影響はありません
15 コントロールパネルの画面更新を行うボタンです。画面更新を行う場合 は1度、こちらのボタンを押してください
16 「さくらのクラウド」の各機能の画面に移動するリンクです。サーバや ストレージなどのリソースを作成、管理する画面に移動します。
17 検索窓から自分のサーバリソースを検索できます。
18 現在利用している「アカウント」を切り替えるにはアカウント名の右上 にあるボタンをクリックするとアカウントの切り替えやログアウトがで きます。
19 コントロールパネル内の不具合や機能要望を伝えることができます
(C)Copyright 1996-2016 SAKURA Internet Inc.
21 ・まずは、CPU 1ギガ、メモリ 1GB、ディスク SSD 20GB、NIC 1のもので OSはCent OS 6.7の物を作成してみましょう
22 ・メインメニューより「サーバ」をクリック ・その後「追加」をクリックすると「サーバ作成画面」に移動します
23 ディスクイメージを選択します、利用したい「OS」を選択してください。 今回は「CentOS 6.8」を利用します。
24 次にサーバプランを選択します。サーバプランは「1GB/1仮想コア」を選択 します。
25 ボタンにないプランの場合は「全てのアイテムから選択」を選択すると アイテム一覧が表示され、そこから選択できます
26 次に「ディスクプラン」を選択します。今回は「20GB SSDプラン」を選択 します。上記のプランにない物を利用する場合は、サーバと同じように「全 てのアイテムから選択」を選択してください。
27 接続のネットワークに「インターネット」を選択し「管理ユーザのパスワー ド」でrootのパスワードを入力します。
28 ホスト名とサーバ作成数を入力いたします。ホスト名はアルファベットで任 意の文字列を、作成数は「1」と入力してください。
29 全ての入力項目を入力し終わった後「作成」をクリックします
30 「操作確認」のダイアログが表示されます。問題が無ければ「作成」をク リックします。
31 「作成」をクリックすると上記のダイアログが出てきます。 ステータスが全て成功になるとサーバが作成されます。
32 サーバの作成が完了すると、画面の右下にダイアログが表示されます。これ をクリックしてください。
33 ダイアログをクリックすると、サーバ情報が表示されます。
34 画面のコンソールをクリックすると「リモートコンソール」が表示されます。
35 「リモートコンソール」を操作するには、リモートスクリーン全体をクリッ クするとコマンドを入力できます。
36 「クリックしてサーバを表示」をクリックすると、作成したサーバの情報が 表示されます。(表示されない場合は「情報」をクリックしてください)
37 「電源操作」タブをクリックすると、サーバの起動やシャットダウンが選択 できます。サーバを起動するには「起動」を選択します。
38 ・サーバの起動すると上記の画面がポップアップされます。「成功」が表示 されました「閉じる」をクリックしてください
(C)Copyright 1996-2016 SAKURA Internet Inc.
40 さきほど作ったサーバのCPUとメモリを倍増し、さらにNICを追加してみま しょう
41 サーバのリソースを追加するためには、サーバを停止させる必要があります。 右上にある「電源操作」から「シャットダウン」を選択してください
42 ・「NIC」をクリックして、右下に表示される「追加」をクリックしてくだ さい。そうすると、NICが追加されます
43 CPUとメモリを変更するには、変更したいサーバをダブルクリックしてから 「プラン変更」をクリックしてください
44 サーバ作成時と同様にCPUとメモリを変更できます。CPUを2コア、メモリ を2GBにして「プラン変更」をクリックしてください
45 「プラン変更」が完了すると、この画面が表示されます
(C)Copyright 1996-2016 SAKURA Internet Inc.
47 今回はこのようなローカルネッ トワークを構築してみます そのためスイッチとローカルに 設置するサーバを作ります
48 「スイッチ」や「ルータ+スイッチ」を追加するには「スイッチ」を クリックします、その後「追加」をクリックすると「スイッチ」を追加でき ます
49 「名前」や「説明」を追加して「ルータ」の項目を「いいえ」にする その後「作成」をクリックしてください
50 サーバ作成時に「NIC」の項目を「スイッチに接続」にして先ほどのスイッ チを選択してください、ディスク修正についてはIPアドレスを 「192.168.0.2」ゲートウェイを「192.168.0.1」ネットマスク「24」にし てください
51 ・設定したい項目(ここでは「未接続」)の一番右の「▼」をクリックして 「接続を編集」をクリックしてください
52 スイッチの編集画面が表示されます。「スイッチに接続」を選択した後先ほ ど作成した「スイッチに接続」を選択し更新をクリックしてください。接続 が終わったら、2台ともサーバを起動しましょう
53 「さくらのクラウド」では、サーバやスイッチがどのように接続されている かがわかる「マップ」機能があります。メインメニューの「マップ」をク リックして、先ほど作ったネットワークをマップでみてみましょう
54 マップ画面では、ネットワークやサーバなどの要素を自由に動かすことが可 能です
55 マップ画面でグローバル側のサーバをクリックした後「コンソール」をク リックします
56 コンソール画面が表示されます。サーバを作成した時に設定したrootパス ワードを使用しログインができることを確認してください
• 次のコマンドを入力してください このコマンドを入力して「eth01」が登録されて いるか確認してください 次にIPアドレスを設定します 57 ifconfig –a ifconfig eth1
192.168.0.1/24
もし「ifconfig」を打っても、正常にIPアドレスが 表示されない場合は、Cent OS7がインストール されている可能性があります。 その場合は以下のコマンドを試してみてください。 58
• 次のコマンドを入力してください このコマンドを入力して「eth1」が登録されてい るか確認してください 次にIPアドレスを設定します 59 ip a ip addr
add 192.168.0.1/24 dev eth1
これで2台のサーバにローカルネットワークが設 定された状態になりました 確認としてローカルネットワーク側にpingを 打ってみましょう 60 ping 192.168.0.2
(C)Copyright 1996-2016 SAKURA Internet Inc.
62 今までのサーバとは別に「Docker」用のサーバを作成してみましょう。 今回はインストールするOSは「Cent OS 6系」ではなく「Cent OS 7系」を 利用いたします。
63 「curl -sSL https://get.docker.com/ | sh」とコマンドを入れるとDocker のインストールがはじまります。 curl -sSL https://get.docker.com/
| sh
64 「systemctl start docker」とコマンドを入れるとDockerが動きます systemctl start docker
65 「docker version」と入力してDockerのバージョンが表示されれば、 Dockerが正常にインストールされています。 docker version
66 コンテナを起動する「docker run」
▪docker run コマンド → 指定したイメージのコンテナを起動する ▪構文 → docker run イメージ
[オプション][コマンド][引数] ▪オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 67
68 ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。 上記のコマンドを入力してください。 docker run hello-world
69 「hello world」の入力が終わると、上記のような画面が表示されます。
70 これだけではつまらないので アプリを入れてみましょう
71 「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。 今回はDockerを利用して、コマンド1発でインストールします。
• Node.jsとnpm • ApacheとかのWebサーバ • その他、色々 72 「Ghost」をインストールして利用するには上記のような物を色々とインス トールする必要があり面倒です。
73 Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート で動いているので80番ポートとマッピングさせます。 docker run -p 80:2368 -d ghost
74 インストールが終わったら「(IPアドレス)」をブラウザで入力してください。 上記のような「画面」が表示されます。「(IPアドレス)/admin」でGhostの セットができます。
75 起動を確認したら、このコンテナを止めてみましょう。コンテナの止め方は 「docker stop (コンテナのID)」で止りますので「docker ps」でコンテナ IDを調べます。 docker ps
76 「docker ps」を入力して「CONTANER ID」を確認する。
77 「docker stop (コンテナのID)」を入力すると、ghostのコンテナが止りま す。(先ほどの例だと07a4e04f6418となります。) docker stop (CONTANER ID)
78 Dockerを使ってWordPressを作る
79 上記のコマンドを入力すると、色々とダウンロードがはじまる。 docker run wordpress
80 エラーが出てWordPressが起動できない、どうやらMySQLが必要な様子。 というわけで、MySQLのコンテナを持ってくる。
81 「docker pull [イメージ名]」でコンテナのダウンロードがはじまります。 ちなみに「docker run [イメージ名]」をした時にローカルにコンテナイメー ジがないと自動的にダウンロードされます docker pull
mysql
82 わかりやすいように –eを利用することでMySQLのパスワードの設定が可能 となります。パスワードには、任意のパスワードを入れてください docker run --name mysql -e MYSQL_ROOT_PASSWORD=パスワード
-d mysql
83 上記のコマンドを入力するとWordPressが立ち上がります。「-- link」は、- -link <連携したいコンテナ名>:<エイリアス名>オプションで新しいコンテ ナを起動すると,そのコンテナ内で連携したいコンテナのポート番号やIPを 環境変数として利用できるという機能です docker run --name
wordpress --link mysql:mysql -p 80:80 wordpress
84 インストールに成功するとこんな画面が出てきます。
85
86 「-d」を指定していないので「ctrl + c」を入力すると、このコンテナ自体 も停止してしまいます。 それでは、次はバッグランドでWordPressを起動してみましょう。 ただし、同じ名前のコンテナ(-- nemae以下)は作れないので、名前を変え てみましょう。
87 上記のコマンドを入力するとWordPressが起動します。起動するのを確認し たら、docker killで落としてみましょう。 docker run --name wordpress2 -d --link
mysql:mysql -p 80:80 wordpress
88 Docker Compose
89 Docker Composeは、複数のコンテナか ら構成するサービスを従来よりも簡単に 構築できるツールです。 従来はコンテナを作成するには、いちい ち「docker run」しなければならなかっ たのが、コマンド1発で複数のコンテナ を利用したサービスを構築できます。
90 Docker Composeを利用して Rocket.Chatの環境を構築する
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 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version
93 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を用 意する必要があるのですが、今回は事前に私の方で作成したので、そちらをク ローンしてください。クローンが終わったら「rocketchat」に移動します。 git clone https://github.com/zembutsu/sakura-cloud-hands-on.git cd sakura-cloud-hands-on/rocketchat
94 先ほど作成したディレクトリ「rocketchat」の中で「docker-compose pull」を入力。Rocket.Chatに必要なイメージをダウンロードします。 docker-compose pull
95 エラーが出ていなければ「docker images」を入力して「mongo」と 「rocketchat/rocket.chat」と「rocketchat/hubot-rocketchat」のイメー ジを取得できているか確認をする。 docker images
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 イメージを取得できていれば「docker-compose up -d」を入力して Rocket.chat起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d
98 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps
99 正常に動作していれば、ブラウザに http://サーバのIPアドレス:3000/ を入力すれ ば、Rocket.Chat ログイン画面が表示されます。「新しいアカウントを登録」をクリック 後、名前、メールアドレス、パスワードを入力します。
これで今日のハンズオンは終わりです お疲れ様でした。 さくらのクラウド 2万円クーポン」を 配布いたします。今日の復習にご利用ください 100
101 ご清聴ありがとうございました http://cloud.sakura.ad.jp
102
103 Docker Composeを利用して Zabbix 3.0の環境を構築する
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 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version
106 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を 用意する必要があるのですが、今回は事前に私の方で作成したので、そちら をクローンしてください。クローンが終わったら「zabbix3」に移動します。 git clone https://github.com/wslash/zabbix3.git cd zabbix3
107 先ほど作成したディレクトリ「zabbix3」の中で「docker-compose pull」 を入力。Zabbixに必要なイメージをダウンロードします。 docker-compose pull
108 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。 docker images
109 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。
110 イメージを取得できていれば「docker-compose up -d」を入力してZabbix 起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d
111 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps
112 正常に動作していれば、ブラウザにサーバのIPアドレスを入力すれば、Zabbix のロ グイン画面が表示されます。ID: Admin 、 Password: zabbix でログインした後、パス ワードを変更してください。