2014-07-18 4 views
2

Azure VM에 가상 공용 IP를 할당하기 위해 여러 시간 동안 Azure Power Shell 명령을 여러 번 시도한 후에 다시 사각형으로 돌아 왔습니다. Azure에서 이러한 기본적인 기능을 수행 할 수 없다는 점은 놀랍습니다.Azure VM에서 공용 정적 IP를 사용하는 방법

먼저 정적 IP를 예약했습니다. 그런 다음 VM을 만드십시오. 그런 다음 set-azurestaticvnetip을 시도했습니다. 서브넷 이름이 null 일 수 없다는 불만을 제기합니다. 그래서 Azure 포털에 가상 네트워크를 만들고 서브넷을 만들었습니다. 그런 다음 set-azuresubnet -subnetnames subnet-1을 사용합니다. 이제는 가상 네트워크 이름이 null이 될 수 없다는 불만이 제기되었습니다. 문제는 시퀀스의 어떤 명령도 -vnetname을 매개 변수로 사용하지 않는다는 것입니다.

그런 다음이 매개 변수가 new-azurevm에서 전달 될 수 있음을 알았습니다. 그래서 나는 삭제했다. (좋은 해결 방법은 무엇인가 .VM에서 소프트웨어를 구성하는 데 시간을 들일 필요가 없어서 기쁩니다.) VM이이 명령을 사용하여 만들려고했습니다. (이미지 매개 변수가이 명령에 지정되지 않았습니다. 프롬프트에서 입력했습니다).

new-azurevmconfig -name myvm -instancesize Basic_A2| 
add-azureprovisioningconfig -adminusername "myvmadmin" -windows -password "myvmP123"| 
set-azuresubnet -subnetnames subnet-1 | 
set-azurestaticvnetip -ipaddress 23.101.39.28 | 
new-azurevm -servicename myvm -vnetname mynet –Location "East US" -waitforboot 

여기 뭐가 문제 오류 -

new-azurevm : BadRequest : The static address 23.101.39.28 doesn't belong to the address space defined by the role's subnets. 

예외? 나에게 보이는이 지침은 VM에 개인 IP를 할당하기위한 것입니다. Web Role을 통해 생성 된 VM에 정적 IP를 할당하는 것은 매우 쉽습니다 (단지 설정 파일에 공용 IP 이름을 넣는 것만 큼). 공용 IP를 VM에 어떻게 할당합니까? Microsoft 문서에서는 공용 IP를 VM 용으로 사용할 수 있다고 말하면서 모든 사람이 그 방법을 알 것이라고 생각 했습니까?

답변

3

지역 vnet을 만들어야한다고 생각합니다. 이것은 나를 위해 일한 :

1) 현재의 네트워크 구성

Get-AzureVNetConfig -ExportToFile "c:\temp\MyAzNets.netcfg" 

2)가 MyAzNets.netcfg 및 편집/(추가)를 VirtualNetworkSite을 열고 가져옵니다. 나는 여기에 열쇠가 위치 (Affinity Group)가 아니라 위치라고 생각한다. 예약 된 IP/VM은 동일해야합니다.

<VirtualNetworkSites> 
    <VirtualNetworkSite name="yourvnet" Location="West US"> 
    <AddressSpace> 
     <AddressPrefix>192.168.50.0/24</AddressPrefix> 
    </AddressSpace> 
    <Subnets> 
     <Subnet name="yoursubnet"> 
     <AddressPrefix>192.168.50.0/24</AddressPrefix> 
     </Subnet> 
    </Subnets> 
    </VirtualNetworkSite> 
</VirtualNetworkSites> 

3) 푸른로 다시 보내기 :

Set-AzureVNetConfig -ConfigurationPath "C:\temp\MyAzNets.netcfg" 

4) 추가/당신의 VNET와 같은 위치에 IP를 가져옵니다

당신이 뭔가를해야한다.

Get-AzureReservedIP/New-AzureReservedIP 

5) VM을 만듭니다.

