SlideShare a Scribd company logo
Cloudlive, Inc.
Creationline, Inc.
1
更新履歴
• 以下の日付でドキュメントを更新、確認しています。
2
バージョン
1.00 2015/2/28 ・初版リリース
目次
• Chef の概要
• Chef とは?
• Chef のメリット
• 利用可能な OS /ディストリビューション
• Chef のアーキテクチャー
• Chef の基本的な用語
• Chef の利用形態
• Enterprise Chef Server について
• Open Source Chef Server について
• Microsoft Azure と Chef
• Azure での Chef 利用
• Knife Azure コマンド例
3
目次
• シナリオ例
• シナリオ#1 Azure 管理ポータルからの操作
• シナリオ#2 Chef Workstation からの操作
• Appendix
• Appendix#1 Microsoft Azure アカウントの作成
• Appendix#2 サブスクリプションファイルの取得
• Appendix#3 Enterprise Chef へのユーザー登録
• Appendix#4 Chef スターターキットの取得
• Appendix#5 client.rb (設定ファイル)の作成
• Appendix#6 Chef Workstation 構築手順
4
5
Chef とは?
米 Chef 社が提供するサーバー構築と構成管理の自動化フレームワーク
http://www.getchef.com/
6
Chef のメリット
• 拡張性
• 効率的
• 世代管理
7
利用可能な OS / ディストリビューション
• Windows Server 2003 R2(i686, x86_64)
• Windows Server 2008 R2(x86_64)*
• Windows Server 2008(i686, x86_64)
• Windows Server 2012 R2(x86_64)*
• Windows Server 2012(x86_64)*
• Debian 6, 7(i386, x86_64)
• RHEL 5, 6(i686, x86_64)
• CentOS 5, 6, 7 (i686, x86_64)*
• Free BSD 9(adm64, i386)
• OS X 10.6, 10.7, 10.8, 10.9 (x86_64)
• SUSE Enterprise Linux 11.2(i386, x86_64)*
• Solaris 5.9(sparc)
• Solaris 5.10, 5.11(i386, sparc)
• openSUSE 12.1(i686, x86_64)
• Ubuntu 12.04 *, 12.10, 13.03, 13.10, 14.04 *(i386, x86_64)
※青色で表示されている OS は、Microsoft Azure でサポート
8
Chef アーキテクチャー図(Chef Server / Client)
9
Server
Chef Server
各 Node の構成情報を集中管理
Chef Workstation
Knife プラグインがインストール
されている
Client
Client
Node
Node
Chef により管理されるサーバー
Chef の基本的な用語 #1
• Server
• Client
10
Chef の基本的な用語 #2
• Knife
プラグイン
http://docs.opscode.com/plugin_knife.html
• Recipe
• Cookbook
11
Chef の利用形態
• Chef Server / Client
• Chef Solo
Enterprise Chef Server(有償) について
• ホステッド版 Chef
• オンプレミス版 Chef
【詳細問合せ先】
13
Open Source Chef Server について
• オープンソース版の Chef Server
• バージョン 10 以降は導入がとても簡単になっている
かつては必要なミドルウェア群を別途導入する必要があった
• Enterprise Chef Server との違い
14
15
Azure での Chef 利用イメージ
16
Server
Chef Workstation
仮想マシン
Windows サーバー
Windows サーバー
Windows サーバー
Linux サーバー
Linux サーバー
Linux サーバー
仮想マシン
仮想マシンの作成、削除、
停止、再起動
Azure 管理ポータル
・仮想マシンの作成、削除
・Chef Client のインストール
Knife の実行
Recipe の更新
Node
各 Node の構成情報を集中管理
Recipe の配布・各 Node の構成変更
・アプリケーションの
インストール
Azure での Chef 利用 #1
• Azure 管理ポータル画面から Chef の利用が可能
• Knife Azure により、Microsoft Azure と Chef との連携が可能
17
Azure での Chef 利用 #2
• PowerShell DSC と Chef との連携
• Windows 用 Cookbook の整備
Supermarket
https://supermarket.getchef.com/cookbooks?utf8=%E2%9C%93&q=azure
18
Knife Azure コマンド例
19
Azure 仮想マシン削除
knife azure server delete SERVER [SERVER]
Azure 仮想マシン一覧表示
knife azure server list
Azure 仮想マシン詳細表示
knife azure server show SERVER [SERVER]
Azure 仮想マシン作成
knife azure server create
20
21
Server
Hosted Chef Server
Chef Workstation
Azure 上に Linux サーバー
(Ubuntu)を作成
Node
Azure 上に Windows および
Linux サーバーを作成
【Chef Server】
Chef 社が提供している Hosted Chef Server を
利用する
【Chef Workstation 】
Microsoft Azure 上に作成した仮想マシン
(Linux サーバー)を利用する
【Node】
Microsoft Azure 上に仮想マシンを作成する
環境準備
22
手順 内容
準備
1. Microsoft Azure アカウントの作成 Microsoft Azure サブスクリプションの契約を行い、利用可能な状態にす
る。Appendix#1 を参照
2. Azure サブスクリプションファイルの取
得
Microsoft Azure に API アクセスするための証明書であるサブスクリプ
ションファイルをダウンロードする。Appendix#2 を参照
3. Enterprise Chef へのユーザー登録 Hosted Chef Server を利用するため、ホステッド版 Enterprise Chef へ
のユーザー登録を行う。Appendix#3 を参照
4. Chef スターターキットの取得 Chef Server にアクセスするのに必要な秘密鍵や設定ファイルをまとめた
Chef スターターキットを取得する。Appendix#4 を参照
5. client.rb (設定ファイル)の作成 Azure ポータル画面から Chef を利用する場合に使用する設定ファイルを
作成する。
Appendix#5 を参照
6. Chef Workstation 構築 Chef 操作用の環境(Workstation)を構築し、Windows Server インス
タンス作成に使用する Cookbook を Chef Server に登録する。
Appendix#6 を参照
シナリオ例 #1 Azure 管理ポータルからの操作
23
【ゴール】
構築した Web サーバーに、ローカル PC からアクセスすると、Web ペー
ジが表示される。
【目的】
Azure 管理ポータルから、Windows サーバーを作成し、Chef を利用して
Web サーバー(IIS)を構築する。
シナリオ例 #1 Azure 管理ポータルからの操作
【仮想マシンの新規作成を行う】
1. 画面左下の「新規」をクリックする
24
シナリオ例 #1 Azure 管理ポータルからの操作
【イメージの選択#1】
1. 「ギャラリーから」を選択す
る
25
シナリオ例 #1 Azure 管理ポータルからの操作
【イメージの選択#2】
1. 「Windows Server 2012 R2
Datacenter」を選択する
2. をクリックする
26
シナリオ例 #1 Azure 管理ポータルからの操作
【仮想マシンの構成#1】
1. 「仮想マシンの構成」の必要項目
を入力する
2. をクリックする
27
シナリオ例 #1 Azure 管理ポータルからの操作
【仮想マシンの構成#2】
1. 「地域/アフィニティグループ/
仮想ネットワーク」で”日本
(東)”を選択する
2. エンドポイントに “HTTP” を追
加する
3. をクリックする
28
シナリオ例 #1 Azure 管理ポータルからの操作
29
【構成拡張機能で Chef を選択する】
1. 「CLIENT.RB」 をローカルまたはスト
レージから指定する
 Appendix#5 で作成した client.rb を指定する
