SlideShare a Scribd company logo
1 of 29
Download to read offline
2016年9月10日
System Center User Group Japan
金井 崇
Copyright © 2016 System Center User Group Japan.
All Rights Reserved.
 名前:金井 崇
 所属:株式会社IDCフロンティア
 仕事:2008年からクラウド(IaaS)インフラの設計・構築・運用
を担当。最近はオールフラッシュやGPUなどIaaSの強化を担当。
Chefを使った基盤の設計・構築も過去に実施。
 SNSなど:
 Facebook https://www.facebook.com/anikundesu
 Blog http://www.takanyan.net/
 Twitter @anikundesu
 LinkedIn https://jp.linkedin.com/in/takashikanai/ja
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 1
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 2
内容は当社クラウドに関することが多いですが、
私の担当は、本日の主題でもある「Chef」について。
以下のような疑問への答えが、あるかも。
• クラウドでインスタンス作成・ミドルウェア構築・
リリースまで全自動で実行する方法
• 本日扱わない、Linux系OSの自動構築方法
• Chef以外の構築自動化ツールの利用方法
9月10日
今日は何の日?
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 3
9月10日
ク(9)ラウド(10)の日
※一般社団法人日本記念日協会認定(2016/9/9)
http://itpro.nikkeibp.co.jp/atcl/news/16/090902638/
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 4
本セッションは、Windows10 Insider Preview(Fast Ring、タイミングによりバージョンが異なる)とWindows Server
2016 Technical Preview 5での検証結果をもとに記述をしています。正式版では挙動が異なる場合がありますので、
ご留意ください。
本セッション資料は、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。
あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは関係がございません。
所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。
また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不利益に
ついて、発表者は一切の責任を負う事はできませんのでご了承ください。
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 5
1. Chef Overview
• Chefとは何か
• なぜChefを使うのか
• ChefとWindows
2. Chef環境の構築
• Chef Serverの構築
• Chef Workstationの構築
• ChefからWindows Serverを自動構築
3. Chef開発環境の整備
• Windows Subsystem for Linux
• Visual Studio Code
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 6
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 7
 構築・構成管理の自動化ツール
 オープンソースソフトウェア
 管理サーバー(Chef Server)で構成を一括管理
 Agent(Chef Client)がサーバーから構成を取得(Pull)
 開発はChef Workstationで行う
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 8
Chef開発環境
(Workstation)
構成管理
(Server)
管理対象Agent
(Client)
 Chef Workstationで設計書であるCookbookを開発
 手動or定期的にChef Clientが設計書を取得して実行
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 9
Cookbook
(設計書)
Dev Ops
(Devploy)
 Cookbook:Rubyで記述した特定の操作・ソフトの設計書
 Role :Cookbook、Recipeを束ねた役割(Web、DBなど)
 Knife :Chefに指示を出すためのコマンド
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 10
Cookbook
Metadata
(名称、バージョンなど)
Recipes
(操作の指示)
Attributes
(変数の指示)
Resources (操作する対象・Action・変数)
Execute
(コマンド実行)
File
(File操作)
Packages
(アプリ導入)
Templates
(変数有File)
Service
(起動・停止)
etc….
Providers
(OS抽象化)
Libraries
(補助Script)
OS(Client)
指示
抽象化 補助
 DevOps
◦ インフラをコードで記述→“Infrastructure as Code”
◦ Code Test手法が使える→“Test Driven Infrastructure”
 Open Source
◦ Open Sourceのコミュニティの力を使える
◦ Chef”エコシステム”が出来ている
 シームレス
◦ Windows, Linux両方で使える
◦ クラウドでもオンプレでも使える
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 11
ChefはWindowsをフルサポート
◦ Cookbook開発はWindows/Linuxで同等に可能
◦ PowerShell DSC対応
◦ Azure RM対応ツール群(テストツールなど)
◦ リモートコマンド実行はwinrm, ssh両方対応
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 12
“Together, Chef and Microsoft are empowering DevOps adoption in the enterprise
with integrated technologies that improve collaboration and speed software
development.”
- Jeffrey Snover, Technical Fellow and Lead Architect for Windows Server, Microsoft
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 13
Chef ClientChef ServerChef Workstation
 Windows10 ProノートPC上のHyper-Vで構成
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 14
• Windows10 Pro上のBash on Ubuntu
• Cookbook開発はVisual Studio Code
• Hyper-Vのホストを兼務
• Windows10 Pro上のVM
• CentOS 7.2
• ホスト名はChefServer
• Windows10 Pro上のVM
• Windows Server 2016 TP5
• ホスト名はWin2016TP5-chef
 Chef ServeはLinux系OS上にのみ構築可能
 Chef本家サイトにある手順で実行
