Windows Server 2012

Windows Server 2012 R2 Preview を試す前に知っておきたい
第 1 版 2013.07.12
Agenda
1.
Server Manager
2.
ユーザーインターフェースオプション の追加 12. DHCP Failover
3.
Windows PowerShell 3.0
4.
SMB 3.0
• AD DS on Hyper-V
5.
ストレージ
• Dynamic Access Control
6.
スケールアウトファイルサーバー
7.
Hyper-V
8.
VDI
9.
DirectAccess
10. IIS 8.0
11. IPAM
13. Active Directory Domain Service
Server Manager
Modern UI の採用
• 規定ではログオンするとサー
バーマネージャーが起動
• 管理ツールは「ツール」メ
ニューから起動
複数サーバーの管理
• ダッシュボードによる
視認性の向上
複数サーバーの管理
• 表示にアクションを直結
6
複数サーバーの管理
• 複数サーバーのサービスを同時に操作
複数サーバーの管理
• カスタム サーバーグループの作成
複数サーバーの管理
• フィルター
役割や機能の追加
• ローカルサーバー
• リモートサーバ(含 Server Core)
• オフライン VHD
PowerShell でサーバーマネージャーの処理を自動化
• 2300 以上のコマンドレット
• コマンドレットの検索機能
• IntelliSense
ユーザーインターフェースオプション
の追加
ユーザーインターフェースの変更
Windows Server 2012 では3段階のインストールオプションが用意されている:
• Server Core
•従来からの Server Core
• 最少インストールシェル (“MinShell”)
•Server Core に加えてサーバーマネージャーなどの限定的なGUI
• フルシェル
•全てのGUIがインストールされたモード。デスクトップエクスペ
リエンスを追加することもできる。
なぜこうなったのか?
The challenges…
• 攻撃の対象を減らすために、システム管理者は常にパッチの適用に気を使わなけれ
ばならない
• 多くの管理者にとって Server Core によるコマンドライン操作は不便だった
The Windows Server 2012 のソリューション… 複数のインターフェースオプション
• リモート管理ツールを使用せずに、システム管理者が使い慣れた GUI で管理
することができる
• さまざまなコンポーネントによるサーバー負荷をできる限り低減したい
• GUIをインストールするために、OS ごと再インストールするのではなく、機
能の追加や削除で対応できると便利
• GUIによってサーバーのインストールイメージや手順を複数用意するのでは
なく、1種類で済ませたい
Server Core
マイクロソフトの推奨インストール構成
• Server Core は以前と比較して多くの役割や機
能をサポートしている
-.Net Framework 4.5
- SQL Server 2012
• WinRM により、リモートからの管理も容易
• Windows PowerShell の利用も可能
• Server Core と MinShell 間の移行が可能
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.Net Framework 4.5
Active Directory (AD)
Active Directory Lightweight Directory Services (ADLDS)
Active Directory Certificate Services (ADCS)
DHCP Server
DNS Server
File Services
BITS Server
BranchCache
Hyper-V
Internet Information Services (IIS)
Printing Services
Streaming Media Services
iSCSI
Load Balancing
MPIO
qWave
Telnet
Unix Migration
SQL Server 2012
MinShell
最少のGUIをインストールする
ためのオプション
• GUI ツールを持った Server Core
• Server Manager と cmd.exe が規定
で起動する
• 他のGUIも起動可能
• 役割や機能の追加も可能(PowerShell
からのインストールも可能)
MinShell の有効化と無効化
Install-WindowsFeature ServerGui-Mgmt-Infra
Install-WindowsFeature ServerGui-Shell
Install-WindowsFeature
Desktop-Experience
Uninstall-WindowsFeature
Server-GUI-Shell
Uninstall-WindowsFeature
Server-GUI-Shell -remove
インターフェースの違い
Server Core
MinShell
Server W/GUI
Desktop Experience
コマンドプロンプト
Available
Available
Available
Available
Windows PowerShell
サーバーマネージャー
Available
Available
Available
Available
Not Available
Available
Available
Available
MMC
コントロールパネル
Not Available
Available
Available
Available
Not Available
Not Available
Available
Available
コントロールパネル内
のアプレット
Not Available
Some Available
Available
Available
Windows Explorer
タスクバー
Not Available
Not Available
Available
Available
Not Available
Not Available
Available
Available
通知エリア
Not Available
Not Available
Available
Available
Internet Explorer
ヘルプ
Not Available
Not Available
Available
Available
Not Available
Not Available
Available
Available
テーマ
Not Available
Not Available
Not Available
Available
スタートスクリーン
Not Available
Not Available
Not Available
Available
WinRTアプリ
Not Available
Not Available
Not Available
Available
メディアプレーヤー
Not Available
Not Available
Not Available
Available
Windows PowerShell
Windows PowerShell とは何か?
分散処理や自動化のためのエンジンであり、スクリプトによるバッチ処理と対話シェルが
用意されている
• 自動化によって処理の品質を向上
• 目的ベースのコマンドレット
• 管理者と開発者のギャップを埋めるツール
PowerShell 3.0 は以下のOSでサポートされている:
• Built-in:
•Windows Server 2012
•Windows 8
• ダウンロード:
•Windows 7 SP1
•Windows Server 2008 SP2
•Windows Server 2008 R2 SP1
スクリプトの実行環境
bat
exe
VBScript
JScript
PowerShell エンジン
COM
Script Engine
cmd/
command
PowerShell スクリプト
Windows Script Host
Cscript.exe
Wscript.exe
C
O
M
Windows
.NET Framework
Class Library
CLR(共通言語ランタイム)
マイクロソフト製品と PowerShell の関係
• 製品ごとに専用の”コマンドレット”が用意されている
• 多くの管理 GUI は裏でコマンドレットを呼んでいる
• インフラ担当者に、各製品への”標準化されたアクセス方法”を提供する
Active Directory
管理センター
PowerShell
コンソール
System Center
Virtual Machine Manager
Active Directory
PowerShell コマンドレット
Hyper-V
PowerShell コマンドレット
Active Directory
Hyper-V
事前準備
•
コンソールの環境設定
• 簡易編集を有効に
•
エクスプローラー(フォルダー)の環境設定
• 「拡張子を表示しない」を無効に
•
実行ポリシーの設定
※オンプレミスの”署名無しスクリプト”を実行できるようにする
PS C:\>Set-ExecutionPolicy RemoteSigned
•
リモートからの操作を有効にする(リモーティングの有効化)
PS C:\>Enable-PSRemoting –force
•
必要に応じて自分専用の初期設定ファイルを作成(規定では存在しない)
PS C:\>notepad $profile
実行ポリシーの設定~ Set-ExecutionPolicy
http://technet.microsoft.com/ja-jp/library/dd347628.aspx
“管理者として実行” する必要がある
実行ポリシーの一覧
“ポリシーの設定”は、規定では
コンピューター全体に影響する。
適用範囲を制限するには、
Scope も同時に定義する。
Restricted:制限つき (オペレーターモード)(規定値)
対話形式のみ
スクリプトは実行できない
AllSigned:署名
スクリプトは、信頼された発行元による署名が必要
RemoteSigned:リモートの署名
“インターネットゾーン” のスクリプトは信頼された発行元による署名が必要
Unrestricted:無制限
すべてのスクリプトを実行可能
リモートのスクリプトについては常に警告
Bypass:バイパス
何もブロックされず警告も表示されない
基本操作 ~ コマンドレット情報を取得する
• 使用可能なコマンドレット一覧を取得する
PS C:\> Get-Command
• “Storage” という文字列を含むコマンドレットの一覧
PS C:\> Get-Command *-vm* -CommandType Cmdlet
• 特定のモジュール内のコマンドレット一覧
PS C:\> Get-Command -Module Hyper-V
•
コマンドレットの書式
PS C:\> Get-Help <コマンドレット> -detailed
PS C:\> Get-Help Move-VM -detailed
unix のあのコマンドは?
ls
cp
grep
sort
man
clear
cat
kill
tee
tail
→ get-ChildItem
→ copy-Object
→ select-String
→ sort-Object
→ help
→ clear-Host
→ get-Content
→ stop-Process
→ tee-Object
→ get-Content
「アレはあるかな?」と思ったら
Get-Alias <unix 上のコマンド>
IT Pro にとっての Windows PowerShell 3.0
自動化
• ~2,430 コマンドレット (Windows Server 2008/R2 は 230 コマンドレット)
• シンプルな書式で習得が容易
• オーサリングツール(PowerShell ISE)の進化
•Intellisense
•Snippets
•3 rd パーティによる拡張性
•Show-Command ウィンドウ
Windows Workflow Foundation との統合
• PowerShell のスキルだけでワークフローを記述
ジョブのスケジューリング
• タスクスケジューラーとのシームレスな連携
堅牢なセッション
• セッションへの再接続が可能に
Show-Command Cmdlet
初心者向けのダイアログボックス
• 必要なパラメターはダイアログ
から入力可能
• モジュールをフィルタ可能
• コマンドレット名で検索可能
堅牢なPS セッション
• リユーザーブルな PS セッションには他のコンピューターから再接続が可能
• State=Disconnected, Availability=None に対してのみ
•
•
Disconnect-PSSession コマンドレットで明に Disconnect した場合
ネットワークの切断や PC のハングアップ等で Disconnected になった場合
※ コンソールを明に落とした場合は強制終了したものとみなされる
• 同時に2台以上のコンピューターからは接続できない
State=Disconnected
Availability=None
Source1
Source2
Disconnect-PSSession
Connect-PSSession
再接続可能
セ
ッ
シ
ョ
ン
Target
PS > $S = New-PSSession -ComputerName Target1
PS > $Result = Invoke-Command -Session $S {Get-Service}
PC1 PS > Disconnect-PSSession -Session $S
Id Name
-- ---121 Session121
ComputerName
-----------Target1
State
----Disconnected
ConfigurationName
----------------Microsoft.PowerShell
Availability
-----------None
Target
PS > Get-PSSession -ComputerName Target1
PC2
Id Name
-- ---10 Session112
12 Session121
ComputerName
State
---------------tfdc01
Disconnected
tfdc01
Disconnected
ConfigurationName
----------------Microsoft.PowerShell
Microsoft.PowerShell
Availability
-----------Busy
None
PS > $S = Get-PSSession -Name Session121 -ComputerName Target1
PS > Connect-PSSession -Session $S
PowerShell 3.0 - ワークフロー
処理1
処理1
サスペンド
checkpoint
処理2
WF
パラレル
サーバーが条件に
合致しない場合に
サスペンドし、あ
とでレジューム
WF
サスペンド
処理2
checkpoint
処理3
WF
結果1
サーバー
ダウン
結果ストア
ジョブと結果の永続化
ワークフローの作成
• PowerShell ISE(またはテキストエディタ) で作成する
• workflow キーワードを使用する
workflow <ワークフロー名> ( <引数> )
{
<処理>
}
(例)MyWorkflow という名前でリモートコンピューターのサービス一覧を取得するワークフロー
workflow MyWorkflow ( [String] $ServiceName )
{
}
Get-Service -PSComputerName $PSComputerName -Name $ServiceName
(例)実行例
PS C:\>mywf -PSComputerName 127.0.0.1 -ServiceName wuauserv
ワークフローの実行からレジュームまで
PSワークフローセッションを張る
$S = New-PSWorkflowSession -ComputerName DC01
ワークフローをDC01上に作成する
Invoke-Command -Session $S -FilePath .\CreateNewUser.ps1
ワークフローが作られたことを確認
Remote
Server
(DC01)
状態なし
Invoke-Command -Session $S {Get-Command -CommandType Workflow}
PC
ロ
ー
カ
ル
ワークフローを実行
Invoke-Command -Session $S {CreateUser -PSPersist $true -ErrorAction SilentlyContinue -AsJob}
Running
DC01 が停電によりシャットダウン
DC01 が復電により再起動
もう一度セッションを張る
$S = New-PSWorkflowSession -ComputerName DC01
ジョブIDを確認
Invoke-Command -Session $S { Get-Job }
ジョブをレジューム
Invoke-Command -Session $S { Resume-Job 3 }
Suspended
Running
Windows PowerShell Web Access
WS-Man に接続するためのゲートウェイ
Internet
Home
Intranet
DMZ
Devices
リバー
スプロ
キシ
PSWA
PS Session
再接続
Session
PC
PS Session
Server
PowerShell Web Access のセットアップ
1.サーバーマネージャーから PowerShell Web Access をインストールする
2.IIS で自己署名証明書を作成してバインドを設定する(SSLを有効に)
ご自身のサーバーを指定
してください
バインドの設定で
作成した証明書を選択
3. PowerShell を管理者モードで起動
4. 以下のコマンドを実行
PS C:\> Set-ExecutionPolicy RemoteSigned
PS C:\> Import-Module PowerShellWebAccess
PS C:\> Install-PswaWebApplication -webSiteName "Default Web Site"
PS C:\> Add-PswaAuthorizationRule * * *
5. https://<サーバー名>/pswa にアクセス
ここで指定するサーバーは、
接続先となるサーバー
権限の委譲
別の権限を使用したワークフローの実行
• 資格情報を作成
↪ $Cred = Get-Credential –Credential contoso\administrator
• ワークフローの RunAsUser プロパティに作成した資格情報をセット
↪ Set-Item WSMan:\localhost\Plugin\Microsoft.Powershell.Workflow\RunAsUser -Value $Cred
• WinRM を再起動して権限を有効にする
↪ Restart-Service WinRM
• 設定された内容を見る
↪ Get-ChildItem WSMan:localhost\Plugin\Microsoft.Powershell.Workflow
Snippets
ISE からコードスニペット機能を
使用することができる
• [編集]-[スニペット開始]
• オリジナルのスニペットを登録
するには
New-ISESnippet
• 登録したスニペットを参照する
には
Get-ISESnippet
Intellisense
コマンドレットやパラメタを自動補完してくれる機能
入力スピードが飛躍的に向上
“-“ (dash) verb(動詞)の後のダッシュ
“.” (period) オブジェクトの後にピリオド
“::” (double colon) オブジェクトタイプの後にダブルコロン
“\” (backslash) プロバイダーの後にエンサイン(バックスラシュ)
“ “ (space) コマンドレットの後ろにスペース
SMB 3.0
どうしてこうなったのか?
スループットが向上することで…
• ファイルサーバーは複数のコネクションを同時に使用して、より多くのデータを高速
に転送できる
ネットワークフォールトトレンランスにより…
• 同時に複数のネットワークコネクションを使用して、クライアントはネットワーク
の切断を回避できる
自動構成機能により…
• SMB マルチチャネルは自動的にネットワークパスを探索して、必要に応じて動的に
ネットワークパスを追加する
• 管理コストを低減
NICチーミング & SMB 3.0 マルチチャネル
NIC チーミング(最大 32 NIC/Team)を OS 標準でサポート
• スイッチ依存(Static or LACP)/ 非依存
• ネットワークフォールトトレランス
SMB 3.0 マルチチャネル with RSS
• SMB スループット向上
• 1インターフェース(=1NIC)あたり最大 4 TCP/IP Connection
• 1セッションあたり 既定で 32 Connection
NIC Teaming
NIC Teaming
NIC
RSS NIC
SMB コネクション
Remote Direct Memory Access)
NIC
RSS
NIC
RSS
NIC
RSS
SMB Multi.
RSS
SWITCH
SMB Multi.
RSS NIC
RSS: Receive-side scaling
SMB 3.0 マルチチャネルを使用するための条件
必要条件
• Windows Server 2012 または Windows 8 が動作していること
• 少なくとも以下の 1 つの構成が有効であること
• 複数のネットワークアダプターを実装している
• 少なくとも1 つのネットワークアダプターが RSS (Receive Side Scaling) をサポート
• 少なくとも2 つのネットワークアダプターが NIC チーミング構成であること
• 少なくとも1 つのネットワークアダプターが RDMA (Remote Direct Memory Access) を
サポートしていること
SMB マルチチャネルが使用できない構成
• 1枚の RSS 非対応ネットワークアダプターしか実装していない
• スピードの異なるネットワークアダプター
インストール手順
• Windows Server 2012 と Windows 8 で自動的に有効になる
• Windows PowerShell を使用して有効/無効を切り替えられる
シングル NIC の場合
CPU
CPU
CPU
CPU
複数 NIC の場合(チーミング無し)
CPU
CPU
CPU
CPU
1枚または複数の RDMA NIC の場合
NICチーミング
まとめ:マルチチャネル/RDMA/NIC Teaming の比較
スループット
NIC
Teaming
シングル
N/A
○
RSS
マルチ
RDMA
シングル
マルチ
CPU 負荷低減
△△
△
△△
△△
△
▲
シングル
マルチ
SMB 以外の
フォールト
トレランス
△
マルチ
マルチ
SMB
フォールト
トレランス
○
▲▲
▲
▲▲
▲▲
▲
▲▲
▲
▲
▲
▲
SMB セッション について
NIC インターフェースあたりのコネクション
• RSS NIC
:(規定値)4 TCP/IP コネクション
• RDMA NIC
:2 RDMA コネクション
• その他のNIC :1 TCP/IP コネクション
クライアント―サーバー間のコネクション数は 規定値 32(セッション数は1)
Microsoft recommends keeping default settings, but the parameters can be modified
SMB マルチチャネルの有効化/無効化
無効にする
SMB サーバー側:
Set-SmbServerConfiguration -EnableMultiChannel $false
SMB クライアント側
Set-SmbClientConfiguration -EnableMultiChannel $false
有効にする
SMB サーバー側:
Set-SmbServerConfiguration -EnableMultiChannel $true
SMB クライアント側:
Set-SmbClientConfiguration -EnableMultiChannel $true
SMB 関連パラメタの編集
クライアント/サーバー間のコネクション数
Set-SmbClientConfiguration –MaximumConnectionCountPerServer <n>
※規定値 8
RSS NIC のコネクション数
Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface <n>
RDMA NIC のコネクション数
Set-ItemProperty -Path `
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" `
ConnectionCountPerRdmaNetworkInterface -Type DWORD -Value <n> –Force
それ以外のNICのコネクション数
Set-ItemProperty -Path `
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" `
ConnectionCountPerNetworkInterface -Type DWORD -Value <n> –Force
SMB マルチチャネルの検証手順
1. アダプターの構成を確認する
(サーバー、クライアント両方で実
施)
Get-NetAdapter
Get-NetAdapterRSS
Get-NetAdapterRDMA
2. SMB マルチチャネルの構成を確認する
SMB クライアント側:
Get-SmbClientConfiguration | Select EnableMultichannel
Get-SmbClientNetworkInterface
SMB サーバー側:
Get-SmbServerConfiguration | Select
EnableMultichannel
Get-SmbServerNetworkInterface
3. SMB 接続を確認する(ファイルのコピー中に実行)
Get-SmbConnection
Get-SmbMultichannelConnection
Get-SmbMultichannelConnection -IncludeNotSelected
SMB マルチチャネル関連のイベントログ
1. [イベントビューアー] – [アプリケーションと
サービスログ] – [マイクロソフト] –
[Windows] – [SMB Client] – [Operational]
•Event ID 30700-30705 でフィルタ
2. PowerShell から ~ SMB クライアント
Get-WinEvent -LogName Microsoft-Windows-SMBClient/Operational |
? { $_.Id -ge 30700 –and $_.Id –le 30705 }
エラーだけ抽出するには
Get-WinEvent -LogName Microsoft-Windows-SMBClient/Operational |
? { $_.Id -ge 30700 –and $_.Id –le 30705 –and $_.Level –eq 2 }
記憶域スペースとシンプロビジョニング
記憶域スペースとシンプロビジョニング
記憶域スペース
• Windows Server 2012 で実装された新しい仮想記憶域
• 仮想化テクノロジーを使用して低コストでストレージを拡張
• 未使用領域を寄せ集めてプーリング
シンプロビジョニング
• ジャストインタイムで割り当て、必要なくなれば解放
• 記憶域スペースとの統合
どうしてこうなったのか?
記憶域スペースはストレージの高可用性を生かしたさまざまな用途を想定している
記憶域プール
• 小容量のSSDなど、複数のハードディスクを1つに結合
• データの増加に伴い、動的に容量を拡張可能
マルチテナントと柔軟な制御
• ストレージプール単位に管理者を定義することができる
• Active Directory のセキュリティモデルと統合されており、ACLによるアクセ
ス管理が可能
復元力を備えた記憶域
• 記憶域スペースでは3種類の構成が可能(ストライプ、ミラー、パリティ)
• ホットスペアによる自動修復
どうしてこうなったのか?(続き)
継続的な可用性
• フェールオーバークラスターとの連携により継続的で可用性の高いサービスが提供できる
効率的な記憶域の消費
• 複数のビジネスアプリケーションでストレージのキャパシティを共有
• 必要なくなった領域を別のアプリケーションで再利用
シンプルな管理
• サーバーマネージャーからの容易な管理
• リモート管理
• スクリプト(Windows PowerShell)による管理の自動化
• 既存のバックアップ、リストア機能との整合性を維持
記憶域スペースの要件
• Windows Server 2012 がインストールされていること
• 記憶域プールの作成用に 1 つの物理ドライブ
• 復元性のあるミラー化された記憶域スペースの作成用に 2 つ以上の物理ドライブが必要
• パリティまたは 3 方向ミラーリングによる復元力を備えた記憶域スペースの作成用に 3 つ以上の物
理ドライブが必要
• ドライブは空であり、フォーマットされていないこと
• 他のプールに使用されていないこと
• ドライブの容量が 10 GB 以上あること
• サポートされているドライブタイプ
タイプ
スタンドアロンファイルサーバー フェールオーバークラスター
SATA
SCSI
iSCSI
SAS
USB
Supported
Supported
Supported
Supported
Supported
Supported
Supported
記憶域スペースの管理アーキテクチャ
記憶域スペースの構造
物理ディスクの代わりにVHD(X)ファイルを使用するには
冗長構成
冗長性の種類
説明
シンプル
データが複数の物理ディスクにまたがってストライプ化されま
す。これにより、容量が最大限に利用され、スループットが向
上します。
ミラー
データが 2 つまたは 3 つの物理ディスクに複製されます。これ
により、信頼性が高まり、容量は 50 ~ 66% 減少します。
パリティ
データおよびパリティ情報が複数の物理ディスクにまたがって
ストライプ化されます。これにより、信頼性が高まり、容量は
13 ~ 33% 減少します。
増加し続けるストレージの使用量と対策
急激なストレージの増加
従来
ハード ディスク ボリュームにある重複したファイルを
管理するファイル システム フィルタ。このフィルタに
より、ファイルの 1 つのインスタンスを中央のフォルダ
にコピーし、重複したファイルは中央のファイルへのリ
ンクに置き換えることにより、ディスクを節約する。
Windows Server 2012
 ファイルの重複を削減しつつ、従来通りのアクセスを提
