Daniel's Tech Blog

Cloud Computing, Cloud Native & Kubernetes

Windows Azure Pack – NLB Konfiguration

Wie im Blogartikel “Hochverfügbarkeit für SPF, SMA und WAP” schon angesprochen muss man die WAP Komponenten  nach der NLB Installation und Konfiguration noch per PowerShell anpassen.

In meinem Szenario wurde das Windows Azure Pack auf zwei Servern so installiert, dass man die IaaS Komponente VM Clouds nutzen kann. Dabei befinden sich das Admin und Tenant Portal auf beiden Servern. Da die WAP Installation nur intern genutzt wird und nicht extern, kann man diese Installation fahren. Des Weiteren war eine weitere Herausforderung, dass die gesamte IaaS Umgebung inklusive VMM, SPF, SMA und WAP hochverfügbar sein sollte und das mit möglichst wenig Servern. Daher diese Installationsvariante. Aber das Prinzip der Anpassung mit der PowerShell lässt sich auf alle Installationsvarianten übertragen. Nun aber zu den PowerShell Cmdlets.

FQDN Anpassung Site & API Websites:

Als Erstes erfolgt die Anpassung der folgenden Sites & APIs an den neuen FQDN: AdminSite, TenantSite, AuthSite, WindowsAuthSite, TenantAPI, AdminAPI und TenantPublicAPI. Am besten führt man die PowerShell Befehle direkt auf einem der WAP Server aus. Dazu müssen dann lediglich die Variablen $Database und $FQDN angepasst werden. In den Befehlen selber sieht man auch, dass die TenantSite den Port 443 verwendet anstatt den Standardport. Hier sollte man ebenfalls darauf achten den richtigen Port der Website mitzugeben, falls sich dieser geändert hat.

-> http://technet.microsoft.com/en-us/library/dn632412.aspx

$Database=’SQLServerNameSQLInstanceName’
$FQDN=’wapnlb.domain.local’
Set-MgmtSvcFqdn -Namespace “AdminSite” -FullyQualifiedDomainName $FQDN -Port 30091 -Server $Database
Set-MgmtSvcFqdn -Namespace “TenantSite” -FullyQualifiedDomainName $FQDN -Port 443 -Server $Database
Set-MgmtSvcFqdn -Namespace “AuthSite” -FullyQualifiedDomainName $FQDN -Port 30071 -Server $Database
Set-MgmtSvcFqdn -Namespace “WindowsAuthSite” -FullyQualifiedDomainName $FQDN -Port 30072 -Server $Database
Set-MgmtSvcFqdn -Namespace “TenantAPI” -FullyQualifiedDomainName $FQDN -Port 30005 -Server $Database
Set-MgmtSvcFqdn -Namespace “AdminAPI” -FullyQualifiedDomainName $FQDN -Port 30004 -Server $Database
Set-MgmtSvcFqdn -Namespace “TenantPublicAPI” -FullyQualifiedDomainName $FQDN -Port 30006 -Server $Database

FQDN Anpassung Monitoring, Usage Service & Web App Gallery:

Anschließend erfolgt die Anpassung der Resource Provider Monitoring, Usage Service & Web App Gallery. Für weitere Resource Provider muss man dann weitere If Statements in den PowerShell Code hinzufügen.

-> http://technet.microsoft.com/en-us/library/dn632411.aspx

$AuthenticationSite=’https://’+$FQDN+’:30072′
$AdminURI=’https://’+$FQDN+’:30004′
$Token=Get-MgmtSvcToken -Type Windows -AuthenticationSite $AuthenticationSite -ClientRealm ‘http://azureservices/AdminSite’ -DisableCertificateValidation
$MgmtResourceProviders=Get-MgmtSvcResourceProvider -IncludeSystemResourceProviders -AdminUri $AdminURI -Token $Token -DisableCertificateValidation
foreach($MgmtResourceProvider in $MgmtResourceProviders){
#Monitoring
if($MgmtResourceProvider.name -eq ‘monitoring’){
$AdminEndpoint=’https://’+$FQDN+’:30020′
$TenantEndPoint=’https://’+$FQDN+’:30020′
$MgmtResourceProvider.AdminEndpoint.ForwardingAddress = New-Object System.Uri($AdminEndpoint)
$MgmtResourceProvider.TenantEndpoint.ForwardingAddress = New-Object System.Uri($TenantEndPoint)
Set-MgmtSvcResourceProvider -ResourceProvider $MgmtResourceProvider -AdminUri $AdminURI -Token $Token -DisableCertificateValidation -Force

}
#WebAppGallery
if($MgmtResourceProvider.name -eq ‘marketplace’){
$AdminEndpoint=’https://’+$FQDN+’:30018′
$TenantEndPoint=’https://’+$FQDN+’:30018′
$MgmtResourceProvider.AdminEndpoint.ForwardingAddress = New-Object System.Uri($AdminEndpoint)
$MgmtResourceProvider.TenantEndpoint.ForwardingAddress = New-Object System.Uri($TenantEndPoint)
Set-MgmtSvcResourceProvider -ResourceProvider $MgmtResourceProvider -AdminUri $AdminURI -Token $Token -DisableCertificateValidation -Force
}
#UsageService
if($MgmtResourceProvider.name -eq ‘usageservice’){
$AdminEndpoint=’https://’+$FQDN+’:30022′
$TenantEndPoint=’https://’+$FQDN+’:30022′
$MgmtResourceProvider.AdminEndpoint.ForwardingAddress = New-Object System.Uri($AdminEndpoint)
$MgmtResourceProvider.TenantEndpoint.ForwardingAddress = New-Object System.Uri($TenantEndPoint)
Set-MgmtSvcResourceProvider -ResourceProvider $MgmtResourceProvider -AdminUri $AdminURI -Token $Token -DisableCertificateValidation -Force
}
}