https://docs.chef.io/install_server.html
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 15
DEMO 1
Chef ServerのWebコンソールを見てみる
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 16
 LinuxでもWindowsでも構築可能
 Windowsだと文字のエスケープ等で難あり
 Windows Subsystem for Linuxという手もある
 Windows10上でBash on Ubuntuを呼び出して構築
https://docs.chef.io/install_dk.html
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 17
DEMO 2
Bash on Ubuntu on Windows10で構築した
Chef Workstationでのknifeコマンド実行
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 18
<事前準備>
◦ Windows ServerにIPアドレスを設定
◦ “winrm quickconfig”でリモート管理を有効化
◦ 名前解決ができるようChef Serverのhostsを編集
◦ Windows用Cookbookを開発
<構築時の操作>
“knife bootstrap”コマンド
⇒Chef ClientのインストールからCookbook実行を自動化
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 19
DEMO 3
Chef cookbookを実行してWindows Server 2016 TP5へ
(1) IISの役割のインストール
(2) IISで公開するコンテンツ展開を実行
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 20
 Cookbookの更新(開発)
 Chef Serverへのアップロード
$ git add (更新したファイル)
$ git commit –m “コメント”
$ knife cookbook upload (Cookbook名)
 Chef Clientプログラムの実行(Workstationから)
$ knife winrm ‘name:(Clientのホスト名)' 'chef-client' -x Administrator
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 21
DEMO 4
Chef cookbookを実行してWindows Server 2016 TP5へ
(1) IIS Cookbookのコンテンツを編集
(2) ClientでのCookbook再実行
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 22
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 23
 Windows10 build 14393から利用可能
 Windows10上にUbuntu 14.04が!
 導入手順はMSDNの下記URLを参照
https://msdn.microsoft.com/ja-jp/commandline/wsl/install_guide
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 24
 Windows, Linux, Mac OSで動く
 Chef用拡張プラグインもある
 Windowsでの導入手順はこちら
https://code.visualstudio.com/docs/setup/windows
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 25
 デフォルトのTerminalはcmd.exe
 設定変更は「ファイル」>「基本設定」>「ユーザー設定」
 以下の内容をsettings.jsonに記述
 統合Terminalでのコピー&ペーストは「Ctrl+Shift+c (or v)」
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 26
{
"terminal.integrated.shell.windows": "C:¥¥Windows¥¥sysnative¥¥bash.exe",
"termnial.integrated.shell.unixlike": "bash.exe"
}
 “DevOps”と”Open Source”の流れは止まらない
 運用の自動化・Code化が進む
インフラをCodeで扱うことに慣れていくことが重要
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 27
 Chef本家のドキュメントサイト
https://docs.chef.io/
 クラウド時代のシステム管理(私の個人Blog)
http://www.takanyan.net/
Copyright © 2016 System Center User Group Japan.
All Rights Reserved. 28

More Related Content

What's hot

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するKohei Tokunaga
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
AWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SESAWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SESAmazon Web Services Japan
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-Yuta Imai
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container StorageTakuya Utsunomiya
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...NTT DATA Technology & Innovation
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護 junichi anno
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様Shuji Kikuchi
 
ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!IIJ
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編なべ
 
Apache 2.4 新機能 “SSL編”
Apache 2.4 新機能 “SSL編”Apache 2.4 新機能 “SSL編”
Apache 2.4 新機能 “SSL編”Ryosuke Yamazaki
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsKumar Shìvam
 

What's hot (20)

DNS再入門
DNS再入門DNS再入門
DNS再入門
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
AWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SESAWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SES
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container Storage
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様
 
ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
Apache 2.4 新機能 “SSL編”
Apache 2.4 新機能 “SSL編”Apache 2.4 新機能 “SSL編”
Apache 2.4 新機能 “SSL編”
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon QLDB를 통한 원장 기반 운전 면허 검증 서비스 구현 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 

Similar to Chefで始めるWindows Server構築

Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Makoto Nishimura
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座Hiroaki Oikawa
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころWindows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころSatoru Nasu
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure FunctionsKeiji Kamebuchi
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成Microsoft Azure Japan
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介ThinkIT_impress
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops裕貴 荒井
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話Kazuki Takai
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 

Similar to Chefで始めるWindows Server構築 (20)

Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころWindows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介Docker国内外本番環境サービス事例のご紹介
Docker国内外本番環境サービス事例のご紹介
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 

