ASDK 1711 (AZURE STACK DEVELOPMENT KIT) で PEP (privileged endpoint) にアクセス

こんにちは。

Azure Stack は、Azure Stack Operator がDomain Admin 権限を利用した管理ができない設計になっています。

Azure Stack Integrated System をインストールして 1711 Update を適用すると、Domain Admin 権限の AzureStackAdmin ユーザーが利用できなくなり、CloudAdmin ユーザーで管理をする形になります。

そのため、Azure Stack の状態確認や ログを取得する場合は ERCS (Emergency Recovery Console System) という仮想マシンにPowershell でリモートログインをして、通常時は限られたコマンドのみ実行することが可能です。

今回は ASDK 1711 で ERCS にログインしてみたいと思います。

PEP とは、Priviladged Endpoint の略でこのエンドポイントを提供しているのが ERCS です。そのため、PEP で許可されたコマンドを確認する場合は ERCS に接続する必要があります。

マイクロソフトのドキュメントでは下記に記載があります。

Using the privileged endpoint in Azure Stack

1、ASDK の物理ホストに AzureStack\Cloudadmin ユーザーでログイン (パスワードはASDKをインストールしたパスワードと同じです。)

2、管理者権限で Powershell を起動します。

3、ERCS に接続する IP アドレスを確認します。(ホスト名でも接続できるみたいですが。。)

IPアドレスの情報は、下記ファイルに記載がありますので参照してみてください。

“C:\CloudDeployment\Logs\AzureStackStampInformation.json”

Emergency Console IP Addresses の項目です。

1.png

4、Winrm コマンドで 接続するERCS のIPアドレスを指定します。

winrm s winrm/config/client ‘@{TrustedHosts=”<IP Address of Privileged Endpoint>“}’

例) winrm s winrm/config/client ‘@{TrustedHosts=”192.168.200.225”}’

2

5、下記コマンドを実行します。

$cred = Get-Credential

入力するユーザー名/パスワード はcloudadmin ユーザーを指定してください。

3.png

5、下記コマンドを実行します。

Enter-PSSession -ComputerName azs-ercs01 -ConfigurationName PrivilegedEndpoint -Credential $cred

4.png

これでPEP ログイン完了する予定だったのですが、エラーでだめでした。

私の環境だけかもしれないのですが、1712 Update (Build 20180103.2) の適用された ASDK では全く同じ手順で PEP に問題なくアクセスできました。

6.png

5.png

バージョンによって できる/できない が大きく変わっていることもあるため、できる限り最新版で検証されると、マルチノードの Integrated System を導入した際にも安心かと思います。

PEP は JEA (Just Enough Administration) で管理されているため、発行できるコマンドはなにか確認してみてください。

Get-Command

6、必要な操作が完了したら、PEP を切断してセッションを削除してください。

セッションは下記コマンドで削除が可能です。

Get-PSSession | Remove-PSSession

7.png

これで以上となります。

Azure Stack Operator として、今までと勝手が違う運用スタイルとなるためいろいろ確認してみてください!

ASDK 1711 (Azure Stack Development Kit) で SQL Resource Provider の追加

こんにちは。

ASDK のAzure 登録が完了したら、Marketplace Management から 仮想マシンイメージなどをダウンロードできるようになります。そのイメージを利用して、今回は MS SQL を PaaS サービスとして登録してみたいと思います。

MS DBaaS を提供するには、MS SQL Resource Provider と DB をホストするホスティングサーバーを構成する必要があります。今回は MS SQL RP の設定を行います。

MS SQL RP の登録方法はこちらに記載されています。

Use SQL databases on Microsoft Azure Stack

1、MS SQL RP を追加するために、Marketplace Management から Windows Server 2016 Datacenter Core のイメージをダウンロードします。

WS000010.PNG

2、ダウンロードが完了したら Privileged Endpoint VM にアクセスできるサーバーにログインします。ASDK の場合は、ホストにログインすれば OK です。

WS000019.PNG

