728x90
반응형
728x170
##################################################
# 리소스 그룹을 만든다.
##################################################
New-AzResourceGroup -ResourceGroupName TestResourceGroup -Location EastUS
##################################################
# 공용 IP 주소를 만든다.
##################################################
$publicIPAddress = New-AzPublicIpAddress `
-ResourceGroupName TestResourceGroup `
-Location EastUS `
-AllocationMethod Static `
-Name TestPublicIPAddress
##################################################
# 프런트 엔드 IP 구성을 만든다.
##################################################
$testFrontendIPConfig = New-AzLoadBalancerFrontendIpConfig -Name TestFrontendIPConfig -PublicIpAddress $publicIPAddress
##################################################
# 백 엔드 주소 풀 구성을 만든다.
##################################################
$testBackendAddressPoolConfig = New-AzLoadBalancerBackendAddressPoolConfig -Name TestBackendAddressPoolConfig
##################################################
# 부하 분산 장치를 만든다.
##################################################
$loadBalancer = New-AzLoadBalancer `
-ResourceGroupName TestResourceGroup `
-Name TestLoadBalancer `
-Location EastUS `
-FrontendIpConfiguration $testFrontendIPConfig `
-BackendAddressPool $testBackendAddressPoolConfig
##################################################
# 상태 프로브를 만든다.
##################################################
Add-AzLoadBalancerProbeConfig `
-Name TestHealthProbe `
-LoadBalancer $loadBalancer `
-Protocol tcp `
-Port 80 `
-IntervalInSeconds 15 `
-ProbeCount 2
Set-AzLoadBalancer -LoadBalancer $loadBalancer
##################################################
# 부하 분산 장치 규칙을 만든다.
##################################################
$probeConfig = Get-AzLoadBalancerProbeConfig -LoadBalancer $loadBalancer -Name TestHealthProbe
Add-AzLoadBalancerRuleConfig `
-Name TestLoadBalancerRule `
-LoadBalancer $loadBalancer `
-FrontendIpConfiguration $loadBalancer.FrontendIpConfigurations[0] `
-BackendAddressPool $loadBalancer.BackendAddressPools[0] `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-Probe $probeConfig
Set-AzLoadBalancer -LoadBalancer $loadBalancer
##################################################
# 서브넷 구성을 생성한다.
##################################################
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name TestSubnet -AddressPrefix 192.168.1.0/24
##################################################
# 가상 네트워크를 생성한다.
##################################################
$vnet = New-AzVirtualNetwork `
-ResourceGroupName TestResourceGroup `
-Location EastUS `
-Name TestVNet `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
##################################################
# 네트워크 인터페이스를 생성한다.
##################################################
for($i = 1; $i -le 3; $i++)
{
New-AzNetworkInterface `
-ResourceGroupName TestResourceGroup `
-Name TestVM$i `
-Location EastUS `
-Subnet $vnet.Subnets[0] `
-LoadBalancerBackendAddressPool $loadBalancer.BackendAddressPools[0]
}
##################################################
# 가용성 집합을 만든다.
##################################################
$availabilitySet = New-AzAvailabilitySet `
-ResourceGroupName TestResourceGroup `
-Name TestAvailabilitySet `
-Location EastUS `
-Sku aligned `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2
##################################################
# 가상 머신의 관리자 계정명과 암호를 설정한다.
##################################################
$credential = Get-Credential
##################################################
# 가상 머신을 만든다.
##################################################
for($i = 1; $i -le 3; $i++)
{
New-AzVm `
-ResourceGroupName TestResourceGroup `
-Name TestVM$i `
-Location EastUS `
-VirtualNetworkName TestVNet `
-SubnetName TestSubnet `
-SecurityGroupName TestNetworkSecurityGroup `
-OpenPorts 80 `
-AvailabilitySetName TestAvailabilitySet `
-Credential $credential `
-AsJob
}
##################################################
# 가상 머신에 IIS를 설치한다.
##################################################
for($i = 1; $i -le 3; $i++)
{
Set-AzVMExtension `
-ResourceGroupName TestResourceGroup `
-ExtensionName IIS `
-VMName TestVM$i `
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.8 `
-SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
-Location EastUS
}
##################################################
# 공인 IP 주소를 구한다.
##################################################
Get-AzPublicIPAddress -ResourceGroupName TestResourceGroup -Name TestPublicIPAddress | select IpAddress
728x90
반응형
그리드형(광고전용)
'Azure > PowerShell' 카테고리의 다른 글
[AZURE/POWERSHELL] New-AzPublicIpAddress 명령을 사용해 공인 IP 주소 만들기 (0) | 2019.04.21 |
---|---|
[AZURE/POWERSHELL] Get-AzLoadBalancer 명령을 사용해 부하 분산 장치 구하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] Get-AzNetworkInterface 명령을 사용해 네트워크 인터페이스 구하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] 부하 분산 장치에 가상 머신 추가하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] 부하 분산 장치에서 가상 머신 제거하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] 가상 머신 확장 집합에 자동 크기 조정 규칙 설정하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] Update-AzVmss 명령을 사용해 가상 머신 인스턴스 수 변경하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] Get-AzVmss 명령을 사용해 가상 머신 확장 집합의 가상 머신 인스턴스 수 구하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] Get-AzVmssVM 명령 : InstanceId 옵션을 사용해 가상 머신 인스턴스 구하기 (0) | 2019.04.21 |
[AZURE/POWERSHELL] Get-AzVmssVM 명령을 사용해 가상 머신 인스턴스 리스트 구하기 (0) | 2019.04.21 |
댓글을 달아 주세요