2014-06-24 5 views
1

저는 인스턴스에 타사 소프트웨어를 설치하는 긴 시작 작업이 포함 된 Azure webrole 프로젝트가 있습니다. 때때로 인스턴스가 응답하지 않는 것을 보았습니다. 따라서로드 밸런서가이 사실을 기록하고 잘못된 인스턴스로 트래픽을 보내지 않도록 프로브를 구현하고 있습니다. 이것은 물론 충분하지 않습니다. 제가 원했던 것은 Azure (Fabric?)가 인스턴스를 재부팅하는 것입니다. 그리고 도움이되지 않으면 (즉, 인스턴스가 프로브에 적절하게 응답하도록 만드십시오) - 이미지 재 작성 예. 그 동작입니까, 그렇다면 문서화 된 부분은 어디입니까? 나는 꽤 오랫동안 수색했지만 유용한 것을 찾지 못했습니다.Azure가 재부팅/재 이미징/(두 가지 모두) 응답하지 않는 경우 내 인스턴스가됩니까?

감사합니다.

+0

나는 이것이 당신의 질문에 대답하지 않지만 당신은 웹 역할 대신 VM을 사용하는 것에 대해 생각해 봤는가? – CSharpRocks

답변

0

http://blogs.msdn.com/b/kwill/archive/2013/02/28/heartbeats-recovery-and-the-load-balancer.aspx은 역할 인스턴스의 상태, Azure가 복구 작업을 수행하는 방법 및로드 밸런서 프로브를 사용하는 방법을 설명합니다.

인스턴스가 응답하지 않는다고 말하면 포털에서 인스턴스가 사용 중이거나 준비되지 않은 것으로 표시되거나 IIS가 요청에 응답하지 않는다는 의미입니까? 이전 (Busy를 보여주는 인스턴스)의 경우 Azure가 자동으로 해당 인스턴스를 회전에서 제거하므로로드 밸런서 프로브가 필요하지 않습니다. 후자 (IIS가 응답하지 않는 경우) 웹 코드에 StatusCheck 이벤트를 구현하여 잠재적으로 w3wp 자체에 문제가있는 경우 인스턴스가 패브릭에 의해 회전되지 않게되지만 w3wp 자체가 건강한 경우 응답하지 않는 요청 일 뿐이므로로드 밸런서 프로브가 필요합니다.

좋은 모니터링 및 복구 솔루션을 갖추는 것이 매우 중요하지만 인스턴스를 재부팅하는 대신 w3wp 문제를 완화하는 대신 인스턴스가 응답하지 않는 이유의 근본 원인을 조사해야합니다. Band-Aid를 적용하는 대신 문제의 원인을 수정하십시오 :). http://blogs.msdn.com/b/kwill/archive/2013/02/28/heartbeats-recovery-and-the-load-balancer.aspx의 블로그 게시물, 특히 문제 해결 시나리오 5는 조사를 시작하기에 좋은 장소 일 수 있습니다.

+0

감사! 인스턴스는 Azure 포털에 "준비 됨"으로 표시됩니다. RDP를 사용하여 로컬에서 로컬로 탐색 할 때 HTTP 400을 반환하고 서비스의 URL을 외부에서 탐색 할 때 "죄송합니다! Google 크롬을 연결할 수 없습니다"라는 메시지가 나타납니다. 따라서 프로브의 실패로 인해 인스턴스가 잘못된 것으로 간주되지 않는 것으로 보입니다. – user2120679

+0

당신은 내가 서버가 클라이언트가 아니라 비난하는 것이라고 말하는 500 오류를 반환해야한다고 생각합니까? – user2120679