3、SQL Resource Provider のバイナリをダウンロードし、実行します。利用している ASDK のバージョンによって、ダウンロードするバイナリが異なるので注意してください。

Azure Stack build SQL resource provider installer
1.0.180102.3, 1.0.180103.2 or 1.0.180106.1 (multi-node) SQL RP version 1.1.14.0
1.0.171122.1 SQL RP version 1.1.12.0
1.0.171028.1 SQL RP version 1.1.8.0

※ 2018年2月3日 時点で公開されているものです。

ダウンロードしたバイナリを実行すると、いくつかのファイルが展開されます。このファイルを利用して、SQLRP をインストールします。

WS000009.PNG

4、Azure PowerShell Version 1.2.11 がインストールされているか確認します。

Get-Module -ListAvailable | where-Object {$_.Name -like “Azure*”}

WS000005.PNG

Script 1.2.11 AzureRM と Script 1.2.11 AzureStack  が表示されていれば問題なしです。

インストールされていない場合は、下記の手順を実施してください。

Install Azure PowerShell version 1.2.11.

5、マルチノードの場合は PaaS 用に証明書を準備する必要があるのですが、ASDK は SQL RP をインストールする際に一緒に構成してもらえるので、証明書に関して気にする必要はありません。

6、Powershell を管理者権限で実行し、SQL RP のバイナリを展開したフォルダに移動します。

7、DeploySqlProvider.ps1  を実行します。SQLRP のインストールにはしばらくかかりますが、90 分以上経っても完了しない場合は失敗の可能性があるみたいです。私の環境では、40分くらいで完了しました。

スクリプト開始

WS000016.PNG

スクリプト完了

WS000024.PNG

DeploySqlProvider.ps1 のオプションが結構多いですが、下記のサンプルコマンドで 必要な項目を修正して実行すれば問題なくインストールできます!修正が必要な項目は赤字の部分です。AADのユーザーや、ASDKをインストールするときに設定したパスワードなどですね。

# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureRM and AzureStack modules.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2017-03-09-profile
Install-Module -Name AzureStack -RequiredVersion 1.2.11 -Force

# Use the NetBIOS name for the Azure Stack domain. On the Azure Stack SDK, the default is AzureStack and the default prefix is AzS.
# For integrated systems, the domain and the prefix are the same.
$domain = “AzureStack”
$prefix = “AzS”
$privilegedEndpoint = “$prefix-ERCS01”

# Point to the directory where the resource provider installation files were extracted.
$tempDir = ‘C:\TEMP\SQLRP’

# The service admin account (can be Azure Active Directory or Active Directory Federation Services).
$serviceAdmin = “admin@mydomain.onmicrosoft.com
$AdminPass = ConvertTo-SecureString “P@ssw0rd1” -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set credentials for the new Resource Provider VM.
$vmLocalAdminPass = ConvertTo-SecureString “P@ssw0rd1” -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential (“sqlrpadmin”, $vmLocalAdminPass)

# And the cloudadmin credential that’s required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString “P@ssw0rd1” -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential (“$domain\cloudadmin”, $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString “P@ssw0rd1” -AsPlainText -Force

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
. $tempDir\DeploySQLProvider.ps1 -AzCredential $AdminCreds `
-VMLocalCredential $vmLocalAdminCreds `
-CloudAdminCredential $cloudAdminCreds `
-PrivilegedEndpoint $privilegedEndpoint `
-DefaultSSLCertificatePassword $PfxPass `
-DependencyFilesLocalPath $tempDir\cert

SQL RP のインストールが完了したあとは、Azure Stack 管理者ポータルからもジョブ完了の確認をすることができます。

1、管理者ポータルにログインして、Resource Group をクリック

WS000025.PNG

2、system.local.sqladapter をクリックし、Deployment で ”4 Succeeded” と表示されていれば問題ありません。WS000026.PNG

これで、SQL RP のインストールは完了です。このあと、SQL ホスティングサーバーを構成すれば、MSDBaaS を提供できるようになります!