供
Source: IDC Worldwide File-Based Storage 2011-2015 Forecast:
Foundation Solutions for Content Delivery, Archiving and Big Data, doc #231910, December
2011
Deduplication のアーキテクチャ
Metadata
Data
Metadata
Data
ファイル名
属性…
ファイル名
属性…
Deduplicate Filter
Metadata
ファイル名
属性…
Metadata
ファイル名
属性…
チャンクストア
Deduplication のメリット:容量の節約率
Savings %
VHD Library
Software Deployment Share
General File Share
User Home Folder (MyDocs)
0%
20%
40%
60%
80%
100%
Source: Sample File Server Production data (12 Servers, 7TB)
Deduplication のメリットパフォーマンスへの影響
最適化処理の性能:
• 最大 20-35MB/s
• 1コアあたり 100GB/h(マルチコアを同時利用可能)
Read/Write Access:
No impact
VHD copy (0.7-1.5x)
VHD update (1.3x)
Deduplication の留意点
未サポート
Boot, System, FAT, ReFS, クラスター共有ボリューム(CSV)
ネットワークドライブ
拡張属性を持ったファイル
暗号化されたファイル
32Kb未満のファイル
その他
頻繁に変更が加えられるファイルは、最適化プロセスのキャンセルが頻繁に発生するため
Deduplication に向いていない。
向いてる
• ユーザー用のファイルサーバー
• 仮想マシンライブラリ(VHDがオフライン)
• ソフトウェア展開用の共有
• SQL Server や Exchange Server のバックアップ
用ボリューム
向いてない
• Hyper-V ホスト(VHDがオンライン)
• VDI(VHDがオンライン)
• WSUS
• 動作中の SQL Server や Exchange Server
• 1TBを超える(超えそうな)ファイル
Windows PowerShell からの管理
さまざまな場面で、SMAPI(Storage Management API) にアクセスするための PowerShell コマンド
レットを使用できるため、管理の自動化が容易に可能
PS C:¥> Get-Command *storage*
CommandType
Name
-------------Function
Get-StorageJob
Function
Get-StoragePool
Function
Get-StorageProvider
Function
Get-StorageReliabilityCounter
Function
Get-StorageSetting
Function
Get-StorageSubSystem
Function
New-StoragePool
Function
New-StorageSubsystemVirtualDisk
Function
Remove-StoragePool
Function
Reset-StorageReliabilityCounter
Function
Set-StoragePool
Function
Set-StorageSetting
Function
Set-StorageSubSystem
Function
Update-HostStorageCache
Function
Update-StorageProviderCache
Cmdlet
Add-VMStoragePath
Cmdlet
Get-VMStoragePath
Cmdlet
Move-VMStorage
Cmdlet
Remove-VMStoragePath
ModuleName
---------Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Hyper-V
Hyper-V
Hyper-V
Hyper-V
スケールアウトファイルサーバー
ファイルサーバーの構成イメージ
共有
共有
共有
共有
共有
データ
データ
データ
2種類の ファイルサーバーシナリオ
 IW ワーカー用の共有ファイル サービスおよび記憶域サービス
 通常のファイルサーバー
 汎用ファイルサーバー (フェールオーバークラスター)
 アプリケーション ワークロード用のファイル サービスおよび記憶域サービス
 スケールアウトファイルサーバー(フェールオーバークラスター)