2. 「検証キー(.PEM)をローカルまたは
ストレージから指定する。
 Appendix#4 で準備した Chef スターター
キットの chef-repo¥.chef フォルダにある
azst-validator.pem を指定する
3. 実行の一覧(Run List)に IIS 設定用レシ
ピを記入する。
 記述内容:recipe['iis']
4. をクリックする
シナリオ例 #1 Azure 管理ポータルからの操作
30
【ローカル PC から Web ページを確認】
Azure 管理ポータルのダッシュボードで作成したサーバーの URL を確認し、ローカル PC のブラ
ウザでアクセスする
シナリオ例 #2 Chef Workstation からの操作
31
【ゴール】
構築した Web サーバーに、ローカル PC からアクセスすると、 Web ペー
ジが表示される。
【目的】
Chef Workstation から Chef を使って、Azure 上に Linux サーバーを作
成し、Web サーバー(apache2)を構築する。
シナリオ例 #2 Chef Workstation からの操作
1. Chef Workstation にログインする
2. Azure で利用できるマシンイメージを表示
3. 次の設定で Azure 上の仮想マシンを起動する
-DNS名: azselfstudy11
-場所: 日本(東)
-マシンイメージ: Ubuntu Server 12.04 LTS (amd64)
-マシンサイズ: 小
-SSHログインユーザー: azureuser
-SSHログインパスワード: Azure@@123456
-エンドポイント: 80:80
32
$ knife azure image list
シナリオ例 #2 Chef Workstation からの操作
knife azure server create コマンドを実行
33
$ knife azure server create
--azure-dns-name 'azselfstudy11'
--azure-service-location 'Japan East'
--azure-source-image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-
server-20121218-en-us-30GB
--azure-vm-size Small
--ssh-user 'azureuser'
--ssh-password 'Azure@@123456'
--tcp-endpoints 80:80
--run-list "recipe[chef-client], recipe[cron], recipe[apt], recipe[apache2], recipe[apache-site-
enable]"
シナリオ例 #2 Chef Workstation からの操作
34
Azure 管理ポータルで作成されたサーバーを確認
Azure 管理ポータルで仮想
マシンが作成されていること
が確認できる
シナリオ例 #2 Chef Workstation からの操作
35
ローカル PC から Web ページを確認
Azure 管理ポータルのダッシュボードで作成したサーバーの URL を確認し、ローカル PC の
ブラウザでアクセスする
36
Appendix#1 Microsoft Azure アカウントの作成
必要なもの
・Microsoft アカウント※Microsoft アカウント作成はこちらのページを参照
http://www.microsoft.com/ja-jp/msaccount/signup/default.aspx
・確認コードを音声か SMS で受け取るための携帯電話
・身元確認のためのクレジットカード(無料評価版の場合は課金されない)
Azureアカウントの作成手順
http://msdn.microsoft.com/ja-jp/windowsazure/ee943806.aspx
・アカウント作成後、管理ポータルにサインインできれば作成完了
・Azure 管理ポータルの URL
https://manage.windowsazure.com/
37
Appendix#2 サブスクリプション ファイルの取得
Microsoft Azure に API アクセスするための証明書であるサブスクリ
プションファイルをダウンロードする
https://manage.windowsazure.com/publishsettings/
38
Appendix#3 Enterprise Chef へのユーザー登録 #1
ホステッド版 Enterprise Chef へユーザー登録
Chef のトップページ https://www.getchef.com/ の右上の「GET CHEF」をクリックする
39
Appendix#3 Enterprise Chef へのユーザー登録#2
「GET HOSTED CHEF」をクリックする
40
Appendix#3 Enterprise Chef へのユーザー登録 #3
必要事項を入力し、 “I agree to the Terms of Service, Master License and Services
Agreement.” にチェックを入れ、「Get Started」をクリックする
41
Appendix#3 Enterprise Chef へのユーザー登録 #4
Organization の登録を行う。「Create New Organization」をクリックする。
42
Appendix#3 Enterprise Chef へのユーザー登録 #5
Organization 名を入力し、「Create Organization」をクリックする
43
Appendix#3 Enterprise Chef へのユーザー登録 #6
次の画面が表示されればユーザー登録は完了する
44
Appendix#4 Chef スターターキットの取得 #1
Chef Server にアクセスするのに必要な秘密鍵や設定ファイル(knife.rb)をまとめた Chef スター
ターキットをダウンロードする
「Download Starter Kit」をクリックする
45
Appendix#4 Chef スターターキットの取得 # 2
「Proceed」をクリックすると chef-starter.zip ファイルがダウンロードされる
46
シナリオ例#1 で利用するため、ダウンロードした chef-starter.zip ファイルをローカル PC で解凍
しておく
解凍すると、chef-repo フォルダが配置される
Appendix#5 client.rb (設定ファイル)の作成
シナリオ例#1 で使用する client.rb ファイルを作成する
Appendix#4 で準備した chef-repo フォルダ内にある、.chef フォルダ内の
knife.rb ファイルから、以下の項目を client.rb ファイルにコピーする
• chef_server_url
• validation_client_name
(例) chef_server_url https://api.opscode.com/organizations/azst
validation_client_name "azst-validator"
47
Appendix#6 Chef Workstation 構築手順#1
1. Chef Workstation 用端末で以下の作業を実行する
本項では OS に Ubuntu を使用。ユーザー名は、azureuser としている
2. 開発環境等の準備
3. Chef Client を Omnibus installer でインストール
4. スターターキットの配置
Appendix#4 で取得した Chef スターターキット(chef-starter.zip)をChef Workstation の /home/azureuser/ に
配置する。配置後、スターターキット(chef-starter.zip)を解凍する
48
$ sudo apt-get update
$ sudo apt-get install tree
$ sudo apt-get install unzip
$ sudo apt-get install build-essential
$ curl -L http://www.opscode.com/chef/install.sh | sudo bash
$ unzip chef-starter.zip
Appendix#6 Chef Workstation 構築手順#1
5. Chef-repo ディレクトリの設定
Chef-repo を Git で管理するようにする。
6. Knife Azure のインストール
7. Knife Azure の設定
Appendix#2 で取得したサブスクリプション ファイルを Chef Workstation の /home/ユーザー/chef-
repo/.chef にコピーし、サブスクリプションファイルのパスを knife.rb に記載する
49
$ sudo /opt/chef/embedded/bin/gem install knife-azure --no-rdoc --no-ri
$ sudo apt-get install git
$ cd /home/azureuser/chef-repo/
$ git init
$ git add *
$ git commit -m '1st コミット'
knife[:azure publish_settings_file] = ‘/home/azureuser/chef-
repo/.chef/credentials.publishsettings'
Appendix#6 Chef Workstation 構築手順#2
8. Cookbook の準備
8.1. Chef 社で公開している Cookbook を Chef Workstation 内にインストール
8.2. Chef Workstation 内の Cookbook を Enterprise Chef に登録
8.3. Apache を設定する Cookbook の作成
50
$ knife cookbook site install chef-client
$ knife cookbook site install cron
$ knife cookbook site install apt
$ knife cookbook site install iis
$ knife cookbook site install apache2
$ knife cookbook upload -a
$ knife cookbook create apache-site-enable
Appendix#6 Chef Workstation 構築手順#3
8.4. apache-site-enable/recipes/default.rb に以下を追記
8.5. Enterprise Chef に Cookbook ”apache-site-enable” を登録
51
$ vi /home/ユーザー/chef-repo/cookbooks/apache-site-enable /recipes/default.rb
execute "a2ensite" do
command "a2ensite default"
action :run
end
service "apache2" do
supports :restart => true, :reload => true
action :enable
end
$ knife cookbook upload apache-site-enable
52

