Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Keiji Kamebuchi
4,546 views
Infrastructure as code for azure
GoAzure 2015 のセッション資料
Technology
◦
Read more
14
Save
Share
Embed
Embed presentation
Download
Downloaded 37 times
1
/ 58
2
/ 58
3
/ 58
4
/ 58
5
/ 58
6
/ 58
7
/ 58
8
/ 58
9
/ 58
10
/ 58
11
/ 58
12
/ 58
13
/ 58
14
/ 58
15
/ 58
16
/ 58
17
/ 58
18
/ 58
19
/ 58
20
/ 58
21
/ 58
22
/ 58
23
/ 58
24
/ 58
25
/ 58
26
/ 58
27
/ 58
28
/ 58
29
/ 58
30
/ 58
31
/ 58
32
/ 58
33
/ 58
34
/ 58
35
/ 58
36
/ 58
37
/ 58
38
/ 58
39
/ 58
40
/ 58
41
/ 58
42
/ 58
43
/ 58
44
/ 58
45
/ 58
46
/ 58
47
/ 58
48
/ 58
49
/ 58
50
/ 58
51
/ 58
52
/ 58
53
/ 58
54
/ 58
55
/ 58
56
/ 58
57
/ 58
58
/ 58
More Related Content
PPTX
GoAzure 2015 Azure AD for Developers
by
kekekekenta
PDF
Windows Azure Active Directory for your cloud applications
by
kekekekenta
PPTX
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
by
junichi anno
PDF
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
by
Microsoft Azure Japan
PDF
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
by
junichi anno
PPTX
リソーステンプレート入門
by
junichi anno
PPTX
Microsoft Azure のセキュリティ
by
junichi anno
PPTX
Azure Active Directory 1枚資料 20151125版
by
junichi anno
GoAzure 2015 Azure AD for Developers
by
kekekekenta
Windows Azure Active Directory for your cloud applications
by
kekekekenta
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
by
junichi anno
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
by
Microsoft Azure Japan
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
by
junichi anno
リソーステンプレート入門
by
junichi anno
Microsoft Azure のセキュリティ
by
junichi anno
Azure Active Directory 1枚資料 20151125版
by
junichi anno
What's hot
PDF
クラウドにおける Windows Azure Active Directory の役割
by
junichi anno
PPTX
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
by
junichi anno
PPTX
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
by
Shinya Yamaguchi
PDF
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
by
junichi anno
PDF
Microsoft と Digital Identity
by
junichi anno
PPTX
.NETラボ勉強会資料 Azure AD Identity Protection を知る
by
Shinya Yamaguchi
PDF
Dynamic Access Control 解説編
by
junichi anno
PDF
Office365のIdentity管理
by
Naohiro Fujie
PDF
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
by
Shinichiro Kosugi
PDF
Azure ADとIdentity管理
by
Naohiro Fujie
PDF
Insight into Azure Active Directory - Azure AD Custom Role & Scope
by
Kazuki Takai
PDF
ID連携における仮名
by
Naohiro Fujie
PDF
AAD authentication for azure app v0.1.20.0317
by
Ayumu Inaba
PPT
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
by
junichi anno
PDF
IDaaS を正しく活用するための認証基盤設計
by
Trainocate Japan, Ltd.
PDF
Active Directory 最新情報 2012.8.31 暫定版
by
junichi anno
PDF
JAZUG Nagoya Azure Update 20140607
by
Ayako Omori
PDF
ADFS の vNext
by
Mari Miyakawa
PPTX
AKS on Azure Stack HCI/Windows Serverの準備と監視 _ Preparing and monitoring AKS on...
by
Norio Sashizaki
PPTX
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
by
junichi anno
クラウドにおける Windows Azure Active Directory の役割
by
junichi anno
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
by
junichi anno
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
by
Shinya Yamaguchi
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
by
junichi anno
Microsoft と Digital Identity
by
junichi anno
.NETラボ勉強会資料 Azure AD Identity Protection を知る
by
Shinya Yamaguchi
Dynamic Access Control 解説編
by
junichi anno
Office365のIdentity管理
by
Naohiro Fujie
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
by
Shinichiro Kosugi
Azure ADとIdentity管理
by
Naohiro Fujie
Insight into Azure Active Directory - Azure AD Custom Role & Scope
by
Kazuki Takai
ID連携における仮名
by
Naohiro Fujie
AAD authentication for azure app v0.1.20.0317
by
Ayumu Inaba
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
by
junichi anno
IDaaS を正しく活用するための認証基盤設計
by
Trainocate Japan, Ltd.
Active Directory 最新情報 2012.8.31 暫定版
by
junichi anno
JAZUG Nagoya Azure Update 20140607
by
Ayako Omori
ADFS の vNext
by
Mari Miyakawa
AKS on Azure Stack HCI/Windows Serverの準備と監視 _ Preparing and monitoring AKS on...
by
Norio Sashizaki
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
by
junichi anno
Viewers also liked
PDF
ゆるふわAzure Functions
by
Keiji Kamebuchi
PDF
Azure <3 Openness
by
Keiji Kamebuchi
PDF
VYATTA USERS MEETING Spring 2014 - JAZUG
by
Keiji Kamebuchi
PDF
C#ユーザー会 //build/ まとめ(サーバー編)
by
Keiji Kamebuchi
PDF
ちょっと分かった気になるAzure概要
by
Keiji Kamebuchi
PDF
Azure App Service Overview LT
by
Keiji Kamebuchi
PDF
スクリプトによるAzure管理Tips / JAZUG 2014.09.26
by
Keiji Kamebuchi
PDF
Azure概要とハイブリッドWebサイトとか / 2014.09.27
by
Keiji Kamebuchi
PDF
AzureでLaravel動かしてみた
by
Keiji Kamebuchi
PDF
クラウドことはじめ
by
Keiji Kamebuchi
PDF
Azure How to Learn &ゆるふわ雑談Q&A
by
Keiji Kamebuchi
PDF
Azure Functions と Serverless - 概要と企業向け Tips
by
Keiji Kamebuchi
ゆるふわAzure Functions
by
Keiji Kamebuchi
Azure <3 Openness
by
Keiji Kamebuchi
VYATTA USERS MEETING Spring 2014 - JAZUG
by
Keiji Kamebuchi
C#ユーザー会 //build/ まとめ(サーバー編)
by
Keiji Kamebuchi
ちょっと分かった気になるAzure概要
by
Keiji Kamebuchi
Azure App Service Overview LT
by
Keiji Kamebuchi
スクリプトによるAzure管理Tips / JAZUG 2014.09.26
by
Keiji Kamebuchi
Azure概要とハイブリッドWebサイトとか / 2014.09.27
by
Keiji Kamebuchi
AzureでLaravel動かしてみた
by
Keiji Kamebuchi
クラウドことはじめ
by
Keiji Kamebuchi
Azure How to Learn &ゆるふわ雑談Q&A
by
Keiji Kamebuchi
Azure Functions と Serverless - 概要と企業向け Tips
by
Keiji Kamebuchi
Similar to Infrastructure as code for azure
PDF
Azure CLI あずにゃんの CLI を使ってみた結果www
by
Masahito Zembutsu
PDF
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
by
Issei Hiraoka
PDF
de:code 2019 Cloud トラック 総まとめ!
by
Minoru Naito
PDF
S15 コマンドラインおよび API による Microsoft Azure の管理
by
Microsoft Azure Japan
PDF
Container deployment on Azure
by
Tsukasa Kato
PDF
20190201 Cloud Native Kansai AKS Azure
by
Issei Hiraoka
PPTX
Container x azure x kubernetes
by
Yasuaki Matsuda
PDF
俺的 Build Update まとめ
by
Yui Ashikaga
PDF
AKS+KEDAで実現!Container Functions Pipeline
by
Tsukasa Kato
PPTX
インフラ観点で運用を考える!Windows 10 VDI on Azure
by
Miho Yamamoto
PDF
Azure DevOps 関西 2019 - Overview
by
Keiji Kamebuchi
PDF
Azure DevOps - ALGYAN Oct 2022.pdf
by
YasuhiroHanda2
PDF
GitHub Actions で CI/CD
by
Issei Hiraoka
PDF
Azure IaaS update (2018年6月~7月 発表版)
by
Takamasa Maejima
PDF
Microsoft azureで実装するwebserviceondocker
by
Tsukasa Kato
PPTX
Azureで始めるDevOps
by
Atsushi Kojima
PDF
ArcBox のおさらいと最新情報
by
Kazuki Takai
PPTX
20170422 azure portal cli 使いこなし
by
Takayoshi Tanaka
PDF
DevOps on Azure Kubernetes
by
Issei Hiraoka
PDF
Microsoft Azure Stack Overview and Roadmap - March 7th, 2019.
by
Takeshi Fukuhara
Azure CLI あずにゃんの CLI を使ってみた結果www
by
Masahito Zembutsu
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
by
Issei Hiraoka
de:code 2019 Cloud トラック 総まとめ!
by
Minoru Naito
S15 コマンドラインおよび API による Microsoft Azure の管理
by
Microsoft Azure Japan
Container deployment on Azure
by
Tsukasa Kato
20190201 Cloud Native Kansai AKS Azure
by
Issei Hiraoka
Container x azure x kubernetes
by
Yasuaki Matsuda
俺的 Build Update まとめ
by
Yui Ashikaga
AKS+KEDAで実現!Container Functions Pipeline
by
Tsukasa Kato
インフラ観点で運用を考える!Windows 10 VDI on Azure
by
Miho Yamamoto
Azure DevOps 関西 2019 - Overview
by
Keiji Kamebuchi
Azure DevOps - ALGYAN Oct 2022.pdf
by
YasuhiroHanda2
GitHub Actions で CI/CD
by
Issei Hiraoka
Azure IaaS update (2018年6月~7月 発表版)
by
Takamasa Maejima
Microsoft azureで実装するwebserviceondocker
by
Tsukasa Kato
Azureで始めるDevOps
by
Atsushi Kojima
ArcBox のおさらいと最新情報
by
Kazuki Takai
20170422 azure portal cli 使いこなし
by
Takayoshi Tanaka
DevOps on Azure Kubernetes
by
Issei Hiraoka
Microsoft Azure Stack Overview and Roadmap - March 7th, 2019.
by
Takeshi Fukuhara
Recently uploaded
PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
Infrastructure as code for azure
1.
Infrastructure as Code
for Azure GoAzure 2015 / 2015.01.16 JAZUG 青木 賢太郎 JAZUG 亀渕 景司 Ver 1.3
2.
Agenda • Infrastructure as
Code概論 • Azureでの基本 • システム全体 • インスタンス単位 • まとめ 2
3.
Speaker's 3 { "objectType": "User", “displayName”: “青木
賢太郎", "mail": "aoki-kentaro@mki.co.jp", “company”: “三井情報株式会社", "onPremisesSecurityIdentifier": null, "odata.type": "Microsoft.DirectoryServices.User" } MKI
4.
Speaker's { "name" : "Keiji
Kamebuchi", "corporation" : "pnop Inc.", "mail" : "kamebuchi@pnop.co.jp", "web" : "http://buchizo.wordpress.com/", "twitter" : "@kosmosebi", } 4 buchizo@kosmosebi Senior Fellow
5.
大事なお知らせ 5 • このセッションは 2015/01/16
時点の情報を 基にしています • 最新情報はWebで❕
6.
こんな経験ありませんか? • 手順書見ながらインストール – 手順書が古い
/ どれが最新か分からない – 行間を読まないといけない(漏れ・ミス) • 人力チェック! • 毎回何か違う… 6
7.
どうすればいいの • 自動化するといいよね • 誰が何度やっても同じ結果にしよう 7 •
プログラムのようにコーディングして • コンピューターに実行・チェックさせればいい • Infrastructure as Code
8.
Goal • Azureにおける Infrastructure
as Codeを知る • Azureのインフラをコードで 制御する術を知る 8
9.
最初に • Infrastructureって? • Infrastructure
as Codeって? • Immutable?冪等性? 9
10.
Infrastructureって? • アプリケーションを動かすための基盤 (※このセッションでの狭義) • ハードウェア、ネットワーク、OS、ミドルウェア… 10 OS
Middleware Application Infrastructure
11.
Infrastructure as Code •
ハードウェア・ネットワークなどプラットフォームの仮 想化により、ソフトウェア的に定義できる = コードのようにインフラを定義できる 11
12.
Immutable Infrastructure / Disposable
Components • Immutable (不変の) • Disposable (使い捨てな) • Disposable は重要 – 継続的インテグレーションや継続的改善がしやすい – 気軽に破棄できないと展開やライフサイクルに影響 – 永続化されるデータを外部へ(ログなど) 12
13.
冪等性(べき等性) • 冪等:ある操作を1度行っても複数回行っ ても同じ結果(効果)になること • PowerShell
DSCなど多くの宣言的な構成 ツールは冪等性が担保されている – ⇒ 何度実行しても同じ構成になることを保証 13
14.
手続きと宣言 • 手続き的 – 逐次処理を記述 •
宣言的 – どのようにしたいかを記述 – ChefのレシピやPowerShell DSCの Configurationなど 14
15.
システムのライフサイクル 15 • 粒度の差はあれど大筋 は変わらない • どうやって展開・運用 する? •
何を使う? • スパンは? 開発 展開運用 今日の主題
16.
AZUREでの基本 16
17.
Command Line Interface •
Azure PowerShell – PowerShell Cmdlets – Windows PowerShell 3.0 / .NET Framework 4.5 が必要 • Azure クロスプラットフォーム CLI – Azure xplat CLI – Node.js が必要 17
18.
使う前に • Add-AzureAccount – 対話ログオン –
xplat CLIの場合: azure login • Import-AzurePublishSettingsFile – 証明書を使った資格情報の設定 – xplat CLIの場合: azure account import 18
19.
その他 • Azure Management
REST API – 言語非依存 – Azure PowerShellやxplat CLIが利用 – http://msdn.microsoft.com/ja-jp/library/azure/ee460799.aspx 19
20.
全体像(展開時) 20 システム全体 OS アプリケーション インフラ Azureネイティブ 3rd Party Azure
Resource Manager Azure Automation Azure PowerShell / xplat CLI AzureManagementRESTAPI Azure VM Extension Kubernetes Orchestration Configuration Bootstrapping
21.
システム全体 21
22.
Orchestration • 複数ロール・台数のサーバーを自動的に構成・管理 • 機能・対象範囲などソリューションによって様々 22
23.
Azure Resource Manager •
Azureのサービスやインスタンスなどをリソースとして 扱うための機能 – 機能単位ではなく論理的なリソースとして纏めて管理できる – 役割ベースの管理(RBAC)やタグ • 使用するリソースを記述したテンプレートを用いて 宣言的にAzure上に構成可能 – テンプレートはJSON形式 23
24.
利用時の注意点 • Azure PowerShellのモードを切り替える –
Switch-AzureMode -Name AzureResourceManager – 戻す場合は Switch-AzureMode -Name AzureServiceManagement • Azure xplat CLIの場合 – azure config mode arm – 戻す場合は azure config mode asm • 必ず対話ログオンが必要 – Add-AzureAccount または azure login など • 現状まだ利用できるリソースやドキュメントは少ない – Azureをフル活用するまでもう暫く時間が必要 • 監視等との連携や有機的に接続するにはまだまだ分断されている • 関連ツール等含めて今後の展開に期待 24
25.
コマンド集 • 利用可能なギャラリーのテンプレート一覧で取得 – Get-AzureResourceGroupGalleryTemplate
| Sort-Object -Unique Publisher • テンプレートの取得 – Save-AzureResourceGroupGalleryTemplate -Identity OutercurveFoundation.OrchardCMS.0.3.2-preview - Path .¥ • 作成例 $RGPassword = ConvertTo-SecureString "pass" -asplaintext -force $RGNonSecurePassword = "pass" $DCLocation = "Japan West" New-AzureResourceGroup -GalleryTemplateIdentity Acquiacom.AcquiaDrupal7SQL.0.2.1-preview ` -Name "GoAzureRG" -Location $DCLocation -DeploymentName GoAzureD -Tag @(@{Name="Event";Value="GoAzure"}) ` -siteName "GoAzureD" -hostingPlanName GoAzureRGPlan -siteLocation $DCLocation -sku Free -workerSize 0 -serverName goazuresrv03 -serverLocation $DCLocation ` -administratorLogin username -administratorLoginPassword $RGPassword ` -databaseName goazurergdb ` -webDeploy_DatabaseUsername username -webDeploy_DatabasePassword $RGNonSecurePassword 25 デモ用のべた書きなのでこういうことはしないこと
26.
実行結果 26
27.
Azure Automation • Windows
PowerShell Workflow構文で 記述されたRunbookをスケジュールに 従って実行できる • 定型処理などAzure上でホスト・実行 27
28.
Runbook • ギャラリーやTechNetに多数のサンプル 28
29.
その他のツールなど • SystemCenter 2012
R2 Orchestrator* – オーケストレーション – Azureも対象 • Service Management Automation* – Windows Azure Pack用 • Vagrant, Knife azure (Chef), msopentech/windowsazure (Puppet) – 仮想マシンのデプロイ・破棄など • Release Management for Visual Studio – デプロイフローの管理・DSCやChefなどを使ったデプロイ – Azureもオンプレミスも対象 • Ubuntu Juju • Serfなど * Azure AutomationのRunbookと互換 29
30.
現状 • 仮想ネットワークや他のAzureサービス との連携などまだまだ仕組みとして弱い – ARMで使用できるリソース種別がまだ少ない •
Azure Management APIやAzure PowerShellなどで構成 • ツールや目的に合った粒度と線引きを 30
31.
インスタンス単位 31
32.
コンテナと構成ツール • コンテナ – Dockerなどのコンテナ化技術を使った構成と アプリケーション配布 •
構成ツール – Azure標準イメージ(+カスタムイメージ)に 仮想マシン拡張(VM Extension)を使用した 構成 • 標準以外も使うことは可能ですが割愛 32
33.
Application コンテナと構成ツール 33 Azure VM OS (CoreOS/Ubuntu) コンテナ
コンテナ Azure VM OS (Windows/Linux) VM Extensions Chef Extension Puppet Extension PowerShell DSC Extension ApplicationApplication VM Extensions Docker Extension ※ Dockerの場合
34.
シーケンス概要 34 仮想マシンのデプロイ 実行環境の準備 (仮想ネットワーク/ストレージなど) Extensionの実行コンテナの配置 OS起動 Orchestration / Bootstrap Configuration
35.
Docker • コンテナを実行・配布するための仕組み • Linux/Windows
[Preview] • Docker Hub on Azure はまだ… • Azureだと2パターン – Docker Extensionを使ってDocker Engineを インストール – Dockerネイティブなイメージを利用 • Dockerコマンドでコンテナを展開すること でコード化が容易に 35
36.
仮想マシン or VM Extensions Docker Extension
Docker Engine Docker on Azure コンテナ Application コンテナ Application コンテナの展開 アプリケーション Dockerfile
37.
Docker on Azure
スクリプト #!/bin/bash sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y install git sudo apt-get -y install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io sudo git clone https://github.com/KentaroAOKI/goazure2015dockerdemo.git sudo docker build -t goazure2015 goazure2015dockerdemo sudo docker run -d -t -p 8080:5004 goazure2015 37 Custom Script Extension用 (LFにすること)
38.
Docker on Azure
スクリプト FROM microsoft/aspnet RUN apt-get -qq update && apt-get -qqy install git RUN mkdir /app WORKDIR /app RUN git clone https://github.com/buchizo/goazure.git WORKDIR /app/goazure RUN kpm restore EXPOSE 5004 ENTRYPOINT ["k", "kestrel"] 38 Dockerfile
39.
Docker on Azure
スクリプト $PublishSettingsFile = ".¥goazure.publishsettings" $SubscriptionName = "Converted buchizo MSDN 2nd" $StorageAccountName = "goazure" $InstanceName = "GoAzureDocker01" $CloudServiceName = "GoAzureDocker01" $AdminAccountName = "azureuser" $AdminAccountPassword = "Password1!" $VmLocation = "Japan West" Import-AzurePublishSettingsFile $PublishSettingsFile Select-AzureSubscription -SubscriptionName $SubscriptionName Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName $StorageAccountName $OSImage = (Get-AzureVMImage | Where { $_.ImageFamily -eq " Ubuntu Server 14.10" } | sort PublishedDate -Descending | Select- Object -First 1) $ImageName = $OSImage.ImageName $CustomScriptExtension = Get-AzureVMAvailableExtension | Where { $_.ExtensionName -eq "CustomScriptForLinux" } $TimeStamp = (Get-Date).Ticks $PublicConfiguration = '{"fileUris":["http://goazure.blob.core.windows.net/docker/dockerbuild.sh"], "commandToExecute": "sh dockerbuild.sh", "timestamp": "' + $TimeStamp + '" }' $VmConfig = New-AzureVMConfig -Name $InstanceName -ImageName $ImageName -InstanceSize "Basic_A1" -Verbose ` | Add-AzureProvisioningConfig -Linux -LinuxUser $AdminAccountName -Password $AdminAccountPassword -Verbose ` | Set-AzureVMExtension -ExtensionName $CustomScriptExtension.ExtensionName -Publisher $CustomScriptExtension.Publisher - Version $CustomScriptExtension.Version -PublicConfiguration $PublicConfiguration ` | Add-AzureEndpoint -Name "web" -LocalPort 8080 -PublicPort 80 -Protocol tcp New-AzureVM -ServiceName $CloudServiceName -Location $VmLocation -VMs $VmConfig -Verbose -WaitForBoot 39 パラメーター等(ベタ書きの場合) 準備 仮想マシンの 構成 Dockerの構成用 仮想マシンの作成 Dockerの設定 デモ用のべた書きなのでこういうことはしないこと
40.
Docker on Azure
実行例 40
41.
Chef Extension • Chef
Clientのインストール・構成を行う • Windows/Linux(各ディストリビューション用)にExtensionが存在 – Set-AzureVMChefExtension -Windows または -Linux – azure vm extension で指定 • Client.rbと検証用PEMファイル、実行するRun Listを指定する 41 Chef Server 仮想マシン Chef Extension Chef Client 適用 Client.rb cookbook (Pull)
42.
Puppet Extension 42 • PuppetのAgentを利用 •
Windows: ExtensionでPuppet Masterを指定 • Linux: Custom Script ExtensionでPuppet Agentの構成 仮想マシン Puppet Extension Puppet Master manifest (Pull) Puppet Agent 適用 構成
43.
PowerShell DSC Extension 43 PowerShell
DSC Extension 仮想マシン Blobストレージ Configuration ファイル LCM 適用 Push • あらかじめConfigurationファイルをBlobに置いておく – 実際は使用するResourceなども含めた固めたZipファイル • Extensionで指定すればPushで適用 • 他の要件の場合はCustom Script Extensionで対応
44.
PowerShell DSC Extension •
対象OS:Windows Server 2012 / Windows Server 2012 R2 • Windows Management Framework 5.0 Preview Release November 2014を使用 44
45.
Sample #1 $PublishSettingsFile =
".¥your.publishsettings" $SubscriptionName = "your subscription name" $StorageAccountName = "storage account name" $InstanceName = "GoAzureSrv01" $CloudServiceName = "GoAzureSrv01" $AdminAccountName = "azureuser" $AdminAccountPassword = "password" $PuppetMasterFqdn = "buchipm.cloudapp.net" $VmLocation = "Japan West" Import-AzurePublishSettingsFile $PublishSettingsFile Select-AzureSubscription -SubscriptionName $SubscriptionName Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName $StorageAccountName $OSImage = (Get-AzureVMImage | Where { $_.ImageFamily -eq "Windows Server 2012 R2 Datacenter" } | sort PublishedDate -Descending | Select-Object -First 1) $ImageName = $OSImage.ImageName $VmConfig = New-AzureVMConfig -Name $InstanceName -ImageName $ImageName -InstanceSize "Basic_A1" -Verbose ` | Add-AzureProvisioningConfig -Windows -AdminUsername $AdminAccountName -Password $AdminAccountPassword -Verbose ` | Set-AzureVMBGInfoExtension -Verbose ` | Set-AzureVMPuppetExtension -Verbose -PuppetMasterServer $PuppetMasterFqdn New-AzureVM -ServiceName $CloudServiceName -Location $VmLocation -VMs $VmConfig -Verbose -WaitForBoot 45 準備 仮想マシン の構成 仮想マシンの作成 Puppetの構成 (Puppet Masterの指定) パラメーター等(ベタ書きの場合) デモ用のべた書きなのでこういうことはしないこと
46.
Sample #1 実行例 46
47.
Sample #2 $PublishSettingsFile =
".¥your.publishsettings" $SubscriptionName = "your subscription name" $StorageAccountName = "storage account name" $InstanceName = "GoAzureSrv02" $CloudServiceName = "GoAzureSrv02" $AdminAccountName = "azureuser" $AdminAccountPassword = "password" $VmLocation = "Japan West" Import-AzurePublishSettingsFile $PublishSettingsFile Select-AzureSubscription -SubscriptionName $SubscriptionName Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName $StorageAccountName $OSImage = (Get-AzureVMImage | Where { $_.ImageFamily -eq "Windows Server 2012 R2 Datacenter" } | sort PublishedDate -Descending | Select-Object - First 1) $ImageName = $OSImage.ImageName $VmConfig = New-AzureVMConfig -Name $InstanceName -ImageName $ImageName -InstanceSize "Basic_A1" -Verbose ` | Add-AzureProvisioningConfig -Windows -AdminUsername $AdminAccountName -Password $AdminAccountPassword -Verbose ` | Set-AzureVMBGInfoExtension -Verbose ` | Set-AzureVMDscExtension -ConfigurationArchive "goazuredsc.ps1.zip" -ConfigurationName "WebServerInstall" -Verbose -ContainerName "dsc" -Force ` | Add-AzureEndpoint -Name "web" -LocalPort 8080 -PublicPort 80 -Protocol tcp New-AzureVM -ServiceName $CloudServiceName -Location $VmLocation -VMs $VmConfig -Verbose -WaitForBoot 47 パラメーター等(ベタ書きの場合) 準備 仮想マシンの構成 仮想マシンの作成 PowerShell DSCの構成 (Configurationの指定) デモ用のべた書きなのでこういうことはしないこと
48.
Sample #2 Configuration 48 Configuration
WebServerInstall { Import-DscResource -Module xWebAdministration, xNetworking $progressPreference = 'silentlyContinue' Invoke-WebRequest -Uri http://goazure.blob.core.windows.net/dsc/Web.zip -OutFile D:¥web.zip Node $AllNodes.NodeName { LocalConfigurationManager { ConfigurationMode = "ApplyAndAutoCorrect" RebootNodeIfNeeded = $true } WindowsFeature InstalledIIS { Name = "Web-Server" Ensure = "Present" IncludeAllSubFeature = $true } Windowsfeature InstalledAspNet45 { Name = "Web-Asp-Net45" Ensure = "Present" } xWebsite TestWebSite { Name = "TestWebSite" PhysicalPath = "C:¥approot" State = "Started" BindingInfo = MSFT_xWebBindingInformation { Protocol = "HTTP" Port = 8080 } Ensure = "Present" DependsOn = "[Archive]AppFiles" } Archive AppFiles { Ensure = "Present" Path = "D:¥web.zip" Destination = "C:¥approot" DependsOn = "[WindowsFeature]InstalledIIS" } xFirewall 'Allow HTTP' { Name = 'Allow HTTP' DisplayName = 'Allow HTTP' DisplayGroup = 'Custom' Ensure = 'Present' Access = 'Allow' State = 'Enabled' Profile = ('Any') Direction = 'InBound' Protocol = 'TCP' LocalPort = '8080' Description = '' } } } ちゃんとリソースにすべきところ
49.
Sample #2 実行例 49
50.
その他 • Custom Script
Extension – Windows/Linuxで使えるExtension – CustomScriptExtension と CustomScriptForLinux • Ansible – 現状はAzure標準サポートではない(手間かければ構成することは可能) • Octopus Deploy – PowerShell DSCと組み合わせてアプリケーション配布 – Extensionはありそうで無い(ドキュメントにはあるが…謎) • Vagrant, Knife azure (Chef), msopentech/windowsazure (Puppet) – 仮想マシンの立ち上げ部分からサポート • パッケージマネージャ – OneGet、Web Platform InstallerやChocolateyなど – Linuxはディストリ付属が標準的(yumとか) • Bootstrapと構成に必要な「何か」だけ設定すれば比較的自由 50
51.
Azure Cloud Servicesの場合 •
Windowsのみ対象 • Startup Taskで構成 – PowerShellやBATで構成(=Code) • 基本的にPaaSのためメリットを潰さない ように • Cloud Servicesを展開するためのCode 51
52.
Azure Websites/Mobile Services •
PaaSなので構成できる要素は極小 • アプリケーションの構成などが主な ターゲット – どのようにアプリケーションを展開するか等 – SCMと連携させる? ビルドツールと連携? • アプリケーションを展開・連携させるた めのCode 52
53.
まとめ 53
54.
悩ましい点 • 資格情報の管理 – どのようにコードと切り離すか –
権限は限定的にしたい(RBACなど) – Azure Key Vault [Public Preview] • テスト – コードが正しく動作するか = インフラが正しい 状態か – テストの自動化とテスト駆動インフラ 54
55.
展開をどうするか • いわゆるBlue-Green Deploymentなど •
アプリケーションを「いつ」「どうやって」 展開するか – 利用環境や粒度、ツール、頻度(ライフサイクル) などで考慮 – インフラのサイクルとアプリケーションのサイクル を分けるのか揃えるのか 55
56.
まとめ • できるところからコード化しよう – メンテナンス重要!
資産を負債にしない! – 版管理は大事(GitなどのSCMで集約) • コード化しシステムを織り成すのは文化 – 文化を熟成しよう • 真似から始めよう • よそはよそ、うちはうち、目的に合った文化に – 枝葉はプラットフォーム固有 • Azure固有の部分と全体像をうまく取り扱おう 56
57.
57 • このセッションは 2015/01/16 時点の情報を 基にしています •
最新情報はWebで❕ ※Azureは日々進化するのでこの時点から 情報が劣化していきます… 質 問 シ テ ネ !
58.
Appendix • CLI – Azure
PowerShell • http://azure.microsoft.com/ja-jp/documentation/articles/install-configure-powershell/ – Azure xplat cli • http://azure.microsoft.com/ja-jp/documentation/articles/xplat-cli/ • Azure Management REST API – http://msdn.microsoft.com/ja-jp/library/azure/ee460799.aspx • TechNet – Azure Automation Script resources – http://goo.gl/Fhu8dY • Azure VM Extensions and Features – http://msdn.microsoft.com/en-us/library/azure/dn606311.aspx • Azure Key Vault – http://azure.microsoft.com/en-us/services/key-vault/ – http://blogs.technet.com/b/kv/archive/2015/01/09/azure-key-vault-step-by-step.aspx 58
Download