サーバー アプリケーションのデータ格納用にファイル サーバー共有を使用
(基本的に SQL Server、Hyper-V 用)
•
高価な SAN 接続のコスト削減。
•
記憶域管理者が、各アプリケーション サーバーをオンラインにするための LUN を準備する必要がなく
なり、アプリケーション サーバーが各記憶域にアクセスできるようにファブリックを再構成する必要も
なくなるため、記憶域管理コストが削減される。
•
モビリティが向上し、記憶域の再構成なしでアプリケーションを任意の利用可能なサーバー上で起動で
きる。
スケールアウト ファイルサーバーとは
 ファイル サーバーをサーバーアプリケーションのデータストアに提供
・Hyper-V(ゲストOS、スナップショットの格納先として)
・SQL Server(データストアとして)
 フェールオーバークラスターにより動的にファイルサービスの拡大や縮小が可能
CSV File System (CSVFS)
• 単一の永続的な名前空間(DNN)を提供
し、NTFS をカプセルする
• スパースファイルを含めたデータファイ
ルへのダイレクトアクセス
• BitLocker暗号化をサポート
• リダイレクトIOを使用せずにスナップ
ショットやバックアップが可能
• SMB 3.0 との密接な連携
SMB 3.0
• SMB スケールアウト
• SMB 透過フェールオーバー
• SMB マルチチャネル
• SMB ダイレクト(RDMA)
• サーバーアプリ用の SMB パフォーマンスカ
ウンター
• パフォーマンスの向上
• Windows PowerShell からの管理
• SMB リモート記憶域
なぜこうなったのか?
現状
• Windows Server 2008 R2 時代から, 高可用性ファイルサービスはフェールオー
バークラスターの CAP(クライアントアクセスポイント)によって提供されてい
た。これによって、クライアントは物理ディスク上の SMB 共有や NFS 共有に
アクセスできる
• ファイルサーバーグループの1つのノードだけがオンラインになる
• 障害が発生したり、ファイルサーバーが別のノードに移動した場合、クライアン
トは切断され、移動先のノードに再接続しなければならない
ソリューション
• ファイルサーバー役割が拡張され、Windows Server 2012 フェールオーバー
クラスター上では、可用性の高い SMB 共有上での Hyper-V や SQL Server
データストアがサポートされた。これにより、ダウンタイムを最小限に抑える
ことができる。
高可用性ファイルサーバー
一般的な用途のファイルサーバー(汎用ファイルサーバー)
•Windows Server 2008 R2 とほぼ同等の機能
•SMB 3.0 によって”共有”の可用性と転送性能は高まる
スケールアウトファイルサーバー
•アプリケーションデータを格納するファイルサーバーとしての可用性を提供
•ノードやディスクの追加時にもファイルサービスを停止させない
•Windows Server 2012 フェールオーバークラスターの新機能を使用している
•分散ネットワーク名(Distributed Network Name: DNN)
•クラスター共有ボリューム(CSV) Version 2
•スケールアウトフィルサーバーの役割
(すべてのノードで有効に設定されている必要あり)
•スケールアウトファイルサーバーの最大ノード数は 4
(復習)CSV(Cluster-Shared Volume)とは
CSV
CSV
スケールアウト ファイルサーバー
Failover Cluster(max 4 nodes)
iSCSI/SAN
Hyper-V & フェールオーバークラスター & スケールアウトファイルサーバー
Failover Cluster(max 64 nodes)
Hyper-V
Hyper-V
Hyper-V
\\Server\Share
Failover Cluster(max 8 nodes)
iSCSI/SAN
Hyper-V
Hyper-V
スケールアウトファイルサーバーのアーキテクチャ
HAFileServer
iSCSI/SAN
DNNが書き換わるタイミング
Witness(立会人)の役割
なぜ“アプリケーションサーバー用” と言われるのか?
実データの管理情報)
• 作成日時
• 更新日時
• 作成者
• アクセス権限
• 実データのアドレス
など
書き込むデータ
CSVFS
NTFS
汎用ファイル サーバー
頻繁にファイルを開いて閉じる操作を行うユー
ザーまたはアプリケーションによる使用を目的
として共有されているファイルの可用性を高め
ることができます。
一度に 1 つのクラスター ノードを実行します。
スケールアウト ファイル サーバー
長時間ファイルを開いたままにするアプリケー
ションまたは仮想マシンの記憶域の可用性を高
めることができます。
一度に複数のクラスター ノードを実行します。
サーバー メッセージ ブロック (SMB) クライア
ント接続は、スループットを向上するために複
数のノードに分散されます。この接続には、
Windows Server 2012 の分散ネットワーク名
と呼ばれるフェールオーバー クラスタリング機
能が使用されます。この機能を使用すると、複
数の IP アドレスを持つ複数のクラスター ノー
ドで、DNS ラウンド ロビンを使用して同じネッ
トワーク名に応答できます。
クラスター化共有ボリューム(CSV)を使用す クラスター化共有ボリューム(CSV)を使用す
ることはできません。
る必要があります。
アクティブ/パッシブ モデルを使用して、一度に アクティブ/アクティブ モデルを使用して、複数
1 つ のノードでファイル サーバーを実行します。
のノードでファイル サーバーを連携して実行し
必要に応じて、他のノードでファイル サーバー ます。
を実行できます。
従来機能との互換性
テクノロジ
汎用ファイル サーバー
スケールアウト ファイル サーバー
SMB
Network File System (NFS)
BranchCache
データ重複除去
DFS 名前空間 - 名前空間サーバー
サポート
サポート
サポート
サポート
サポート
サポート
サポートなし
サポートなし
サポートなし
サポートなし
DFS 名前空間 – フォルダー ターゲット サポート
サポート
DFS レプリケーション
サポート
ファイル サーバー リソース マネー
ジャーのクォータ、スクリーン処理、 サポート
およびレポート
サポートなし
ファイル分類インフラストラクチャ
サポートなし
サポート
ファイル サーバー ボリューム シャド
サポート
ウ コピー サービス (VSS) エージェント
フォルダー リダイレクト
サポート
オフライン ファイル
サポート
サポートなし
サポート
サポート
サポート
Windows Server 2012 Storage Space と CSV の互換性
Hyper-V
Windows Server 2012 で何が進化したのか
Hyper-V のスケーラビリティ
Hyper-V のスケーラビリティ
最大値
Windows Server 2008
R2
Windows Server 2012
前バージョンとの比較
64
320
5x
物理メモリ
1 TB
4 TB
4x
仮想プロセッサ
512
2,048
4x
4
64
16x
64 GB
1 TB
16x
1サーバーあたりの
アクティブな仮想マシン
384
1,024
2.7x
ノード数
16
64
4x
1,000
4,000
4x
System
Resource
論理プロセッサ数
物理ホスト
仮想マシンあたりの
仮想プロセッサ数
仮想マシン
クラスター
仮想マシンあたりのメモリ
仮想マシン数
Virtual NUMA
NUMA: Non-Uniform Memory Access
仮想 NUMA ノード
• ダイナミックメモリと同時利用はできない
• SQL Server などのアプリケーションサーバー
のパフォーマンス向上
• Windows Server 2012 フェールオーバーク
ラスタリングとの連携
SR-IOV(Single Root I/O Virtualization)
仮想スイッチをバイパスして、NICと仮想マシンが直接通信
Host
Root Partition
Hyper-V
Switch
Virtual
Machine
Virtual
NIC
Routing
VLAN Filtering
Data Copy
Physical NIC
Network I/O path without SRIOV
Host
Root Partition
Hyper-V
Switch
Virtual
Machine
Virtual
Function
Routing
VLAN Filtering
Data Copy
SR-IOV Physical NIC
Network I/O path with SRIOV
Hyper-V over SMB
& Shared-Nothing Live Migration
いまさらですが...
物理マシン vs 仮想マシン
物理マシン
リソースは固定
仮想マシン
リソースの柔軟な割り当て
仮想マシンをさらに柔軟にするには
network
物理マシン
仮想マシン
Compute と Storage は一体
Compute と Storage の分離
Hyper-V over SMB
Server Message Block (SMB) プロトコルとは…
• ネットワークファイル共有のためのプロトコル
• Windows Server 2012 には最新の SMB 3.0 が実装されている
Windows Server 2012 Hyper-V とともに使用すると…
•
•
•
•
仮想マシンのストレージを、共有フォルダに配置できる(SMB 3.0 必須)
スタンドアロン 、クラスターいずれにも対応
記憶域として、スケールアウトファイルサーバーの利用も可能
SMB マルチチャネルにより通信経路の堅牢性が向上
Hyper-V over SMB
Hyper-V over SMB の必須要件
• ファイルサーバー
:Windows Server 2012(SMB 3.0 が必要なため)
※ SMB 2.0 でも構成時にはエラーとはならないが未サポート
• Hyper-V
:Windows Server 2012(SMB 3.0 が必要なため)
※ SMB 2.0 でも構成時にはエラーとはならないが未サポート
※ Hyper-Vサーバーとファイルサーバーは別々のサーバーでなければならない
• AD DS
:Windows Server 2012 である必要はない
※ 共有フォルダに Hyper-V コンピュータのコンピューターアカウントに対する
アクセス権を与える必要があるため、AD DS 環境は必須
\\Server\Share\xxx.vhdx
Hyper-V
ライブマイグレーション &
ライブ ストレージ マイグレーション
• サービスを止めずに移動できる
仮想 OS のみ
仮想ストレージのみ
仮想マシン全体
従来のライブ マイグレーション
構成情報
メモリ内データ
VMステート
シェアード ナシング ライブマイグレーション
構成情報
メモリ内データ
VMステート
\\Server\Share\xxx.vhdx
⑨
arp
ライブ”ストレージ”マイグレーション
移動
ライブストレージマイグレーション はこんな時にも便利
仮想マシンのすべてのデータを1か所に移動する
ITCAMPPCxx
192.168.210.xx
記憶域を移行
ITCAMPPCxx
192.168.210.xx
Hyper-V
Hyper-V
VMxx
SMB 3.0
SMB 3.0
スナップ
ショット
\\ITCAMP-FS\VMSTORE\VMxx
VMxx.vhd
VMxx
C:\ProgramData\Microsoft
\Windows\Hyper-V
構成
ファイル
\\ITCAMP-FS\VMSTORE\\VMxx
VMxx.vhd
スナップ
ショット
構成
ファイル
SMBにより自由な移動
が可能に!
∴ネットワークの堅牢
性とスピードが重要
Hyper-V レプリカ
Hyper-V レプリカとは?
LAN や WAN を通じてリモートサイトに仮想マシンレベルの複製を作成することができる。
ビジネスの継続性とディザスタリカバリが目的。
• Windows Server 2012 Hyper-V ロールの新機能
• ストレージやワークロードに依存しない
• 複製元と複製先のサーバーは同じドメインである必要はない
(ワークグループでもOK ※ただしクラスター構成である場合を除く)
• Hyper-V マネージャー、Hyper-V RSAT、System Center Virtual Machine Manager
(SCVMM) から管理可能
• さまざまな複製シナリオに対応
• 本社と支店
• 企業内データセンター内
• ホスティングプロバイダー内
• クロスプレミス(企業オフィス-データセンター 等)
必須要件
Windows Server 2012 Hyper-V をサポートしているハードウェア
仮想マシンをホストするのに十分な性能と安全性を持ったストレージ
プライマリサイトとレプリカサイト間の接続性
サイト間の複製を許可するための適切な Firewall 設定
(HTTP/HTTPS)
• X.509v3 証明書(証明書ベースの認証を使用する場合)
※複製を暗号化するには証明書ベースの認証が必須
詳細は…
http://blogs.technet.com/b/virtualization/archive/2012/03/13/hyper-vreplica-certificate-requirements.aspx
•
•
•
•
(参考)アーキテクチャ
Hyper-V クラスター
(復習)シェアード ナシング ライブマイグレーション
構成情報
メモリ内データ
VMステート
\\Server\Share\xxx.vhdx
Hyper-V over SMB の難点
シェアード ナシング ライブマイグレーション
+フェールオーバークラスター
構成情報
メモリ内データ
VMステート
\\Server\Share\xxx.vhdx
Hyper-V & フェールオーバークラスター
“Hyper-V over SMB” & フェールオーバークラスター
Failover Cluster(max 64 nodes)
Hyper-V
Hyper-V
Hyper-V
Hyper-V
\\ITCAMP-FS\VMStore
ITCAMP-FS
192.168.210.30
VMSTORE
VHD
VHD
VHD
Hyper-V
Hyper-V over SMB & フェールオーバークラスター
& スケールアウトファイルサーバー
Failover Cluster(max 64 nodes)
Hyper-V
Hyper-V
Hyper-V
\\FileServer\Share
Failover Cluster(max 4 nodes)
iSCSI/SAN
Hyper-V
Hyper-V
メリット
Failover Cluster(max 64 nodes)
Hyper-V
Hyper-V
Hyper-V
Hyper-V
Hyper-V
Hyper-VとStorageを分離
\\FileServer\Share
Failover Cluster(max 4 nodes)
iSCSI/SAN
VDI
シナリオ:自分の PC から社内デスクトップへ
キーワード:VDI, App-V, UE-V, Office 365
AD
Hello
Virtual
Desktop
Infrastructure
アプリ配信
Lync
ConfigMgr,
Endpoint Protection,
グループポリシー
Office 365
Gateway
File Server
Hyper-V & RDS
リモート デスクトップ クライアント
Firewall
リモート デスクトップ クライアント
117
VDI = Desktop を構成する3要素 + 1
Desktop
Microsoft VDI を支えるテクノロジー
Infrastructure Management
•
•
•
仮想クライアントの展開
仮想アプリケーションの展開
ユーザー管理
OS の仮想化
アプリケーションの仮想化
仮想クライアントのホスティン
グ
App-V
RemoteApp
ユーザー状態の仮想化
RDS
Hyper-V
移動プロファイル
プロファイルディス
ク
UE-V
Windows Server Active Directory Domain Service
OS の仮想化
3 タイプの OS Virtualization
Powered by Windows Server 2012
セッションホスト
共用仮想マシン
パーソナル仮想マシン
Architecture 選択基準
Sessions
Good
Better
Best
パーソナライズ
アプリケーション互換性
管理のしやすさ
コスト効率
Pooled VMs
Personal VMs
OS の仮想化を支えるテクノロジー
Hyper-V + Storage
• SMB 3.0, NIC Teaming
• Hyper-V over SMB
• Live Migration, Live Storage Migration
• Hyper-V Cluster( Failover Cluster)
• Scale-out File Server(Failover clustered file server)
RDS(Remote Desktop Services)
• WEB Access
• Connection Broker
• Gateway
• License Service
• Session Host/VM Host
Remote Desktop Services
セッション ホスト(RDSH)
Remote Desktop Service
共有 or パーソナル仮想マシン
RDS
RDS
RDS
Remote Desktop Service
SSL
SSL
RDP
SSL
ポータル
アクセス
承認
アクセス
制御
「切断」と「ログオフ」の違い
• ログオフ
• 切断
:セッションは初期化される
:セッション状態を維持することで、再接続が可能
アイドルタイムによる自動切断、切断されたセッションの維持時間などを、
コレクション単位で設定可能
RD Gateway によるアクセス承認
可用性
Web farm
Remote Desktop
Connection Broker
Active/Active
Remote Desktop Web Access
Web farm
後述
Hyper-V cluster
仮想化ホスト
SQL Server Clustering
セッションホスト
farm
Remote Desktop
Licensing
Remote Desktop Gateway
Cluster
Application の仮想化
アプリケーションの仮想化
• 2種類の配信方法
• 異なるバージョンを同時に利用可能
RemoteApp
•
•
リモートデスクトップ方式
サーバーまたは仮想マシンに
インストールされているアプ
リケーションを公開
RDP
App-V
•
•
ストリーミング方式
クライアントで実行
HTTPS
RemoteApp によるアプリケーションの公開
セッション
ベースに対応していない
RD Web ポータルと Web フィード
• アプリケーションリストをRSSフィードとして公開
https://<ServerName>/RDWEB/Feed/WebFeed.aspx
User State の仮想化
ユーザープロファイルディスク
•
•
•
•
OSとは独立した仮想 VHD ファイル
中身はユーザープロファイルフォルダ
コレクション単位に管理される
コレクション間の共有は不可能
ユーザー1
OS
ユーザー1
ユーザー2
ユーザー2
ユーザー3
ユーザー3
セッションベース
仮想デスクトップのロール バックとユーザー プロファイル ディスク
 ロールバック
 ユーザーのログオフ時に仮想マシンが初期化される
 ユーザープロファイルディスク
 ユーザー個別の環境が「独立した仮想 HDD として」保存される