More Related Content

What's hot (20)

PDF
Hyper-V仮想マシンをAzureへV2C移行
wintechq
 
PPTX
Azure Site Recoveryで実現するDRとクラウドへの移行
Masahiko Ebisuda
 
PDF
S03 企業内システムと Microsoft Azure の VPN 接続
Microsoft Azure Japan
 
PDF
Azure IaaS 解説
wintechq
 
PDF
今さら聞けない!Microsoft Azure仮想マシン入門
Trainocate Japan, Ltd.
 
PDF
Azure Backup と Azure Site Recovery
Junji Yamamoto
 
PPTX
無料セミナー20170321 awsから始めるlinux入門
Trainocate Japan, Ltd.
 
PPTX
20170902 kixs azure&azure stack
Osamu Takazoe
 
PDF
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
Trainocate Japan, Ltd.
 
PDF
Azure Stack 受け入れ準備_20180630
Hiroshi Matsumoto
 
PDF
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
Trainocate Japan, Ltd.
 
PDF
Azure CLI あずにゃんの CLI を使ってみた結果www
Masahito Zembutsu
 
PDF
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
PDF
20170721 初めてのPowerShell
Trainocate Japan, Ltd.
 
PDF
Azure IaaS update (2019年1月~2月 発表版)
Takamasa Maejima
 