VM을 만들거나 이동할 때 클라우드 서비스가 존재하지 않는지 확인하십시오. VM을 이동하려면 관리 포털의 캡처 버튼을 누르고 친숙한 이름을 지정한 다음 VM 및 클라우드 서비스를 모두 삭제하십시오.

New-AzureVMConfig -Name "my-vm01" -InstanceSize Basic_A2 -ImageName "someimage" -Label "my-vm" | Set-AzureSubnet "**yoursubnet**" | Add-AzureEndpoint -LocalPort 3389 -Name 'RDP' -Protocol tcp -PublicPort 61030 | Add-AzureEndpoint -LocalPort 80 -Name 'HTTP' -Protocol tcp -PublicPort 80 | Add-AzureEndpoint -LocalPort 443 -Name 'HTTPS' -Protocol tcp -PublicPort 443| New-AzureVM -ServiceName "my-vm" -ReservedIPName "**reservedipname**" -Location "West US" -VNetName "**yourvnet**" 

6) IP를 할당해야합니다. 당신이 얻을-AzureReservedIP을 실행하면 지금 같은 것을 표시해야합니다 : 지난 이틀 동안 다른 옵션 많은 실험 후

ReservedIPName  : reservedipname 
Address    : 127.0.0.1 
Id     : xxx 
Label    : 
Location    : West US 
State    : Created 
InUse    : True 
ServiceName   : my-vm 
DeploymentName  : my-vm 
+0

이미 예약 된 IP가 있습니다. 그것은 23.100부터 시작합니다 (vnet 위치 및 내 계정의 다른 모든 위치와 동일한 위치). 나는 이것을 netcfg에 추가했다. 이 오류가 발생했습니다. IP 주소 접두어가 로컬 사이트의 '23 .100.0.0/24 '또는 "mynet"이라는 이름의 가상 네트워크에서 유효하지 않습니다. config를 설정 한 후 IP를 예약하고있는 것으로 나타났습니다. 예약 된 IP가 192로 시작된다는 것을 어떻게 알 수 있습니까? –

+0

귀하의 vnet IP 주소는 비공개입니다. vnet 서브넷을 생성 할 때 범위는 10. * 또는 192.168. *를 사용해야합니다. 이 vnet에 할당 된 모든 서비스는이 블록에서 IP를받습니다. 예약 된 IP (23.100. *)를 서비스에 매핑하면 기본적으로 사설 IP로 전달됩니다. – Ryan

0

을, 마지막으로이 일 :

New-AzureVMConfig -Name "mysite" -InstanceSize Basic_A2 -Label "mysite" | Set-AzureSubnet "subnet-1" | add-azureprovisioningconfig -adminusername "myuser" -windows -password "mypwd"| Add-AzureEndpoint -LocalPort 80 -Name 'HTTP' -Protocol tcp -PublicPort 80 | Add-AzureEndpoint -LocalPort 443 -Name 'HTTPS' -Protocol tcp -PublicPort 443| New-AzureVM -ServiceName "mysite" -ReservedIPName "mysiteip" -Location "East US" -VNetName "mysite" 

알고하지 않는 이유하지만, 그게했다. 나는 행운이없이 이것을 시도했다.

1

VM을 만든 후 아무 문제없이 영구적으로 예약 된 IP를 VM (또는 클라우드 서비스 웹 역할)에 할당 할 수 있어야합니다. 나를 위해 일합니다. 다만 이것을하십시오;

새로운-AzureReservedIP -ReservedIPName MyReservedIP -location "이스트 US"

설정 AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName MyVMName

첫 번째 명령을 예약합니다 IP. 두 번째 명령은이를 VM에 할당합니다. 할당이 즉시 이루어지며 서버가 다시 부팅됩니다.

+0

또한 예약 된 IP의 이름을 확인하는 데 유용한 Get-AzureRerservedIP 명령을 발견했습니다. 나는 포털을 통해 그것을 만들었고 리소스 그룹 이름도 포함시켜야했습니다. 또한 연결을 설정하려면 VM이 실행 중이어야합니다. –

관련 문제