RemoteApp で保存したデータは
どこに?
• 規定
 RemoteApp サーバーの C:\Users 配下にテンポラ
リのプロファイルフォルダが作成される
 ユーザーがログオフするとプロファイルフォルダは
削除される
 プロファイルフォルダ内に保存したデータは、次回
ログオン時に再利用できない
• プロファイルディスクを設定
 プロファイルディスクの保存先として設定したパス
に、仮想ハードディスクとして保存される。
 次回ログオン時にマウントされるため、保存した
データを再利用可能
ユーザーステートの仮想化 ~ UE(User Experience)-V
きめ細かなローミング設定が行える
アプリケーション
IE
Office
LOB
others
Settings Location
Template
Group Policy
UE-V
Agent
Windows 8
Windows 7 SP1
Windows Server 2008 R2 SP1
Windows Server 2012
設定情報
規定はホーム
ディレクトリ
AD DS
共有
フォルダ
UX を向上させるために - RemoteFX
RemoteFX
• 仮想GPU(vGPU)※ RemoteFX 対応ビデオアダプタが必須
 サーバーに実装された GPU を Hyper-V 上の仮想デスクトップから利用する
 Hyper-V ホストが SLAT に対応していること
 Hyper-V ホストが DirectX 11 対応のビデオカードを実装していること
 RDP 7.1 以上に対応したリモートデスクトップクライアントを使用していること
 VRAM 1MB あたり約 16500 ピクセル
 1920*1200 で約 150MB のビデオメモリを消費(シングルモニタの場合)
• USB デバイスリダイレクション ※Windows 7 仮想マシンには RemoteFX 対応ビデオアダプタ必須
 ローカルPCに接続されたUSBデバイスを仮想デスクトップにリダイレクトして利用する
 RD 仮想化ホスト、RD セッションホスト(WS2012)の両方で利用可能
 Windows 8 仮想マシンには RemoteFX 対応ビデオアダプタは必要ない
 グループポリシーで使用を許可する必要がある(規定では無効)
• アダプティブグラフィックス
 ネットワークの品質に応じてマルチメディアデータを最適化する
• WAN 対応
 マルチトランスポート(自動的にUDPを使用)
 ストリーミングの最適化
• マルチタッチ対応
デバイスのリダイレクト機能について
• RemoteFX でリダイレクトするのは USB デバイス(ドライブ以外)
• その他のデバイスは RDP によって独自に制御される
• RDP 8.0 では RDP セッション使用中のデバイス接続/切断が可能
USB メモリ、ハードディスク
USB CD/DVD ドライブ
USB プリンタ(印刷機能)
USB 複合機、スキャナ
USB WEBカメラ
USB ガジェット
パラレルポート プリンタ
ネットワークプリンター
オーディオ再生
オーディオ録音
Easy Print とは
• RDP 6.1 以降で利用可能
• サーバー側にプリンタードライバーがインストールされていなくても印刷が可能
• サーバーで生成した XPS 形式ドキュメントを、クライアントにリダイレクトすることによってク
ライアント側プリンタドライバーを使用する。
• (注意)スケーリング機能(拡大縮小)には対応していない
XPS Spool
EMF Spool
(参考)EasyPrint でのスケーリング機能の非対応について
http://blogs.technet.com/b/askcorejp/archive/2011/08/03/scaling-feature-has-not-supported-from-windows-server-2008-r2-sp1.aspx
144
リモート デスクトップ クライアント
OS
RDP 6.1
RDP 7.0
RDP 7.1
RDP 8.0
XP SP2
Vista SP1
XP SP3
Vista SP1, SP2
7
7 SP1
8
マルチモニタ
解像度固定
解像度任意
←
←
RemoteApp
○
7:RSS Feed 対応
←
←
EasyPrint
○
←
←
←
PnPデバイスリダイレクト
○
←
←
←
RD Gateway 対応
○
←
←
←
RD Web アクセス
○
SSO 対応
←
←
○
DirectX 11対応
RDP 接続時にデバイス
接続、切断
途中接続、切断
RemoteFX 仮想 GPU
RemoteFX USB リダイレクト
アダプティブグラフィクス
○
ネットワーク品質の自動検出
○
マルチタッチ対応
○
UDP 対応
○
リモートデスクトップ サービスのプロファイルパス を設定したらどうなるか
ログオン時に、プロファイルフォルダか
らプロファイルディスクにコピー
利用中はプロファ
イルディスクが更
新される
ログオフ時に、プロファイル
フォルダに書き戻し
プロファイルディスク
リモートデスクトップサービ
スのプロファイルフォルダ
DirectAccess
シナリオ:社内デバイスをもちあるきたい
キーワード: DirectAccess、BitLocker、RMS、Lync
Hello
Office 365
Lync
Active Directory
Exchange Server
SharePoint Server
各種業務サーバー
ファイル サーバー
Firewall
SkyDrive
DirectAccess
BitLocker/BitLocker To Go
148
DirectAccess
DirectAccess により、インターネットから社内ネットワークにシームレスに接続することが可能
Exchange
SharePoint
Apps
Intranet
End User:
Great Experience
生産性の向上
ユーザーの操作
無しで接続を確
立
FIREWALL
VPN
Win XP / Vista /
Non-Windows
Mobile
Broadband
DirectAccess
Windows 7
Windows 8
VPN はネットワークに接続する
DirectAccess はネットワークを拡張する
IT: どこからでも管理
リモートクライアン
トを発見
更新プログラムを確
実に適用
グループポリシーに
よる集中管理
従来型 VPN と DirectAccess の違い
Windows Server 2012 で DirectAccess はどうなったのか
これまで…
• DirectAccess と RRAS は同じサーバーに共存できなかった
• Direct Access の展開は容易ではなかった
•PKIを含め複雑なアーキテクチャを理解しなければならなかった
Windows Server 2012 により…
• DirectAccess and RRAS の共存 (リモートアクセス ロールに統合)
• アーキテクチャの簡素化
• PKI のオプション化
• クライアント認証を Kerberos プロキシサービス経由で行えるようになった
• NAT64 と DNS64 を標準でサポート(従来は UAG が必要)
• その他
• ロードバランス構成
• 複数ドメイン、複数サイトへの対応
• トークンベースの認証 (OTP:One Time Password)への対応
• 強制トンネリング(すべての通信を強制的に社内に誘導)
• Windows PowerShell を使用した管理
• ユーザーとサーバーの正常性監視
DirectAccess サーバーの要件
• Active Directory ドメインのメンバーであり、ドメインコントローラーと通信できること
 もし構成時にドメインに参加していないことが検出されると、強制的にドメイン参加のプ