PDF
確実な再起動からはじめる クラウドネイティブオペレーション
Toru Makabe
 
PDF
[Japan Tech summit 2017] DAL 004
Microsoft Tech Summit 2017
 
PDF
Azure Arc 概要
Kazuki Takai
 
PDF
Azure仮想マシンと仮想ネットワークの基本 2016 ComCamp Fukuoka
wintechq
 
PDF
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 
Hyper-V仮想マシンをAzureへV2C移行
wintechq
 
Azure Site Recoveryで実現するDRとクラウドへの移行
Masahiko Ebisuda
 
S03 企業内システムと Microsoft Azure の VPN 接続
Microsoft Azure Japan
 
Azure IaaS 解説
wintechq
 
今さら聞けない!Microsoft Azure仮想マシン入門
Trainocate Japan, Ltd.
 
Azure Backup と Azure Site Recovery
Junji Yamamoto
 
無料セミナー20170321 awsから始めるlinux入門
Trainocate Japan, Ltd.
 
20170902 kixs azure&azure stack
Osamu Takazoe
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
Trainocate Japan, Ltd.
 
Azure Stack 受け入れ準備_20180630
Hiroshi Matsumoto
 
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
Trainocate Japan, Ltd.
 
Azure CLI あずにゃんの CLI を使ってみた結果www
Masahito Zembutsu
 
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
20170721 初めてのPowerShell
Trainocate Japan, Ltd.
 
Azure IaaS update (2019年1月~2月 発表版)
Takamasa Maejima
 
確実な再起動からはじめる クラウドネイティブオペレーション
Toru Makabe
 
[Japan Tech summit 2017] DAL 004
Microsoft Tech Summit 2017
 
Azure Arc 概要
Kazuki Takai
 
Azure仮想マシンと仮想ネットワークの基本 2016 ComCamp Fukuoka
wintechq
 
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 

Viewers also liked (20)

PDF
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
Microsoft Azure Japan
 
PDF
S96 Microsoft Azure 管理ポータルについて
Microsoft Azure Japan
 
PDF
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
Microsoft Azure Japan
 
PDF
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
Microsoft Azure Japan
 
PDF
S94 Microsoft Azure セキュリティについて
Microsoft Azure Japan
 
PDF
S95 Microsoft Azure サポートについて
Microsoft Azure Japan
 
PDF
S91 microsoft azure 支払いについて
Microsoft Azure Japan
 
PDF
S92 Microsoft Azure SLA について
Microsoft Azure Japan
 
PDF
S09 Microsoft Azure の各機能を活用したハイパフォーマンス実現方法
Microsoft Azure Japan
 
PDF
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
Microsoft Azure Japan
 
PDF
S90 Microsoft Azure 料金について
Microsoft Azure Japan
 
PDF
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
Microsoft Azure Japan
 
PDF
S93 Microsoft Azure サービスの管理
Microsoft Azure Japan
 
PPTX
Chef セミナー Azure概要
Daiyu Hatakeyama
 
PDF
2014年OSC 東京 LT 「某開始記念!OSS利用者向けWindows Azureの ライトなライトな使い方」
Masami Suzuki
 
PPT
Cooking with Chef on Windows
Julian Dunn
 
PPTX
Cooking with Chef on Windows: 2015 Edition
Julian Dunn
 
PPTX
Chef and PowerShell Desired State Configuration
Julian Dunn
 
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
Microsoft Azure Japan
 
S96 Microsoft Azure 管理ポータルについて
Microsoft Azure Japan
 
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
Microsoft Azure Japan
 
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
Microsoft Azure Japan
 
S94 Microsoft Azure セキュリティについて
Microsoft Azure Japan
 
S95 Microsoft Azure サポートについて
Microsoft Azure Japan
 
S91 microsoft azure 支払いについて
Microsoft Azure Japan
 
S92 Microsoft Azure SLA について
Microsoft Azure Japan
 
S09 Microsoft Azure の各機能を活用したハイパフォーマンス実現方法
Microsoft Azure Japan
 
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
Microsoft Azure Japan
 
S90 Microsoft Azure 料金について
Microsoft Azure Japan
 
S02 企業で活用が進む Microsoft Azureの仮想マシン (Linux)
Microsoft Azure Japan
 
S93 Microsoft Azure サービスの管理
Microsoft Azure Japan
 
Chef セミナー Azure概要
Daiyu Hatakeyama
 
2014年OSC 東京 LT 「某開始記念!OSS利用者向けWindows Azureの ライトなライトな使い方」
Masami Suzuki
 
Cooking with Chef on Windows
Julian Dunn
 
Cooking with Chef on Windows: 2015 Edition
Julian Dunn
 
Chef and PowerShell Desired State Configuration
Julian Dunn
 
Ad

Similar to S16 Microsoft Azure 上での Chef 環境の構成 (20)

PPT
Chef on azure
哲平 東
 
PPT
Chef on azure
哲平 東
 
PPT
Chef on azure
東 哲平
 
PDF
hbstudy37 doc
Fujishiro Takuya
 
PDF
Chef社内勉強会(第1回)
Yoshinori Nakanishi
 
PDF
20130723 ecシステムにchefを導入してみた v1.0
NIFTY Cloud
 
PDF
Chefで始めるWindows Server構築
Takashi Kanai
 
PDF
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
 
PDF
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
満徳 関
 