FQDN Anpassung API Services:

Für weitere API Services muss ebenfalls der FQDN angepasst werden.

-> http://technet.microsoft.com/en-us/library/dn554313.aspx#BKMK_HowChangeURLsLoadBalanceAPIServices

$AntaresGeoMasterURI=’https://’+$FQDN+’:30004/services/webspaces’
$AdminApiLB=’https://’+$FQDN+’:30004′
$TenantApiLB=’https://’+$FQDN+’:30005′
$TenantPublicApiLB=’https://’+$FQDN+’:30006′
Set-MgmtSvcDatabaseSetting -Namespace AdminSite -Name Microsoft.Azure.Portal.Configuration.AppManagementConfiguration.AntaresGeoMasterUri -Value $AntaresGeoMasterURI -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace AdminSite -Name Microsoft.Azure.Portal.Configuration.AppManagementConfiguration.RdfeAdminManagementServiceUri -Value $AdminApiLB -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace AdminSite -Name Microsoft.Azure.Portal.Configuration.AppManagementConfiguration.RdfeUnifiedManagementServiceUri -Value $TenantApiLB -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace AdminSite -Name Microsoft.Azure.Portal.Configuration.OnPremPortalConfiguration.RdfeAdminUri -Value $AdminApiLB -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace AdminSite -Name Microsoft.Azure.Portal.Configuration.OnPremPortalConfiguration.RdfeProvisioningUri -Value $AdminApiLB -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace TenantSite -Name Microsoft.Azure.Portal.Configuration.AppManagementConfiguration.RdfeUnifiedManagementServiceUri -Value $TenantApiLB -Server $Database -Force
Set-MgmtSvcDatabaseSetting -Namespace TenantSite -Name Microsoft.WindowsAzure.Server.Configuration.TenantPortalConfiguration.PublicRdfeProvisioningUri  -Value $TenantPublicApiLB -Server $Database –Force

Anpassung Trust Settings:

Zu guter Letzt steht die Anpassung der Trust Settings auf dem Plan, so dass man sich auch wieder gegen das WAP Admin und Tenant Portal authentifizieren kann.

-> http://technet.microsoft.com/en-us/library/dn632410.aspx

$TenantMetaDataEndpoint=’https://’+$FQDN+’:30071/federationMetaData/2007-06/FederationMetadata.xml’
$AdminMetaDataEndpoint=’https://’+$FQDN+’:30072/federationMetaData/2007-06/FederationMetadata.xml’
$MemberShipMetaDataEndPoint=’https://’+$FQDN+’/federationMetaData/2007-06/FederationMetadata.xml’
$WindowsMetaDataEndPoint=’https://’+$FQDN+’:30091/federationMetaData/2007-06/FederationMetadata.xml’
Set-MgmtSvcRelyingPartySettings -Target Tenant –MetadataEndpoint $TenantMetadataEndpoint -DisableCertificateValidation -Server $Database
Set-MgmtSvcRelyingPartySettings -Target Admin –MetadataEndpoint $AdminMetaDataEndpoint -DisableCertificateValidation -Server $Database
Set-MgmtSvcIdentityProviderSettings -Target MemberShip –MetadataEndpoint  $MemberShipMetaDataEndPoint -DisableCertificateValidation -Server $Database
Set-MgmtSvcIdentityProviderSettings -Target Windows –MetadataEndpoint  $WindowsMetaDataEndPoint -DisableCertificateValidation -Server $Database

Aktivierung ADFS SSO:

Verwendet man ADFS in Kombination mit dem Windows Azure Pack, so hat hier ebenfalls die Anpassung der Endpoints zu erfolgen. Dies kann wahlweise für beide Portale Admin und Tenant erfolgen oder nur für das Tenant Portal.

$ADFSFQDN=’adfsnlb.domain.local’
$ADFSAdminMetaDataEndpoint=’https://’+$ADFSFQDN+’/federationMetaData/2007-06/FederationMetadata.xml’
Set-MgmtSvcRelyingPartySettings -Target Admin –MetadataEndpoint $ADFSAdminMetaDataEndpoint -DisableCertificateValidation -Server $Database
$ADFSAdminMetaDataEndpoint=’https://’+$ADFSFQDN+’/federationMetaData/2007-06/FederationMetadata.xml’
Set-MgmtSvcRelyingPartySettings -Target Tenant –MetadataEndpoint $ADFSAdminMetaDataEndpoint -DisableCertificateValidation -Server $Database

Links:

-> http://technet.microsoft.com/en-us/library/dn632412.aspx
-> http://technet.microsoft.com/en-us/library/dn632410.aspx
-> http://technet.microsoft.com/en-us/library/dn632411.aspx
-> http://technet.microsoft.com/en-us/library/dn528551.aspx

WordPress Cookie Notice by Real Cookie Banner