ロセスが開始される(再起動要)
• DirectAccess の構成は、ローカルコンピューターの管理者権限を持ったドメインユーザーでな
ければならない。また以下の要件を満たしている必要がある。
 ドメインの Account Operators グループのメンバー
 Domain Admins グループのメンバー
 Enterprise Admins グループのメンバー
• サーバーで IPv6 および IPv6 移行テクノロジーが有効であること
• サーバーで IP ヘルパー サービス が起動していること
• サーバーで Windows Firewall が正常に稼働していること
(無効にすると接続セキュリティ規則が処理できないため動作しない)
• ネットワークカードがネットワークに接続され、正常に稼働していること
その他の要件
クライアント
• OSとして以下が稼働していること
 Windows 7 または Windows 8
 Windows Server 2008 R2 または Windows Server 2012
• Active Directory ドメインのメンバーであること
Active Directory ドメインコントローラー
• IPv6 に対応したドメインコントローラー
 Windows Server 2008
 Windows Server 2008 R2
 Windows Server 2012
• ドメインおよびフォレストレベルは問わない
DNS
• 以下のOSで稼働しているDNSサーバー
 Windows Server 2008
 Windows Server 2008 R2
 Windows Server 2012
DirectAccess は IPv6 ベースのテクノロジー
インターネット
社内ネットワーク
DirectAccess Server
DirectAccess のネットワークトポロジー
Internet
DMZ
IPv4 or IPv6(インターネット側)
自動構成
社内ネットワーク
(IPv6 packets on an HTTPS)
IPv4 or IPv6(社内ネットワーク側)
IPv6 移行テクノロジー
• 6to4 (RFC3056)
IPv6 パケットを IPv4 でカプセル化するテクノロジー
• Teredo(RFC4380)
IPv6 と IPv4 をリレーするテクノロジー
リレー用に2つの連続したパブリックIPv4アドレスを持ったNICが必要
Windows Server 2012 + Windows 8 では使用されなくなった
• IP-HTTPS(RFC1945, RFC2616, RFC2818)
IPv6 パケットを IPv4 HTTPS でカプセル化するテクノロジー
DirectAccess では、IPv6 をIPSecで暗号化し、さらに HTTPS により暗号化しているため、
コンバージョンの負荷が高い
• ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)
IPv4 網内にある IPv6ホスト同士が通信を行うためのトンネリングテクノロジー
クライアント側アプリケーションは IPv6 対応でなければならない
Application
企業内 Firewall に必要な設定
Dist. IP 50
Dist. UDP 500
Dist. IP 41
Dist. TCP 443
HTTPS ベースの Kerberos Proxy
Windows Server 2012 DirectAccess では、PKI の展開はオプションとなり構成管理がシン
プルになった
1. クライアントの認証リクエストが DirectAccessサーバーのKerberos プロキシーに送られる
2. Kerberos プロキシは、Kerberos 関連リクエストをクライアントに代わってドメインコント
ローラーに転送。認証が完了すると内部の業務サーバーとの通信が可能になる。
Internet
マルチサイト構成
Manage-Out のサポート
ネットワークロードバランス構成
強制トンネリング
名前解決ポリシーテーブル(NRPT)
 DNS 名前空間ごとに「使用する DNS サーバーを決定するポリシー」定義できる機能
 ポリシールールに存在しない名前空間は、NICで定義されたDNSサーバーに問い合わせる
 インターネットトラフィックとイントラネットトラフィックの分離を実現するために、Windows
7/Windows Server 2008 R2 から導入された
 DirectAccess によりインターネットのクライアントは社内 DNS を使用できる