PPTX
Chef windows linux環境構築
靖 小田島
 
PPTX
Aizu.LT::Tokyo #4
Taku Unno
 
PPTX
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
PDF
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
 
PDF
Chef入門
Yasufumi Moritake
 
PDF
サーバー設定自動化は経営課題
Maho Takara
 
PDF
今日から使い始めるChef
Masahiro NAKAYAMA
 
PDF
DevOpsを実現するChef活用テクニック
Yusuke Ando
 
PDF
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
Terui Masashi
 
PDF
Openstack chef-repo
Tomokazu Hirai
 
PPTX
Chef 11概要-osct
Naotaka Jay HOTTA
 
Chef on azure
哲平 東
 
Chef on azure
哲平 東
 
Chef on azure
東 哲平
 
hbstudy37 doc
Fujishiro Takuya
 
Chef社内勉強会(第1回)
Yoshinori Nakanishi
 
20130723 ecシステムにchefを導入してみた v1.0
NIFTY Cloud
 
Chefで始めるWindows Server構築
Takashi Kanai
 
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
 
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
満徳 関
 
Chef windows linux環境構築
靖 小田島
 
Aizu.LT::Tokyo #4
Taku Unno
 
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
 
Chef入門
Yasufumi Moritake
 
サーバー設定自動化は経営課題
Maho Takara
 
今日から使い始めるChef
Masahiro NAKAYAMA
 
DevOpsを実現するChef活用テクニック
Yusuke Ando
 
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
Terui Masashi
 
Openstack chef-repo
Tomokazu Hirai
 
Chef 11概要-osct
Naotaka Jay HOTTA
 
Ad

More from Microsoft Azure Japan (20)

PDF
Awl introduction and camera ra 121219
Microsoft Azure Japan
 
PDF
Microsoft smart store strategy
Microsoft Azure Japan
 
PDF
Smart Store Map
Microsoft Azure Japan
 
PDF
Smart Camera: Azure IoT + Container
Microsoft Azure Japan
 
PDF
Ms retail update ra 20191030
Microsoft Azure Japan
 
PDF
Smart store servlerless-20191030-40min
Microsoft Azure Japan
 
PDF
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
PDF
Smart storeを実現するAzureサービス IoT編
Microsoft Azure Japan
 
PDF
Azure IoT/AI最前線
Microsoft Azure Japan
 
PPTX
Ceonnect(): 2018 Japan AKS (Yoshio Terada)
Microsoft Azure Japan
 
PPTX
Connect(); 2018 Japan IoT <Hiroshi Ota>
Microsoft Azure Japan
 
PDF
App Service の DevOps と Visual Studio Team Services 最新アップデート
Microsoft Azure Japan
 
PDF
進化する Web ~ Progressive Web Apps の実装と応用 ~
Microsoft Azure Japan
 
PDF
音声 Chat で見込み客を獲得!Bot を活用した業務効率化
Microsoft Azure Japan
 
PDF
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
Microsoft Azure Japan
 
PDF
App center an overview
Microsoft Azure Japan
 
PDF
Intelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョン
Microsoft Azure Japan
 
PDF
高速開発でビジネスニーズをいち早く具現化する DevOps ソリューション
Microsoft Azure Japan
 
PDF
おもてなしサービスで売上伸長! 画像認識を活用した先端マーケティング 〜カメラとAIの素敵なカンケイ〜
Microsoft Azure Japan
 
PDF
AIを使いこなせ! ~AI最新技術とMicrosft AI Platform~
Microsoft Azure Japan
 
Awl introduction and camera ra 121219
Microsoft Azure Japan
 
Microsoft smart store strategy
Microsoft Azure Japan
 
Smart Store Map
Microsoft Azure Japan
 
Smart Camera: Azure IoT + Container
Microsoft Azure Japan
 
Ms retail update ra 20191030
Microsoft Azure Japan
 
Smart store servlerless-20191030-40min
Microsoft Azure Japan
 
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
Smart storeを実現するAzureサービス IoT編
Microsoft Azure Japan
 
Azure IoT/AI最前線
Microsoft Azure Japan
 
Ceonnect(): 2018 Japan AKS (Yoshio Terada)
Microsoft Azure Japan
 
Connect(); 2018 Japan IoT <Hiroshi Ota>
Microsoft Azure Japan
 
App Service の DevOps と Visual Studio Team Services 最新アップデート
Microsoft Azure Japan
 
進化する Web ~ Progressive Web Apps の実装と応用 ~
Microsoft Azure Japan
 
音声 Chat で見込み客を獲得!Bot を活用した業務効率化
Microsoft Azure Japan
 
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
Microsoft Azure Japan
 
App center an overview
Microsoft Azure Japan
 
Intelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョン
Microsoft Azure Japan
 
高速開発でビジネスニーズをいち早く具現化する DevOps ソリューション
Microsoft Azure Japan
 
おもてなしサービスで売上伸長! 画像認識を活用した先端マーケティング 〜カメラとAIの素敵なカンケイ〜
Microsoft Azure Japan
 
AIを使いこなせ! ~AI最新技術とMicrosft AI Platform~
Microsoft Azure Japan
 

Recently uploaded (10)

PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 
PDF
生成AIパネルトーク(Interop25Tokyo APPS JAPAN M1-07,M2-07 嶋ポジショントーク)
嶋 是一 (Yoshikazu SHIMA)
 
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
PDF
20250630_aws_reinforce_2025_aws_sheild_network_security_director
uedayuki
 
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー SIG-Audioプレゼン資料_オーディオプラグイン開発_塩澤達矢.pdf
IGDA Japan SIG-Audio
 