More from Takashi Kanai

Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成Takashi Kanai
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
Toward Scalable and Powerful CloudStack
Toward Scalable and Powerful CloudStackToward Scalable and Powerful CloudStack
Toward Scalable and Powerful CloudStackTakashi Kanai
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションTakashi Kanai
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Rancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかRancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかTakashi Kanai
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドTakashi Kanai
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドTakashi Kanai
 

More from Takashi Kanai (9)

Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
Toward Scalable and Powerful CloudStack
Toward Scalable and Powerful CloudStackToward Scalable and Powerful CloudStack
Toward Scalable and Powerful CloudStack
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Rancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかRancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるか
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
 

Chefで始めるWindows Server構築

  • 1. 2016年9月10日 System Center User Group Japan 金井 崇 Copyright © 2016 System Center User Group Japan. All Rights Reserved.
  • 2.  名前:金井 崇  所属:株式会社IDCフロンティア  仕事:2008年からクラウド(IaaS)インフラの設計・構築・運用 を担当。最近はオールフラッシュやGPUなどIaaSの強化を担当。 Chefを使った基盤の設計・構築も過去に実施。  SNSなど:  Facebook https://www.facebook.com/anikundesu  Blog http://www.takanyan.net/  Twitter @anikundesu  LinkedIn https://jp.linkedin.com/in/takashikanai/ja Copyright © 2016 System Center User Group Japan. All Rights Reserved. 1
  • 3. Copyright © 2016 System Center User Group Japan. All Rights Reserved. 2 内容は当社クラウドに関することが多いですが、 私の担当は、本日の主題でもある「Chef」について。 以下のような疑問への答えが、あるかも。 • クラウドでインスタンス作成・ミドルウェア構築・ リリースまで全自動で実行する方法 • 本日扱わない、Linux系OSの自動構築方法 • Chef以外の構築自動化ツールの利用方法
  • 4. 9月10日 今日は何の日? Copyright © 2016 System Center User Group Japan. All Rights Reserved. 3
  • 6. 本セッションは、Windows10 Insider Preview(Fast Ring、タイミングによりバージョンが異なる)とWindows Server 2016 Technical Preview 5での検証結果をもとに記述をしています。正式版では挙動が異なる場合がありますので、 ご留意ください。 本セッション資料は、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。 あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは関係がございません。 所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。 また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不利益に ついて、発表者は一切の責任を負う事はできませんのでご了承ください。 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 5
  • 7. 1. Chef Overview • Chefとは何か • なぜChefを使うのか • ChefとWindows 2. Chef環境の構築 • Chef Serverの構築 • Chef Workstationの構築 • ChefからWindows Serverを自動構築 3. Chef開発環境の整備 • Windows Subsystem for Linux • Visual Studio Code Copyright © 2016 System Center User Group Japan. All Rights Reserved. 6
  • 8. Copyright © 2016 System Center User Group Japan. All Rights Reserved. 7
  • 9.  構築・構成管理の自動化ツール  オープンソースソフトウェア  管理サーバー(Chef Server)で構成を一括管理  Agent(Chef Client)がサーバーから構成を取得(Pull)  開発はChef Workstationで行う Copyright © 2016 System Center User Group Japan. All Rights Reserved. 8 Chef開発環境 (Workstation) 構成管理 (Server) 管理対象Agent (Client)
  • 10.  Chef Workstationで設計書であるCookbookを開発  手動or定期的にChef Clientが設計書を取得して実行 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 9 Cookbook (設計書) Dev Ops (Devploy)
  • 11.  Cookbook:Rubyで記述した特定の操作・ソフトの設計書  Role :Cookbook、Recipeを束ねた役割(Web、DBなど)  Knife :Chefに指示を出すためのコマンド Copyright © 2016 System Center User Group Japan. All Rights Reserved. 10 Cookbook Metadata (名称、バージョンなど) Recipes (操作の指示) Attributes (変数の指示) Resources (操作する対象・Action・変数) Execute (コマンド実行) File (File操作) Packages (アプリ導入) Templates (変数有File) Service (起動・停止) etc…. Providers (OS抽象化) Libraries (補助Script) OS(Client) 指示 抽象化 補助
  • 12.  DevOps ◦ インフラをコードで記述→“Infrastructure as Code” ◦ Code Test手法が使える→“Test Driven Infrastructure”  Open Source ◦ Open Sourceのコミュニティの力を使える ◦ Chef”エコシステム”が出来ている  シームレス ◦ Windows, Linux両方で使える ◦ クラウドでもオンプレでも使える Copyright © 2016 System Center User Group Japan. All Rights Reserved. 11
  • 13. ChefはWindowsをフルサポート ◦ Cookbook開発はWindows/Linuxで同等に可能 ◦ PowerShell DSC対応 ◦ Azure RM対応ツール群(テストツールなど) ◦ リモートコマンド実行はwinrm, ssh両方対応 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 12 “Together, Chef and Microsoft are empowering DevOps adoption in the enterprise with integrated technologies that improve collaboration and speed software development.” - Jeffrey Snover, Technical Fellow and Lead Architect for Windows Server, Microsoft
  • 14. Copyright © 2016 System Center User Group Japan. All Rights Reserved. 13
  • 15. Chef ClientChef ServerChef Workstation  Windows10 ProノートPC上のHyper-Vで構成 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 14 • Windows10 Pro上のBash on Ubuntu • Cookbook開発はVisual Studio Code • Hyper-Vのホストを兼務 • Windows10 Pro上のVM • CentOS 7.2 • ホスト名はChefServer • Windows10 Pro上のVM • Windows Server 2016 TP5 • ホスト名はWin2016TP5-chef
  • 16.  Chef ServeはLinux系OS上にのみ構築可能  Chef本家サイトにある手順で実行 https://docs.chef.io/install_server.html Copyright © 2016 System Center User Group Japan. All Rights Reserved. 15
  • 17. DEMO 1 Chef ServerのWebコンソールを見てみる Copyright © 2016 System Center User Group Japan. All Rights Reserved. 16
  • 18.  LinuxでもWindowsでも構築可能  Windowsだと文字のエスケープ等で難あり  Windows Subsystem for Linuxという手もある  Windows10上でBash on Ubuntuを呼び出して構築 https://docs.chef.io/install_dk.html Copyright © 2016 System Center User Group Japan. All Rights Reserved. 17
  • 19. DEMO 2 Bash on Ubuntu on Windows10で構築した Chef Workstationでのknifeコマンド実行 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 18
  • 20. <事前準備> ◦ Windows ServerにIPアドレスを設定 ◦ “winrm quickconfig”でリモート管理を有効化 ◦ 名前解決ができるようChef Serverのhostsを編集 ◦ Windows用Cookbookを開発 <構築時の操作> “knife bootstrap”コマンド ⇒Chef ClientのインストールからCookbook実行を自動化 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 19
  • 21. DEMO 3 Chef cookbookを実行してWindows Server 2016 TP5へ (1) IISの役割のインストール (2) IISで公開するコンテンツ展開を実行 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 20
  • 22.  Cookbookの更新(開発)  Chef Serverへのアップロード $ git add (更新したファイル) $ git commit –m “コメント” $ knife cookbook upload (Cookbook名)  Chef Clientプログラムの実行(Workstationから) $ knife winrm ‘name:(Clientのホスト名)' 'chef-client' -x Administrator Copyright © 2016 System Center User Group Japan. All Rights Reserved. 21
  • 23. DEMO 4 Chef cookbookを実行してWindows Server 2016 TP5へ (1) IIS Cookbookのコンテンツを編集 (2) ClientでのCookbook再実行 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 22
  • 24. Copyright © 2016 System Center User Group Japan. All Rights Reserved. 23
  • 25.  Windows10 build 14393から利用可能  Windows10上にUbuntu 14.04が!  導入手順はMSDNの下記URLを参照 https://msdn.microsoft.com/ja-jp/commandline/wsl/install_guide Copyright © 2016 System Center User Group Japan. All Rights Reserved. 24
  • 26.  Windows, Linux, Mac OSで動く  Chef用拡張プラグインもある  Windowsでの導入手順はこちら https://code.visualstudio.com/docs/setup/windows Copyright © 2016 System Center User Group Japan. All Rights Reserved. 25
  • 27.  デフォルトのTerminalはcmd.exe  設定変更は「ファイル」>「基本設定」>「ユーザー設定」  以下の内容をsettings.jsonに記述  統合Terminalでのコピー&ペーストは「Ctrl+Shift+c (or v)」 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 26 { "terminal.integrated.shell.windows": "C:¥¥Windows¥¥sysnative¥¥bash.exe", "termnial.integrated.shell.unixlike": "bash.exe" }
  • 28.  “DevOps”と”Open Source”の流れは止まらない  運用の自動化・Code化が進む インフラをCodeで扱うことに慣れていくことが重要 Copyright © 2016 System Center User Group Japan. All Rights Reserved. 27