ネットワーク ロケーション サーバー(NLS)
• クライアントがイントラネットに直接接続されている場合のみアクセス可能な HTTPS サーバー
• DirectAccess クライアントが接続を試みて、正常に WEB ページを取得できた場合には、クライ
アントはイントラネット上に存在すると判断される
• イントラネット上のクライアントであると認識されると、DirectAccess サーバーは使用しない
• NLS が正しく動作していないとイントラネットかインターネットかの判別が行えないので、高可用
性化することが推奨される
NRPT による NLS の除外
NLS がインターネットから名前解決できてしまうと、インターネット上のクライアントはイントラ
ネットに存在すると判断されてしまうため、DirectAccess が使用できなくなる。そのため、NLS
は NRPT の除外規則によって名前解決ができないようにしておく必要がある
オフライン ドメイン ジョイン
• プロビジョン用ファイルを使用し、ドメインコントローラと通信できない状態でドメインに参
加する手法
• Windows Server 2012 では DirectAccessに必要なグループポリシー設定を埋め込むことがで
きるため、インターネット上でオフラインドメインジョインすることができる
リモートアクセスを構成するコンポーネント
•
リモートアクセス
┣ DirectAccess および VPN(RAS)
┗ ルーティング
WEB サーバー(IIS)
┣ WEB サーバー
┣ HTTP 共通機能
┃┣ HTTP エラー
┃┣ディレクトリの参照
┃┣ 既定のドキュメント
┃┗ 静的なコンテンツ
┣ セキュリティ
┃┣ 要求フィルター
┃┗ IP およびドメインの制限
┣ パフォーマンス
┃┗ 静的なコンテンツの圧縮
┗ 状態と診断
┗ HTTP ログ
• 管理ツール
•
つづき
•
•
•
•
RAS 接続マネージャー管理キット(CMAK)
グループポリシーの管理
Windows Internal Database
リモートサーバー管理ツール
┗ 役割管理ツール
┗ リモートアクセス管理ツール
┣ Windows PowerShell 用リモートアクセスモジュール
┗ リモートアクセスGUIツールとコマンドラインツール
IIS 8.0 の管理性向上
IIS 8.0 で導入された新テクノロジー
•
•
•
•
•
•
•
•
NUMA対応
Server Name Indication
SSL 証明書の集中管理
IIS CPU スロットリング
Application initialization
動的 IP 制限
FTP ログオンの試行制限
オープンスタンダードのサポート
•Web Socket Protocol(ASP.NET 4.5)
•ASP 3.5 と 4.5 の同時サポート
WEB サーバーのスケーラビリティ
•
•
•
•
•
NUMA 対応によるハードウェア性能向上に伴うアプリケーション性能向上
SNI によるホスティングやクラウドにおける SSL サイトのスケールアウト
証明書を共有フォルダで集中管理し、オンデマンドで証明書をロード
SSL バインディング管理の簡素化
CPU スロットリングによるロードバランシング、SLA 対応
NUMA 対応
• NUMA ノードに合わせてワーカープロセスが自動調整されるため、パフォーマンスを最適化す
ることができる。
• アプリケーションプールによって対応するため、アプリケーション自身の作りこみは必要無い
効果
• ハードウェアの性能を、アプリケーションの改修
なく享受することができる
• プロセッサコアが増えるほど性能向上
可用性
• CPUのメモリアクセス負荷を低減し、アプリケー
ションのワークロードをNUMAノードごとに分散
管理性
• アプリケーションプールの設定を変えるだけなの
で、特に複雑な仕組みを理解する必要がない
アプリケーションプールをNUMA対応にするには
SNI(Server Name Indicator: RFC4366)サポート
xxx.xxx.xxx.xxx
IP=xxx.xxx.xxx.xxx
証明書ストア
Cotoso.com
HOST=contoso.com
証明書ストア
IIS CPU スロットリング
証明書の集中管理
証明書
証明書
IIS
www.contoso.com
IIS
IIS
www.contoso.com
IIS
証明書
www.Contoso.com.pfx
Server Farm
Server Farm
証明書の有効期限管理
IIS 管理コンソールから証明書の有効期限を容易に識別できる
有効期限ごとにグルーピング表示
•
•
•
•
•
•
期限切れ
明日
今週
来週
来月
それ以降
Application Initialization
• x
applicationHost.config の構成例
Application pool configuration entry:
<add name=".NET v4.5" managedRuntimeVersion="v4.0" />
Application configuration entry:
<application path="/appinit" applicationPool=".NET v4.5">
アプリケーションレベルの web.config の構成例
<applicationInitialization skipManagedModules="true" >
<add initializationPage="/default.aspx" />
</applicationInitialization>
動的 IP 制限
• IIS7 以前では、IPアドレスの静的な制限機能を持っていた
• ブロック時には 403.6 Forbidden をクライアントに送信
• 同時要求数、一定時間内の要求の数によって要求元 IPアドレスを動的にフィルタする
• IP アドレスだけでなく、 x-forwarded-for による制限も可能
• フィルタが発動した際には以下の対応が可能
• Unauthorized: IIS は HTTP 401 を返す
• Forbidden: IIS は HTTP 403 を返す
• Not Found: IIS は HTTP 404 を返す
• Abort: IIS はコネクションを切断する
IP Address Management (IPAM)
IP Address Management (IPAM)
企業内ネットワークで使用している IPアドレス空間の集中的な管理、監視、監査
を行うためのフレームワーク
• IPアドレス基盤の自動検出
• ドメインコントローラー
• DHCP サーバー
• DNS サーバー
• IP アドレス空間の監視、レポーティグ、管理
• サーバー構成変更の監査とIPアドレス利用の追跡
• DHCP リースとユーザーログオンイベントをベースにした IP address、クライアン
トID、ホスト名、ユーザー名による追跡
• DHCP と DNS の集中管理と監視
•
•
•
•
サービスの稼働監視
DNS ゾーンの正常性監視
DNS レコードの管理
DHCP のスコープ管理
IPAM のアーキテクチャ
IPAM Client
WS-Management
Win 8
WMI/LDAP/MS-EVEN6
Address Expiry
Server Monitoring
Server Availability
Data-collection tasks
Event Collection
IPAM Audit
Administrators
RPC/WMI/MS-EVEN6
IPAM Server
Address Utilization
IPAM
Users
WID
Server Configuration
IPAM MSM
Administrators
WS2012
Server Discovery
IPAM ASM
Administrators
WCF
Role-based access control
IPAM
Administrators
RPC/WMI/SMB/MS-EVEN6/
WS-Management
MS-EVEN6
DHCP Server
DNS Server
DC Server
NPS Server
WS2012; WS08R2 & SPs; WS8
MS-EVEN6 : Event Log Remoting Protocol Version 6
WID : Windows Internal Database
IPAM で管理されるアドレス空間の構造
アドレスブロック
アドレス レンジ
アドレス
ISP や RIR から割り当てられたアドレ
ス空間や、社内で取り決めたプライ
ベートアドレス空間
ブロックから切り取られた、実際に使用
するアドレス空間の定義。DHCPで定義さ
れた空間も検出される。
割り当てられたアドレス。DHCPに
よって動的に割り当てられたアドレ
スも管理される。
DHCP Failover
DHCP Failover
従来
DHCP Failover
アドレス空間
未使用
アドレス空間
SCOPE1
SCOPE2
未使用
SCOPE1
SCOPE1
SCOPE2
SCOPE1
SCOPE1
DHCP サーバー1
DHCP サーバー2
DHCP サーバー1
DHCP サーバー2
ロードバランス、フェールオーバー
アドレス要求
アドレス要求
Client
Client
Active Directory Domain Service
Consumer Enterprise
Windows Azure
Active Directory
Microsoft Account
(Windows Live ID)
Microsoft
全製品
Windows 8
Microsoft
全 OS
Sync
Sync
Windows Server
Active Directory
Metadata
Sync
HR
他社 IdP
ドメインコントローラーの仮想化
仮想 DC の要件
DC 仮想化のメリット
• スケーラビリティ
• 物理 PC がなくても展開可能
• サーバーのロールバック(スナップショット)
• 自動展開のしやすさ
• パブリックウラウドへの移行
• 仮想 DC を IaaS に展開
196
仮想 DC の展開
• サーバーマネージャーを使用して
• Windows PowerShell を使用して
• VHDファイルを所定の手続きでクローン
いずれの処理もリモートから行える
197
DCクローンの動作イメージ
①クローン先情
報を埋め込む
DC01
②エクスポート
Hyper-V
VHD
③インポート
DC02
Hyper-V
198
仮想 DC のクローン手順
1. ソース DC で FSMO が起動していないことを確認。起動してい
る場合には他の DC に移動。
2. ソース DC をクローン可能な DC として認可する
3. 非互換アプリを調査し CustomDCCloneAllowList.xml を生成
4. 複製先情報を記載した DcCloneConfig.xml ファイルを作成
5. ソース DC をシャットダウン
6. ソース DC を Export
7. ソースを起動
8. Exportしたイメージを新しい仮想マシンとして Import
9. 複製先マシンを起動( DC 間複製が開始される)
$SourceDC = "ITCAMP-DC02"
$DistDC = "ITCAMP-DC03"
$distPDCEmu = "ITCAMP-DC01"
$SourceHyperVHost = "ITCAMP-FS"
$DistHyperVHost = "ITCAMP-FS"
$VMStore = "\\$DistHyperVHost\VMStore"
step1
step2
step3
step4
step5
step6
step7
step8
step9
DCクローンを自動化するスクリプト例
DC01
ここから
コマンドを実行
DC02
複製
DC03
ITCAMP-FS
$ConfirmPreference = "none"
Move-ADDirectoryServerOperationMasterRole -Identity $distPDCEmu -OperationMasterRole PDCEmulator
Get-ADComputer $SourceDC | %{Add-ADGroupMember -Identity "Cloneable Domain Controllers" -Members $_.samAccountName}
Invoke-Command -ComputerName $SourceDC -ScriptBlock { Get-ADDCCloningExcludedApplicationList -GenerateXml -Force }
Invoke-Command -ComputerName $SourceDC -ScriptBlock { `
New-ADDCCloneConfigFile -Static -IPv4Address "192.168.210.52" `
-IPv4DNSResolver "192.168.210.50" `
-IPv4SubnetMask "255.255.255.0" `
-IPv4DefaultGateway "192.168.210.254" `
-CloneComputerName "$Args" `
-SiteName "Default-First-Site-Name" } `
-ArgumentList $DistDC
Stop-VM -ComputerName $SourceHyperVHost -Name $SourceDC
Get-VM -ComputerName $SourceHyperVHost -Name $SourceDC | %{ Export-VM $_ -Path $VMStore}
Start-VM -ComputerName $SourceHyperVHost -Name $SourceDC
$CFG = (Dir "$VMStore\$SourceDC\Virtual Machines\*.xml").FullName
MD \\$DistHyperVHost\F$\$DistDC
Import-VM -ComputerName $DistHyperVHost -Path $CFG -GenerateNewId -Copy-VhdDestinationPath F:\$DistDC
Get-VM -ComputerName $DistHyperVHost -Name $SourceDC |Where-Object {$_.State -EQ "Off"} | Rename-VM -NewName $DistDC
Start-VM -ComputerName $DistHyperVHost -Name $DistDC
200
Step 1: ソースDCでPDCエミュレーターが動作していないことを確認
PDCエミュレーターがインストールされているDCはクローンできない
$ConfirmPreference = "none"
Move-ADDirectoryServerOperationMasterRole -Identity $distPDCEmu `
-OperationMasterRole PDCEmulator
201
Step 2: ソースDCをクローン可能なDCに設定する
Get-ADComputer $SourceDC | %{Add-ADGroupMember `
-Identity "Cloneable Domain Controllers" -Members $_.samAccountName}
複製元となるドメインコン
トローラーを Cloneable
Domain Controllers のメ
ンバーにする
202
Step3.非互換アプリを調査し CustomDCCloneAllowList.xml を生成
Invoke-Command -ComputerName $SourceDC -ScriptBlock { GetADDCCloningExcludedApplicationList -GenerateXml -Force }
コマンドレットを実行することで、
C:\Windows\NTDS\CustomDCCloneAllowList.xml ファイルが作成される
<AllowList>
<Allow>
<Name>Active Directory Management Pack Helper
Object</Name>
<Type>Program</Type>
</Allow>
<Allow>
<Name>System Center Operations Manager 2012
Agent</Name>
<Type>Program</Type>
</Allow>
<Allow>
<Name>Microsoft Silverlight</Name>
<Type>WoW64Program</Type>
</Allow>
<Allow>
<Name>AdtAgent</Name>
<Type>Service</Type>
</Allow>
<Allow>
<Name>HealthService</Name>
<Type>Service</Type>
</Allow>
<Allow>
<Name>QWAVE</Name>
<Type>Service</Type>
</Allow>
<Allow>
<Name>System Center Management APM</Name>
<Type>Service</Type>
</Allow>
<Allow>
<Name>wlidsvc</Name>
<Type>Service</Type>
</Allow>
</AllowList>
203
Step4.複製先情報を記載した DcCloneConfig.xml ファイルを作成
Invoke-Command -ComputerName $SourceDC -ScriptBlock { `
New-ADDCCloneConfigFile -Static -IPv4Address "192.168.210.52" `
-IPv4DNSResolver "192.168.210.50" `
-IPv4SubnetMask "255.255.255.0" `
-IPv4DefaultGateway "192.168.210.254" `
-CloneComputerName "$Args" `
-SiteName "Default-First-Site-Name" } `
-ArgumentList $DistDC
すでに作成されていると上書きでいないので注意
204
DcCloneConfig.xml の例
<?xml version="1.0"?>
<d3c:DCCloneConfig
xmlns:d3c="uri:microsoft.com:schemas:DCCloneConfig">
<ComputerName>ITCAMP-DC03</ComputerName>
<SiteName>Default-First-Site-Name</SiteName>
<IPSettings>
<IPv4Settings>
<StaticSettings>
<Address>192.168.210.52</Address>
<SubnetMask>255.255.255.0</SubnetMask>
<DefaultGateway></DefaultGateway>
<DNSResolver>192.168.210.50</DNSResolver>
<DNSResolver>192.168.210.51</DNSResolver>
<DNSResolver></DNSResolver>
<DNSResolver></DNSResolver>
<PreferredWINSServer></PreferredWINSServer>
<AlternateWINSServer></AlternateWINSServer>
</StaticSettings>
</IPv4Settings>
<IPv6Settings>
<StaticSettings>
<DNSResolver></DNSResolver>
<DNSResolver></DNSResolver>
<DNSResolver></DNSResolver>
<DNSResolver></DNSResolver>
</StaticSettings>
</IPv6Settings>
</IPSettings>
</d3c:DCCloneConfig
205
Step 5:ソース DC をシャットダウン
Stop-VM -ComputerName $SourceHyperVHost -Name $SourceDC
206
Step 6:ソース DC を Export
Get-VM -ComputerName $SourceHyperVHost `
-Name $SourceDC | %{ Export-VM $_ -Path $VMStore}
207
Step7. ソースDCを起動
Start-VM -ComputerName $SourceHyperVHost -Name $SourceDC
複製先のDCは複製元DCと複製を開始するので、事前に起動しておく必要がある。
208
Step 8: Exportしたイメージを新しい仮想マシンとして Import
$CFG = (Dir "$VMStore\$SourceDC\Virtual Machines\*.xml").FullName
MD \\$DistHyperVHost\F$\$DistDC
Import-VM -ComputerName $DistHyperVHost `
-Path $CFG -GenerateNewId -Copy -VhdDestinationPath F:\$DistDC
重要!!インプレースインポート
はできない!
209
Step9.複製先マシンを起動
210
仮想 DC 展開の留意点
• 単一障害点にならないこと
 少なくとも2台のHyper-V サーバーに1台づつ展開
V-DC
V-DC
Hyper-V
V-DC
Hyper-V
V-DC
Hyper-V
 1つのハードウェアの障害が複数のDCに影響を与えないようにすること
 できるだけ物理的に異なるリージョンに配置すること
 可能であれば、少なくとも1台は物理 DC を構築しておくこと
211
• セキュリティ上の考慮点
• できるだけ DC のみの単一機能のサーバーとし、ホスト、ゲストともに
Server Core を採用すること
V-DC
(Server Core)
Hyper-V
(Server Core)
• 必要に応じて RODC を検討すること
• VHDファイルの安全性に考慮すること
• VHDファイルが含まれるドライブごと暗号化することをお勧め
212
213
214
215
216
• セキュリティ上の考慮点(つづき)
• ホストコンピューターは死守すること
• 可能であればホストコンピューターは管理用ネットワークのみと通信
を行うように設定されていること
• ホストコンピューターはゲストであるDCのドメインに所属させない
Sysvol 共有に
アタック
1
DC からスタート
アップスクリプトを
送り込む
V-DC
V-DC
3
Hyper-V
(domain member)
2
217
• パフォーマンスの考慮点
• Windows Server 2008 の場合約10%の性能減
Measurement
Test
Physical
Virtual
Delta
Searches/sec
Search for common name in base scope (L1)
11508
10276
-10.71%
Searches/sec
Search for a set of attributes in base scope (L2)
10123
9005
-11.04%
Searches/sec
Search for all attributes in base scope (L3)
1284
1242
-3.27%
Searches/sec
Search for common name in subtree scope (L6)
8613
7904
-8.23%
Successful binds/sec
Successful binds/sec
Successful binds/sec
Writes/sec
Perform fast binds (B1)
Perform simple binds (B2)
Use NTLM to perform binds (B5)
Write multiple attributes (W2)
1438
611
1068
6467
1374
550
1056
5885
-4.45%
-9.98%
-1.12%
-9.00%
Adtest.exe 使用 http://www.microsoft.com/en-us/download/details.aspx?id=15275
218
• 展開に関する考慮点
• 差分ディスクは使わないこと
固定
可変
差分
実使用
領域
元の領域
指定領域に達する
まで自動拡張
未使用領域
差
分
差
分
差
分
219
• 展開に関する考慮点(続き)
• VHDファイルを”単純複製”しないこと
• SID の重複
(..かといって ドメインコントローラーでの Sysprep は未サポート)
• USN(Update Sequence Number)ロールバック問題
• 起動しているドメインコントローラーを Export しないこと
詳細:http://technet.microsoft.com/en-us/library/
virtual_active_directory_domain_controller_virtualization_hyperv(v=ws.10).aspx
220
詳細解説:
Windows Server 2012 仮想 DC は、なぜス
ナップショットからのリストアが使えるのか
221
復習 「権限の無い復元」と「権限のある復元」
Non-Authoritative Restore
Authoritative Restore
権限の無い復元:障害で動作しなくなったサーバーの回復を目的としている
回復モード
バック
アップ
①復元
DC1
DC2
DIT
複製
DIT
権限のある復元:削除してしまったオブジェクトの回復を目的としている
回復モード
バック
アップ
①復元
DC1
DC2
差分複製
DIT
DIT
② 復元対象のオブ
ジェクトにマーク
(権限付け)
222
“正しい復元”にとって重要な 4 つの ID
• USN(Update Sequence Number)
• オブジェクトが追加、変更、削除されるたびに+1
• ドメインコントローラー個々に管理されている
• RID (Relative Identifier)
• DC 内オブジェクトの通番.
• SID の構成要素
• RID Master の RID Pool によって集中管理されている
• Invocation(発動,召喚) ID
• DIT のバージョン管理に使用される
• Get-ADDomainController で参照可能
• GUID(Globally Unique IDentifier)
• サーバー内オブジェクトのID
• 恒久的
223
USN とは
•
•
•
•
•
Update Sequence Number
オブジェクトを変更、作成、するごとに +1
ドメインコントローラーごとに管理されている
ドメインコントローラー間でどこまで複製が完了したかを確認するための番号
ドメインコントローラーに変更が加えられるたびに加算される
My USN=200
複製
USN_DC2 = 100
DC1
DIT
My USN=100
USN_DC1 = 200
DC1からは
USN=200まで
複製完了したと
いうこと
High
Watermark
DIT
DC2
224
複製の基本動作:
High Watermark をベースにした差分複製
HWM
My USN=200
複製リクエスト
USN_DC1 = 200
複製無し
DC1
ユーザー
追加
50人
DIT
DIT
My USN=250
DC2
複製リクエスト
USN_DC1 = 200
USN=201~250
DC1
DIT
DIT
250
DC2
225
USN ロールバック問題
My USN=250
DC1
USN_DC1 = 250
DIT
DIT
DC2
なんらかの原因で USN ロールバックが発生
My USN=200
複製リクエスト
USN_DC1 = 250
複製無し
DC1
DIT
DIT
DC2
矛盾
226
ユーザー
追加
50人
My USN=250
複製リクエスト
USN_DC1 = 250
複製無し
DC1
DIT
DIT
DC2
矛盾
ユーザー
追加
10人
My USN=260
複製リクエスト
USN_DC1 = 250
USN=251~260
DC1
DIT
DIT
260
DC2
矛盾
227
USN ロールバックの検知
• 「USN ロールバック」を検知すると、複製は停止する
• Windows Server Backup から古い DIT をリストアした場合
• 古い VHD ファイルをリストアした場合
• 古い Export ファイルをインポートした場合
Event ID 2103:Active Directory データベースがサポートされていない
方法で復元されました。Active Directory はこの状態が継続している間、
ユーザーのログオンを処理できません。
USNロールバックが検知されないと、データベース全体に影響を及ぼしてしまう!
だから、「検知」されないとならない。
228
Invocation ID
• Invocation ID:ディレクトリデータベース(NTDS.DIT)のID
• DITのバージョン識別子として扱われる
DIT
Invocation ID
229
USN ロールバック問題を回避するには
•
ロールバックを検知し、Invocation ID をリセット(変更)する必要がある
• 複製パートナー側に新しいHWMが作成される
DC2 が把握している
DC1 が把握している
DC1(自分自身)の状態
DC1 の状態
USN = 1000
InvocationID = A
DC1(A)@USN1000
USNロールバック
USN = 500
InvocationID = B
ロールバック検知
複製要求
頭から複製
DC1(A)@USN1000
DC1(B)@USN500
新しい
HWM
DIT変更(USN変更)
USN = 600
InvocationID = B
複製要求
差分複製
DC1(A)@USN1000
DC1(B)@USN600
230
旧バージョンでのスナップショットによるUSNロールバック
スナップショットをリストアした場合には、USN ロールバックが検知されない
Create
Snapshot
•
TIME: T2
•
•
+100
users rollback
added
USN
はDC2に反映されない→50ユーザーが複製されてしまう
USN:are
200either on one or the other DC
All others
DC2 receives updates: USNs >100
ID: A
RID Pool:=600100 ユーザー(RID
5001000
- 599)は
SID 競合
T1 Snapshot
Applied!
USN: 100
+150 more users created
TIME: T4
DC2 receives updates: USNs >200
231
Windows Server 2012 では
Hyper-V ホストで VM-Generation ID を管理している
• ユニークな 128 ビットの ID
• 専用ドライバーによりゲストOSに通知できるようになっている
WS 2012 仮想 DC は VM-Generation ID をトラックする
• Active Directory database (DIT) に保存
• DIT への変更をコミットする前に、
• “DIT 内部の VM-Generation ID” と “ホストが認識している
VM-Generation ID” を比較
• 異なれば DC の invocation ID と RID pool をリセットして
から、コミット
同じ操作を、起動時に実行する
仮想 DC
DIT
Invocation ID
VM-Gen ID
比
較
異なっていれば DC
の invocation ID と
RID pool をリセット
してから、コミット
VM-Gen ID
Hyper-V ホスト
232
Windows Server 2012 ではこうなっている
DC2
Timeline of events
DC1
TIME: T1
Create
Snapshot
USN: 100
ID: A
savedVMGID: G1
VMGID: G1
+100 users added
TIME: T2
USN: 200
ID: A
savedVMGID: G1
VMGID: G1
DC1(A)@USN = 200
DC2 receives updates: USNs >100
TIME: T3
T1 Snapshot USN: 100
Applied!
ID: A
savedVMGID: G1
VMGID: G2
+150 users created: VM generation ID
の差異が発生
DC2
again accepts updates: USNs >100
TIME: T4
… missing users replicate
back to DC1
USN: 250
ID: B
savedVMGID: G2
VMGID: G2
DC1(A)@USN = 200
DC1(B)@USN = 250
USN re-use avoided and USN rollback PREVENTED : all 250 users converge correctly across both DCs
233
結局のところ...
以下の用途には使えないので注意
「作成したユーザーを削除したい」
「変更したユーザーの属性を元に戻したい」
• Authoritative Restore を使用しましょう
• または Forefront Identity Manager を使用し、メタデータで管
理しましょう
消してしまったユーザーを復元するには「ゴミ箱」を使いましょう
234
ダイナミックアクセス制御
Dynamic Access Control(DAC)
“データガバナンス” へのニーズ
正しいコンプライアンスが必要
CIO
自分のデータが適切に保護されて
いるかどうやって監査すればよい
のだろう?
コンテンツオーナー
インフラサポート
コンプライアンスに違反しているかどう
か心配せずに必要なデータを使用したい
どのデータに責任があって、どう
やって制御すればよいかわからない
Information Worker
そうは言っても、複雑な ”データガバナンス”
• ファイル単位のアクセス権
• 増え続けるファイル
• 管理の分散(コンプライア
ンス測定不能)
• 暗号化すべきデータの識別
• 膨大なデータ
アクセス
ポリシー
暗号化
ID管理
監査
• グループメンバーシップの管理
• 増え続けるグループとメンバー
増減への対応
• 複雑なメンバーシップルール
• 監査対象データの識別
Windows Server 2012 ダイナミックアクセス制御(DAC)
DAC によってそれぞれのテクノロジーを結びつける
• アクセスポリシーの
集中管理
• 自動識別と自動暗号化
アクセス
ポリシー
暗号化
ID 管理
監査
• 最新のユーザー情報の保持
• 監査ポリシーの集中管理
アクセスコントロールとは
•
•
アクセスコントロール(アクセス制御)とは...
... ユーザーがアクセスしてもよいかどうかを評価するためのプロセス
Windows の場合以下の 2 種類
• ACL ベースのアクセスコントロール
• Expression ベースのアクセスコントロール
アクセス権
アクセス
ID
情報
ACL(Access Control List)ベースのアクセスコントロール
• リソースにアクセスコントロールエントリ(ACE)を静的に割り当てる
• 各 ACE は「OR」で接続される
ユーザー
ACL
ACE
ACE
Resource
ACE
ACE
ACE
Read/Writ
e
グループ
ACE
A
Read Only
AGDLP
A
G
DL
P
:Account
: Global Group
: Domain Local Group
: Permission
ユーザー
組織や役割ごと
のグループ
ACL
ACE
Resource
ACE
ACE
“アクセス権”に
合わせて作成さ
れたグループ
ドメイン ローカル
グループ
ACE
Read Only
グローバル
グループ
グローバル
グループ
“静的なACL”を動的に管理するための Id プロビジョニングシステム
• 「静的」な ACE を「動的」に割り当てる仕組みも存在する
• Forefront Identity Manager のダイナミックグループ機能
グループ
メタデータ
グループ
A
workflow
Expression-Based グループ
通常のグループ
Expression-Based グループ
RBAC(Role-Based Access Control)
ユーザーやグループ単位ではなく”役割”単位でアクセス制御すること
....とはいえ、Windows の場合「役割」を「グループ」として表現するしかない....
役割(Role:ロール)
グループ
権限
公共事業部 マーケティング部所属
PubSec-Marketing
読み取り
公共事業部 営業部 所属
PubSec-Sales
読み取り
公共事業部 課長
PubSec-Managers
読み取り
公共事業部 部長
PubSec-SrManagers
読み取り
・・・・・
グループベース RBAC の限界
•
•
•
•
リソースの増加とグループの増加
複雑なメンバーシップ管理(1グループ1人 !?)
イレギュラーでダイナミックな組織構造
リソース管理者 ≠ ID 管理者
リソース管理
(リソース管理者)
ACL
Resource
ACE
ACE
ID 管理(ID 管理者)
連携が必要
A
A
ACE
ACE
A
A
A
A
ACL
Resource
A
A
A
A
A
A
Expression-Based Access Control
• ユーザー側の属性とリソース側で定義した属性の条件によってアクセスを制御
条件が合致すればアクセス可能
アクセスルール
ユーザーCountry = リソース Country
ユーザー Department = リソース Department
デバイス Owner = “Microsoft”
ユーザー属性
デバイス属性
リソース属性
Dynamic Access Control
• Expression-Based Access Control...
...利用者とリソースの属性によって動的にアクセスを制御する
• ID 管理者は ID のプロビジョニングに対して責任を持つ
• リソース管理者は、リソースの属性に対して責任を持つ
リソース属性管理
(リソース管理者)
営業部
所
Resource 属
IT部
経理部
ID 管理(ID 管理者)
Rules
IT部
A
経理部
営業部
A
人事部
A
A
企画部
A
DAC の想定シナリオ
リソースごとに行っていたアクセス制御をエンタープライズレベルで統制
• アクセスポリシー(Central Access Policy)の集中管理
 全社コンプライアンスポリシー
 組織の認可ポリシー
• ファイルアクセス監査ポリシー(Central Audit Policy)の集中管理
• File



Classification Infrastructure(FCI)と連携したファイルの自動分類
データの自動分類
社外秘データの自動暗号化
法廷保存期間に沿ったファイルサーバー上のデータの保管
「クレームベースのアクセス制御」とは
•
•
•
•
「クレーム」とは「要求」のこと
「要求」を出すのは「リソース(例:ファイルサーバー)側」
ユーザーはリソース側のクレームに合致した属性情報を「トークン」として提示
リソースは受け取ったトークンを解析してアクセス認可を判断
トークンを解析して
アクセス認可を判断
ユーザー
Name = Junichi Anno
Company = MSKK
Department = Evangelism
Title = Evangelist
リソース
DAC でのアクセス制御プロセス
DAC においては
• クレーム = 「分類属性」として定義
• トークン = Kerberos チケットとして AD DS から発行される
AD DS
Windows Server 2012 必須
※Kerberosに属性を含める機構が必要
ファイルサーバー
①ログオン
②属性情報を含んだ
Kerberos チケット
③ アクセス
ユーザー
on Windows 8
Name = Junichi Anno
Company = MSKK
Windows
Server 2012/8 必須
※属性を受信して解
析する機能が必要
チケットとクレームを
照合
RFC 2113 - Kerberos Armoring
• Windows Server 2012 Active Directory に実装
Whoami /claims
(参考)クライアントが Pre-Windows 8 の場合
Windows 7 以前のクライアントの場合、属性が格納されたKerberosチケットを要求することが
できないため、ファイルサーバーがAD DSから属性情報を受け取る
Windows Server 2003 以上のドメインレベル
※Service-for-User-to-Self(S4U2Self)機構が必要
AD DS
ログオン
ファイルサーバー
属性情報を含んだ
Kerberos チケット
従来の Kerberos
チケット
ユーザー
on Pre-Windows 8
属性は含まれない
Windows
Server 2012/8 必須
※属性を受信して解
析する機能が必要
チケットとクレームを
照合
DAC に必要なすべての情報が DC で集中管理される
DAC に必要な情報は3つ
• ソース(ユーザーおよびデバイス)の属性情報
• リソースの属性情報(分類属性)
• アクセスルール
ソース
条件が合致すれば
アクセス可能
定義
関連付け
リソース
DAC によるアクセスポリシー管理の全体像
「Active Directory 管理センター」で作成した「集約型アクセスポリシー」をグループポリ
シーオブジェクト(GPO)に結合することでファイルサーバーに適用する
ソース
(ユーザー)
リソース
集約型アクセスポリシー
集約型アクセス規則(ルール)
アクセス元の条件と、条件を
満たした時のアクセス権
クレームタイプ
(要求の種類)
Country
Department
ターゲットとなるリソースの条件
分類属性とリソー
スの条件が合致す
ればアクセス権が
与えられる
リソース プロパティ リスト
リソース プロパティ
Country
結合
GPO
Department
適用
Active Directory
アクセスポリシーの管理は「Active Directory 管理センター」から行う
アクセスポリシーはグループポリシーで配信する
アクセス権判定の例
ファイルの分類属性
Dept
Engineering
Sensitivity
Hight
パーミッションの設定
パーミッションのタイプ
与えられるアクセス権
ターゲットファイル
パーミッション
Everyone:Full
共有のアクセス権
Engineering
FTE
Full
Engineering
Vendor
Sales
FTE
Full
Full
Central Access Rule 1:
Engineering Docs
Dept=Engineering
Engineering:変更
Everyone: 読み取り
Modify
Modify
Read
Rule 2: Sensitive Data
Sensitivity=High
FTE:変更
Modify
None
Modify
Rule 3: Sales Docs
Dept=Sales
Sales:変更
NTFSのアクセス権
FTE:変更
Vendors:読み取り
アクセス権:
[rule ignored – not processed]
Modify
Read
Modify
Modify
None
Read
アクセス拒否発生時の速やかな対応
ユーザーがファイル共有にアクセスして”アクセス拒否”が発生した際に、
速やかな問題解決を図るために以下の対応が可能。
• メッセージの送信
 to システム管理者
 to 共有フォルダーの所有者
• アクセス権取得の要求
グループポリシーおよびファイルサー
バーリソースマネジャーで設定
DAC に求められる条件
管理者の管理責任範囲は狭くなるが、管理の精密性が求められる
リソース管理者の責任
• コンプライアンスに沿った条件設定
• 状況に応じたダイナミックな設定変更
IT(ID)管理者の責任
• ID 情報の精密性
• 迅速な ID 情報の反映
DAC を支えるテクノロジー
• AD DS と FSRM が鍵
FSRM Protocol
GPO
GLOBAL Classification Attributes
A
ファイルサーバーリソースマネージャー(FSRM)
ファイル サーバーに保存されたデータを管理および分類できるようにするための機能セット
• ファイル分類インフラストラクチャ(FCI)
• ファイル管理タスク
• クォータの管理
• ファイル スクリーンの管理
• 記憶域レポート
FSRM Protocol
スクリーニング
分類属性の定義
ファイル管理タスク
ディレクトリ クオータ
記憶域レポート
拡張機能の登録
Global Resource Property
分類属性
• ファイル/フォルダを分類するための拡張属性
• ローカル属性
• FSRM管理コンソール、または Windows PowerShell で管理
• グローバル属性
• Active Directory のオブジェクトとして定義し、GPO を使用して Schema に反映
• Update-FsrmClassificationPropertyDefinition で属性としてコミット
Fsrm protocol
グローバルタイプの分類属性 は AD 上に格納されている
グローバル 分類属性
• AD DS 側で属性リストを集中管理し、グループポリシーとして配布可能
※FSRM 側は Windows Server 2012 または Windows 8
AD DS
Fsrm protocol
ファイルサーバー
+ ファイルサーバーリソースマネージャー
(Windows Server 2012 or Windows 8)
PAC
(参考)Windows Azure Active Directory
Identity Technology の課題
•
•
•
•
ROI(投資収益率) が見えずらい
アーキテクチャが複雑でエンジニアがいない
導入コストと管理コストが結構大きい
“変化”が外部に与える影響が大きい
Forefront Identity Manager
OTP
ldap
NTLM
radius
SM
B
IRM
nis
OAuth
セキュリティトークン
802.1x
同期
ACL
メタディレクトリ
SAML
WS-Federation
Kerberos
フェデレーション
Nis+
ACS
CHAP
PIN クレーム認証
Provisioning
Active Directory
Service for UNIX
統合認証
マルチマスター
ACE
SCIM
パスワード
認可
OpenID
ICカード
信頼関係
IdM
信頼関係 証明書
NDS
SSO
ACE
アサーション
2要素認証 OpenID Connect
WS-Trust
ADSI
267
Windows Azure Active Directory ~2013年4月リリース
IdM as a Service
• マルチテナント
• 認証 HUB(トークンゲートウェイ)
• ID ストア
External IdP
• REST API
LIVE
連携
Sync
Windows Server
Active Directory
or
Shibboleth
or
PingFederate
Access Control
Directory
Graph API
Windows Azure
Auth. Library Active Directory
3rd Party Services
Apps in Azure
268
Windows Azure Active Directory
definitely
not !
Windows Server Active Directory
(on premise / on Azure IaaS)
269
CoreIO(Core Infrastructure Optimization)
• ID を中心に、すべてのリソースを結合
• End to End のセキュリティポリシー
• IdM により関係性が管理されている
IdM の役割
Network
Devices
IdM
• Digital Identity の Provisioning
• Create
Users, Devices, Services
• Retrieve(Read)
Groups
• Update
Attributes
• Delete
• 最新状態の維持
IdM の目的
Digital Identity
Data
Services
•
•
•
•
ただしく認証、ただしく認可
適切なアクセス権管理
リソースの保護
セキュリティポリシーの管理
270
従来の ID 管理 ~ Domain-based Identity Management
• ドメイン境界内の保護
• ID による企業統制
• セキュリティポリシーの集中管理
ドメイン境界(Firewall)
Active Directory ドメイン
271
IdP の乱立問題をどう回避したのか?
回避は........できませんでした...
そのかわり...こんな方法で対応してきました
統合認証
同期
認証サーバー
業務
業務
Metadata
業務
業務
業務
272
組織間、企業間連携のニーズ
サービス(Service Provider: SP)には、認証と認可がつきもの
• ドメインの異なる組織、企業間でサービス連携を行いたい
• Active Directory 以外のドメインとの連携
Active Directory ドメイン
Active Directory ドメイン
連携
273
パブリッククラウド連携へのニーズ
• 企業向け サービス(Service
SaaS(Office Provider:
365, GAE,
Saleceforce など)
SP)には、認証と認可がつきもの
• SNS との連携
Web
Service
Web Service
Salesforce.com
Web
Service
office365
Web Service
Google.com
Web Service
Facebook.com
Web
Service
Web Service
Outlook.com
Active Directory ドメイン
274
新たな課題
IdP(Identity Provider)として
• 企業ドメインの ”境界” を超えたリソース利用
• パブリッククラウド上での Identity 管理
SP(RP)として
• 複数企業の受け入れ方法(コードを書き換える!?)
• テナントごとのアクセス管理
• 受け入れ企業の Digital Identity 管理、保守
• 「パスワード管理なんてやってられっか!」
275
Identity Federation Model
• ドメインベースモデルの大いなる拡張!
• ドメイン外サービスとの連携
• 認証と認可の分離(IDとリソースが同一ドメイン内でなくてもよい)
認可
認証
同一人物
IdP(CP)
PROVES WHO SHE IS
SP(RP)
CLAIMS
WHO AM I?
276
クレーム ベース の認証と認可
IdP :ユーザー認証、デバイス認証を行いトークン(アサーション)を発行
SP :トークンから本人を識別し、ロールを決定してアクセスを認可する
クレーム ベースの認証と認可
IdP(認証)
信頼
クレームを格納
ユーザー
情報
トークン
トークン
SP(認可)
業務
ロール
管理簿
トークンを解析
• 本人識別
• ロール決定
属性ストア
利用者
プロトコルが存在する
277
アクセス権はロールによって決定される
• ロールを決定するための「クレーム」は SP が提示する
• アプリケーションには「ロール」決定のためのロジックを実装
Token
IdP(認証)
Claims
mail
値
ユーザー
情報
属性ストア
SP(認可)
値
name
値
company
値
title
提
示
業務
ロール
管理簿
トークンを解析
• 本人識別
• ロール決定
署名
278
アイデンティティフェデレーションのメリット
• ドメイン(Firewall)を超えたリソースの利用
• 以下の2要素が一致しており、相互に信頼関係が成立していれば連携が可能
• プロトコル(SAML 2.0、WS-Federation、WS-Trust)& プロファイル
• トークン(アサーション)のフォーマット(SAML 1.1、SAML 2.0)
• IdP の違い(認証方式の違い)がアプリケーションに影響しない
C 社 IdP
B 社 IdP
A 社 IdP
Security Token Service(STS)
SP 側は STS に IdP を登録。STS
が IdP の違いを吸収する。
必要なクレームは SP 側が IdP に
提示する。
CRM
ロール
管理簿
Domain-Based Identity Management モデルの延長でしかない
Active Directory ドメイン
トークンの
やり取り
業務サービス
クラウド上の
業務サービス
クラウド上の
業務サービス
IdM as a Service
CoreIO
Network
Devices
IdM
Digital Identity
Data
Services
Windows Azure Active Directory
IdM as a Service
• マルチテナント
• 認証 HUB(トークンゲートウェイ)
• ID ストア
External IdP
• REST API
LIVE
連携
Sync
Windows Server
Active Directory
or
Shibboleth
or
PingFederate
Access Control
Directory
Graph API
Windows Azure
Auth. Library Active Directory
3rd Party Services
Apps in Azure
282
WAAD ー Directory Service
• ユーザー情報の格納庫
• ユーザー認証
• トークン発行
Directory Service
Graph
アカウント情報への
(REST API)
アクセス
• ユーザー
• グループ
• デバイス
ID Store
Federation
Gateway
(STS)
SAML2.0
WS-Fed
OAuth 2.0
Application
Web Service
SAML 2.0(限定的サポート)
WS-Fed
STS
IdP
•
•
•
Windows Server Active Directory
Shibboleth
PingFederate
283
マルチテナント対応アプリケーションの実現
http://msdn.microsoft.com/en-us/library/windowsazure/dn151789.aspx
284
WAAD ー Directory Service 2要素認証(プレビュー)
• Windows Azure Active Directory の追加認証要素として実装
• サービスプロバイダーから透過的
• 携帯電話(スマートフォン)を使用することで認証チャネルを分離
• 現時点では WAAD で認証を行うユーザーにのみ適用可能
• ブラウザ利用のみ
Token
Directory Service
SP
Token
Access
IE
ID/Password
PhoneFactor
#
Application
Web Service
285
WAAD - Access Control Service
• 外部 IdP から SP に対するトークンゲートウェイ
• オンプレミス Active Directory との ID フェデレーション
OpenID
WAAD
Application
IdP
STS
Directory
Service
Oauh 2.0
WS-Fed
トークン
変換
WS-Fed
SP
OAuth
Wrap
STS
IdP
WS-Fed をサポートしている IdP
Application
Access Control Service
286
287
Graph API
• API 認可(OAuth 2.0)による情報保護
• RESTful Graph API を使用した Directory へのアクセス
• JSON/XML で応答を受信
• API エコノミーを支えるアセット
対称キーや証明書を共有
OAuth 2.0 Endpoint
Graph API Endpoint
Check
Token Request
JWT
Request w/ JWT
Response
LOB
Windows Azure
Active Directory
288
Top-Level Resources
Query Results
URI (for contoso.com)
Top-level resources
Returns URI list of the top-level
resources for directory
https://graph.windows.net/contoso.com/
services (also listed below)
Company information Returns company information
https://graph.windows.net/contoso.com/Tenant
Details
Contacts
Returns contact information
https://graph.windows.net/contoso.com/Contac
ts
Users
Returns user information
https://graph.windows.net/contoso.com/Users
Groups
Returns group data
https://graph.windows.net/contoso.com/Groups
Roles
Returns all roles that have
users or groups assigned to
them
https://graph.windows.net/contoso.com/Roles
289
まとめ
IdMaaS は
• 企業ドメインの枠を超えて、あらゆる Digital Identity と あらゆ
る Service を結び付け、パブリッククラウド上の様々なサービス
(API)とともに “API エコノミー” を構成します
• 将来、企業のソーシャルグラフとなり、Enterprise Social
Network を実現します
290
まとめ
IdMaaS は企業組織のソーシャルグラフである
Enterprise Social Network
Partners
IdMaaS
業務
システム
IdM
Customers
Digital Identity
Employees
顧客
サービス
291
(参考)Kerberos と Windows について
Kerberos の歴史 ~ KDC(Key Distribution Center)の誕生
KDC と各サイト用マスターキー
マスターキーDB
KDC を使用した間接認証の基本概念
マスターキーDB
②ランダムな暗号化キーを生成
③キーを暗号化して送付
(いまさらですが)チャレンジレスポンス認
証
Kerberos
マスターキーDB
TGT(Ticket-Granting Tickets)
マスターキーDB
マスターキーDB
Windows ログオン = PC の利用権を得ること
マスターキーDB
PCとの共有秘密鍵がPC
のマスターキーで暗号化
された状態で含まれる