PDF
ABC2025S LT講演「世界の窓から Androidこんにちは2025」アプリ自動生成の将来?ロボティクスの夢再び?
嶋 是一 (Yoshikazu SHIMA)
 
PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 
生成AIパネルトーク(Interop25Tokyo APPS JAPAN M1-07,M2-07 嶋ポジショントーク)
嶋 是一 (Yoshikazu SHIMA)
 
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
20250630_aws_reinforce_2025_aws_sheild_network_security_director
uedayuki
 
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー SIG-Audioプレゼン資料_オーディオプラグイン開発_塩澤達矢.pdf
IGDA Japan SIG-Audio
 
ABC2025S LT講演「世界の窓から Androidこんにちは2025」アプリ自動生成の将来?ロボティクスの夢再び?
嶋 是一 (Yoshikazu SHIMA)
 
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 

S16 Microsoft Azure 上での Chef 環境の構成

  • 3. 目次 • Chef の概要 • Chef とは? • Chef のメリット • 利用可能な OS /ディストリビューション • Chef のアーキテクチャー • Chef の基本的な用語 • Chef の利用形態 • Enterprise Chef Server について • Open Source Chef Server について • Microsoft Azure と Chef • Azure での Chef 利用 • Knife Azure コマンド例 3
  • 4. 目次 • シナリオ例 • シナリオ#1 Azure 管理ポータルからの操作 • シナリオ#2 Chef Workstation からの操作 • Appendix • Appendix#1 Microsoft Azure アカウントの作成 • Appendix#2 サブスクリプションファイルの取得 • Appendix#3 Enterprise Chef へのユーザー登録 • Appendix#4 Chef スターターキットの取得 • Appendix#5 client.rb (設定ファイル)の作成 • Appendix#6 Chef Workstation 構築手順 4
  • 5. 5
  • 6. Chef とは? 米 Chef 社が提供するサーバー構築と構成管理の自動化フレームワーク http://www.getchef.com/ 6
  • 7. Chef のメリット • 拡張性 • 効率的 • 世代管理 7
  • 8. 利用可能な OS / ディストリビューション • Windows Server 2003 R2(i686, x86_64) • Windows Server 2008 R2(x86_64)* • Windows Server 2008(i686, x86_64) • Windows Server 2012 R2(x86_64)* • Windows Server 2012(x86_64)* • Debian 6, 7(i386, x86_64) • RHEL 5, 6(i686, x86_64) • CentOS 5, 6, 7 (i686, x86_64)* • Free BSD 9(adm64, i386) • OS X 10.6, 10.7, 10.8, 10.9 (x86_64) • SUSE Enterprise Linux 11.2(i386, x86_64)* • Solaris 5.9(sparc) • Solaris 5.10, 5.11(i386, sparc) • openSUSE 12.1(i686, x86_64) • Ubuntu 12.04 *, 12.10, 13.03, 13.10, 14.04 *(i386, x86_64) ※青色で表示されている OS は、Microsoft Azure でサポート 8
  • 9. Chef アーキテクチャー図(Chef Server / Client) 9 Server Chef Server 各 Node の構成情報を集中管理 Chef Workstation Knife プラグインがインストール されている Client Client Node Node Chef により管理されるサーバー
  • 10. Chef の基本的な用語 #1 • Server • Client 10
  • 11. Chef の基本的な用語 #2 • Knife プラグイン http://docs.opscode.com/plugin_knife.html • Recipe • Cookbook 11
  • 12. Chef の利用形態 • Chef Server / Client • Chef Solo
  • 13. Enterprise Chef Server(有償) について • ホステッド版 Chef • オンプレミス版 Chef 【詳細問合せ先】 13
  • 14. Open Source Chef Server について • オープンソース版の Chef Server • バージョン 10 以降は導入がとても簡単になっている かつては必要なミドルウェア群を別途導入する必要があった • Enterprise Chef Server との違い 14
  • 15. 15
  • 16. Azure での Chef 利用イメージ 16 Server Chef Workstation 仮想マシン Windows サーバー Windows サーバー Windows サーバー Linux サーバー Linux サーバー Linux サーバー 仮想マシン 仮想マシンの作成、削除、 停止、再起動 Azure 管理ポータル ・仮想マシンの作成、削除 ・Chef Client のインストール Knife の実行 Recipe の更新 Node 各 Node の構成情報を集中管理 Recipe の配布・各 Node の構成変更 ・アプリケーションの インストール
  • 17. Azure での Chef 利用 #1 • Azure 管理ポータル画面から Chef の利用が可能 • Knife Azure により、Microsoft Azure と Chef との連携が可能 17
  • 18. Azure での Chef 利用 #2 • PowerShell DSC と Chef との連携 • Windows 用 Cookbook の整備 Supermarket https://supermarket.getchef.com/cookbooks?utf8=%E2%9C%93&q=azure 18
  • 19. Knife Azure コマンド例 19 Azure 仮想マシン削除 knife azure server delete SERVER [SERVER] Azure 仮想マシン一覧表示 knife azure server list Azure 仮想マシン詳細表示 knife azure server show SERVER [SERVER] Azure 仮想マシン作成 knife azure server create
  • 20. 20
  • 21. 21 Server Hosted Chef Server Chef Workstation Azure 上に Linux サーバー (Ubuntu)を作成 Node Azure 上に Windows および Linux サーバーを作成 【Chef Server】 Chef 社が提供している Hosted Chef Server を 利用する 【Chef Workstation 】 Microsoft Azure 上に作成した仮想マシン (Linux サーバー)を利用する 【Node】 Microsoft Azure 上に仮想マシンを作成する
  • 22. 環境準備 22 手順 内容 準備 1. Microsoft Azure アカウントの作成 Microsoft Azure サブスクリプションの契約を行い、利用可能な状態にす る。Appendix#1 を参照 2. Azure サブスクリプションファイルの取 得 Microsoft Azure に API アクセスするための証明書であるサブスクリプ ションファイルをダウンロードする。Appendix#2 を参照 3. Enterprise Chef へのユーザー登録 Hosted Chef Server を利用するため、ホステッド版 Enterprise Chef へ のユーザー登録を行う。Appendix#3 を参照 4. Chef スターターキットの取得 Chef Server にアクセスするのに必要な秘密鍵や設定ファイルをまとめた Chef スターターキットを取得する。Appendix#4 を参照 5. client.rb (設定ファイル)の作成 Azure ポータル画面から Chef を利用する場合に使用する設定ファイルを 作成する。 Appendix#5 を参照 6. Chef Workstation 構築 Chef 操作用の環境(Workstation)を構築し、Windows Server インス タンス作成に使用する Cookbook を Chef Server に登録する。 Appendix#6 を参照
  • 23. シナリオ例 #1 Azure 管理ポータルからの操作 23 【ゴール】 構築した Web サーバーに、ローカル PC からアクセスすると、Web ペー ジが表示される。 【目的】 Azure 管理ポータルから、Windows サーバーを作成し、Chef を利用して Web サーバー(IIS)を構築する。
  • 24. シナリオ例 #1 Azure 管理ポータルからの操作 【仮想マシンの新規作成を行う】 1. 画面左下の「新規」をクリックする 24
  • 25. シナリオ例 #1 Azure 管理ポータルからの操作 【イメージの選択#1】 1. 「ギャラリーから」を選択す る 25
  • 26. シナリオ例 #1 Azure 管理ポータルからの操作 【イメージの選択#2】 1. 「Windows Server 2012 R2 Datacenter」を選択する 2. をクリックする 26
  • 27. シナリオ例 #1 Azure 管理ポータルからの操作 【仮想マシンの構成#1】 1. 「仮想マシンの構成」の必要項目 を入力する 2. をクリックする 27
  • 28. シナリオ例 #1 Azure 管理ポータルからの操作 【仮想マシンの構成#2】 1. 「地域/アフィニティグループ/ 仮想ネットワーク」で”日本 (東)”を選択する 2. エンドポイントに “HTTP” を追 加する 3. をクリックする 28
  • 29. シナリオ例 #1 Azure 管理ポータルからの操作 29 【構成拡張機能で Chef を選択する】 1. 「CLIENT.RB」 をローカルまたはスト レージから指定する  Appendix#5 で作成した client.rb を指定する 2. 「検証キー(.PEM)をローカルまたは ストレージから指定する。  Appendix#4 で準備した Chef スターター キットの chef-repo¥.chef フォルダにある azst-validator.pem を指定する 3. 実行の一覧(Run List)に IIS 設定用レシ ピを記入する。  記述内容:recipe['iis'] 4. をクリックする
  • 30. シナリオ例 #1 Azure 管理ポータルからの操作 30 【ローカル PC から Web ページを確認】 Azure 管理ポータルのダッシュボードで作成したサーバーの URL を確認し、ローカル PC のブラ ウザでアクセスする
  • 31. シナリオ例 #2 Chef Workstation からの操作 31 【ゴール】 構築した Web サーバーに、ローカル PC からアクセスすると、 Web ペー ジが表示される。 【目的】 Chef Workstation から Chef を使って、Azure 上に Linux サーバーを作 成し、Web サーバー(apache2)を構築する。
  • 32. シナリオ例 #2 Chef Workstation からの操作 1. Chef Workstation にログインする 2. Azure で利用できるマシンイメージを表示 3. 次の設定で Azure 上の仮想マシンを起動する -DNS名: azselfstudy11 -場所: 日本(東) -マシンイメージ: Ubuntu Server 12.04 LTS (amd64) -マシンサイズ: 小 -SSHログインユーザー: azureuser -SSHログインパスワード: Azure@@123456 -エンドポイント: 80:80 32 $ knife azure image list
  • 33. シナリオ例 #2 Chef Workstation からの操作 knife azure server create コマンドを実行 33 $ knife azure server create --azure-dns-name 'azselfstudy11' --azure-service-location 'Japan East' --azure-source-image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64- server-20121218-en-us-30GB --azure-vm-size Small --ssh-user 'azureuser' --ssh-password 'Azure@@123456' --tcp-endpoints 80:80 --run-list "recipe[chef-client], recipe[cron], recipe[apt], recipe[apache2], recipe[apache-site- enable]"
  • 34. シナリオ例 #2 Chef Workstation からの操作 34 Azure 管理ポータルで作成されたサーバーを確認 Azure 管理ポータルで仮想 マシンが作成されていること が確認できる
  • 35. シナリオ例 #2 Chef Workstation からの操作 35 ローカル PC から Web ページを確認 Azure 管理ポータルのダッシュボードで作成したサーバーの URL を確認し、ローカル PC の ブラウザでアクセスする
  • 36. 36
  • 37. Appendix#1 Microsoft Azure アカウントの作成 必要なもの ・Microsoft アカウント※Microsoft アカウント作成はこちらのページを参照 http://www.microsoft.com/ja-jp/msaccount/signup/default.aspx ・確認コードを音声か SMS で受け取るための携帯電話 ・身元確認のためのクレジットカード(無料評価版の場合は課金されない) Azureアカウントの作成手順 http://msdn.microsoft.com/ja-jp/windowsazure/ee943806.aspx ・アカウント作成後、管理ポータルにサインインできれば作成完了 ・Azure 管理ポータルの URL https://manage.windowsazure.com/ 37
  • 38. Appendix#2 サブスクリプション ファイルの取得 Microsoft Azure に API アクセスするための証明書であるサブスクリ プションファイルをダウンロードする https://manage.windowsazure.com/publishsettings/ 38
  • 39. Appendix#3 Enterprise Chef へのユーザー登録 #1 ホステッド版 Enterprise Chef へユーザー登録 Chef のトップページ https://www.getchef.com/ の右上の「GET CHEF」をクリックする 39
  • 40. Appendix#3 Enterprise Chef へのユーザー登録#2 「GET HOSTED CHEF」をクリックする 40
  • 41. Appendix#3 Enterprise Chef へのユーザー登録 #3 必要事項を入力し、 “I agree to the Terms of Service, Master License and Services Agreement.” にチェックを入れ、「Get Started」をクリックする 41
  • 42. Appendix#3 Enterprise Chef へのユーザー登録 #4 Organization の登録を行う。「Create New Organization」をクリックする。 42
  • 43. Appendix#3 Enterprise Chef へのユーザー登録 #5 Organization 名を入力し、「Create Organization」をクリックする 43
  • 44. Appendix#3 Enterprise Chef へのユーザー登録 #6 次の画面が表示されればユーザー登録は完了する 44
  • 45. Appendix#4 Chef スターターキットの取得 #1 Chef Server にアクセスするのに必要な秘密鍵や設定ファイル(knife.rb)をまとめた Chef スター ターキットをダウンロードする 「Download Starter Kit」をクリックする 45
  • 46. Appendix#4 Chef スターターキットの取得 # 2 「Proceed」をクリックすると chef-starter.zip ファイルがダウンロードされる 46 シナリオ例#1 で利用するため、ダウンロードした chef-starter.zip ファイルをローカル PC で解凍 しておく 解凍すると、chef-repo フォルダが配置される
  • 47. Appendix#5 client.rb (設定ファイル)の作成 シナリオ例#1 で使用する client.rb ファイルを作成する Appendix#4 で準備した chef-repo フォルダ内にある、.chef フォルダ内の knife.rb ファイルから、以下の項目を client.rb ファイルにコピーする • chef_server_url • validation_client_name (例) chef_server_url https://api.opscode.com/organizations/azst validation_client_name "azst-validator" 47
  • 48. Appendix#6 Chef Workstation 構築手順#1 1. Chef Workstation 用端末で以下の作業を実行する 本項では OS に Ubuntu を使用。ユーザー名は、azureuser としている 2. 開発環境等の準備 3. Chef Client を Omnibus installer でインストール 4. スターターキットの配置 Appendix#4 で取得した Chef スターターキット(chef-starter.zip)をChef Workstation の /home/azureuser/ に 配置する。配置後、スターターキット(chef-starter.zip)を解凍する 48 $ sudo apt-get update $ sudo apt-get install tree $ sudo apt-get install unzip $ sudo apt-get install build-essential $ curl -L http://www.opscode.com/chef/install.sh | sudo bash $ unzip chef-starter.zip
  • 49. Appendix#6 Chef Workstation 構築手順#1 5. Chef-repo ディレクトリの設定 Chef-repo を Git で管理するようにする。 6. Knife Azure のインストール 7. Knife Azure の設定 Appendix#2 で取得したサブスクリプション ファイルを Chef Workstation の /home/ユーザー/chef- repo/.chef にコピーし、サブスクリプションファイルのパスを knife.rb に記載する 49 $ sudo /opt/chef/embedded/bin/gem install knife-azure --no-rdoc --no-ri $ sudo apt-get install git $ cd /home/azureuser/chef-repo/ $ git init $ git add * $ git commit -m '1st コミット' knife[:azure publish_settings_file] = ‘/home/azureuser/chef- repo/.chef/credentials.publishsettings'
  • 50. Appendix#6 Chef Workstation 構築手順#2 8. Cookbook の準備 8.1. Chef 社で公開している Cookbook を Chef Workstation 内にインストール 8.2. Chef Workstation 内の Cookbook を Enterprise Chef に登録 8.3. Apache を設定する Cookbook の作成 50 $ knife cookbook site install chef-client $ knife cookbook site install cron $ knife cookbook site install apt $ knife cookbook site install iis $ knife cookbook site install apache2 $ knife cookbook upload -a $ knife cookbook create apache-site-enable
  • 51. Appendix#6 Chef Workstation 構築手順#3 8.4. apache-site-enable/recipes/default.rb に以下を追記 8.5. Enterprise Chef に Cookbook ”apache-site-enable” を登録 51 $ vi /home/ユーザー/chef-repo/cookbooks/apache-site-enable /recipes/default.rb execute "a2ensite" do command "a2ensite default" action :run end service "apache2" do supports :restart => true, :reload => true action :enable end $ knife cookbook upload apache-site-enable
  • 52. 52