2012-12-21 3 views
13

저는 Azure (strike 1)를 처음 사용하고 네트워킹 (strike 2)을 완전히 망 쳤습니다.Azure VMs 가상 네트워크 상호 통신

그럼에도 불구하고 동일한 가상 네트워크에서 두 개의 VM을 가동하고 있습니다. 하나는 웹 서버로 작동하고 다른 하나는 SQL 데이터베이스 서버로 작동합니다.

내부 IP 주소가 모두 동일한 네트워크에있는 것을 볼 수 있지만 컴퓨터가 서로 통신 할 수 있는지 확인할 수 없으며이를 해결할 적절한 장소와 관련하여 혼란 스럽습니다.

마이크로 소프트의 문서는 윈도우 Azure에서 만든

모든 가상 머신이 자동으로 다른 같은 클라우드 서비스에 가상 머신 또는 가상 네트워크와 개인 네트워크 채널을 사용 통신 할 수 있습니다 말한다. 그러나 인터넷이나 다른 가상 네트워크에서 다른 리소스 인 과 통신하려면 끝점을 컴퓨터에 추가해야합니다. 은 특정 포트와 프로토콜을 엔드 포인트에 연결할 수 있습니다. 리소스 은 TCP 또는 UDP 프로토콜을 사용하여 끝점에 연결할 수 있습니다. TCP 프로토콜에는 HTTP 및 HTTPS 통신이 포함됩니다.

왜 내부 IP를 통해 컴퓨터가 서로 핑 할 수 없습니까? Windows 방화벽이 방해 받고 있습니까? 간단한 웹 서버/데이터베이스 서버 설정에 대해 잘못된 접근 방식을 선택했는지 궁금해하기 시작합니다. 내 무지를 용서해주세요. 어떤 도움이라도 대단히 감사하겠습니다.

답변

13

두 기계가 동일한 가상 네트워크에있는 경우 Windows 방화벽을 끄면 서로 통신 할 수 있습니다. 다른 방법은 고급 설정이 포함 된 Windows 방화벽에서 들어오는 ICMP 트래픽을 모두 허용하는 것입니다.

그러나 트릭이 있습니다. 두 컴퓨터가 IP 주소로 서로를 볼 수 있지만 정의 된 가상 네트워크에는 이름 확인이 있습니다. 즉, 직접 IP 주소로만 핑 (ping) 할 수는 없다는 의미입니다. 따라서 VM1의 웹 사이트가 VM2의 SQL Server에 연결되도록하려면 컴퓨터 이름이 아닌 전체 IP 주소로 주소를 지정해야합니다.

가상 네트워크 내에서 이름 확인을 수행하는 유일한 방법은 온 - 프레미스를 유지 관리하고 구성하는 전용 DNS 서버를 사용하는 것입니다.

This article은 Windows Azure의 이름 확인 시나리오를 자세히 설명합니다. 당신이 당신의 VM을 넣어 경우 잠재적으로, 이름 확인을 달성 할 수

같은 가상 네트워크에있는 가상 머신 및 역할 인스턴스 사이에 이름 확인,하지만 서로 다른 클라우드 서비스 : 당신의 특별한 경우는 이것이다 동일한 클라우드 서비스입니다. 따라서 전용 가상 네트워크조차 필요하지 않습니다.

+0

나는 여기에 묻히고있는 것이 네트워크 식별 상태에 갇혀 있다는 것에 대한 느낌이 들었습니다 ... 이것은 명백한 이유없이 많이 발생하는 것처럼 보입니다 ... 그렇다면 VM은 다른 PC와의 모든 연결을 잃습니다 네트워크에서 방화벽 상태에 관계없이 –

+2

방금 ​​호스트 이름/IP 주소를 HOSTS 파일에 넣으면 자동으로 해결됩니다. – Robert4Real

+2

예, "훌륭합니다"그리고 예정된 유지 보수로 인해 VM이 다시 시작되고 IP 주소가 손실되면 어떻게됩니까? – astaykov

0

VM이 Azure의 가상 네트워크에있는 경우 두 가지를 확인해야합니다.

  1. 필수 포트가 사용됩니다.
  2. 서버에서 방화벽을 사용할 수 없습니다.

다른 VM에서 SQL Server DB가 설치된 VM 하나에 연결을 시도하고있었습니다. SQL이 설치된 VM에서 1433 포트를 활성화해야했습니다. 이를 위해 푸른 관리 포털의 VM에 MSSQL 끝점을 추가해야합니다. 그 후 나는 윈도우 방화벽을 비활성화했다. 그런 다음 다른 VM에서 VM에 연결할 수있었습니다.