2015-01-12 4 views
-1

Azure 웹 역할 인스턴스에서 스크립트를 실행할 방법이 있습니까? 나는 Azure와 Azure Management API에 대해 새로운 시각을 가지고 있습니다.Azure 웹 역할 인스턴스에서 스크립트 실행

기본적으로 달성하고자하는 것은 환경 유형에 따라 모든 Azure 웹 역할 인스턴스에서 몇 가지 서비스를 켜기/끄기로 전환하고 싶습니다. 예를 들어 5 개의 인스턴스가있는 단일 웹 역할이있는 경우 스크립트는 5 개의 인스턴스 모두에서 실행되어야합니다.

  1. 각 역할에 대한 준비 및 생산 환경
  2. 에 대한 모든 웹 역할
  3. 스크립트 실행 (원격) 모든 인스턴스
의 모든 인스턴스를 가져 오기 준비/프로덕션 환경을 결정

여기에 도움을 주시면 감사하겠습니다.

EDIT : 각 환경에 대한 준비/프로덕션 환경 세부 정보와 웹 역할 세부 정보를 가져올 수 있습니다. ?

https://management.core.windows.net//서비스/hostedservices/포함 - 세부 =

사실 위의 URL은 자신의 IP 주소와 역할 인스턴스의 목록을 반환 : 나는 서비스 관리 나머지 API 및 가져 오기 클라우드 서비스 등록 방법을 사용하고 있습니다.

하지만 클라우드 서비스 (웹 API)를 사용하려고 할 때 404 오류가 발생합니다. IP를 사용하여 IIS에서 호스팅되는 웹 API 프로젝트를 실행할 수 있는지 여부는 확실하지 않습니다. 사전에

감사합니다, JASH

+0

, 나는 당신이 필요로하는 명령은 생각 'Get-Deployment' : 인스턴스에 대한 입력 끝점 목록을 반환합니다. http://msdn.microsoft.com/en-us/library/azure/ee460804.aspx –

+0

@ l19 : GetDeployment는 각 인스턴스에 대한 인스턴스 끝점 정보를 제공합니다. 입력 끝점 세부 정보는 VIP와 연결됩니다. TCP 내가 URL (ASP.NET 웹 API)의 인스턴스 엔드 포인트를 사용하려고 할 때 또한, 504 오류를주고있다. – Jash

+0

어떤 종류의 스크립트를 실행 하시겠습니까? 당신은 그들 각각에 TCP 끝점을 통해 연결할 수 있지만 거기에 연결을 처리하는 코드를 작성해야합니다 ... –

답변

0

아니 정확히 당신이 달성하려고하는 것을 확인하십시오. 그러나 웹/작업자 역할이있는 클라우드 서비스가있는 경우 은 인터넷에서 개별 인스턴스에 직접 액세스 할 수 없습니다. 배포 앞에 앉아 인터넷 요청을 인스턴스로 라우팅하는 Azure로드 밸런서가 있습니다. This would be useful for you to read.

그러나 할 수있는 일은 사용자가 작업자 역할과 똑같이 RoleEntryPoint 클래스를 구현하는 것입니다. 그런 다음 일정한 간격으로 트리거가 있는지 확인할 수 있습니다 (예 : 컨테이너의 Blob, 테이블 저장소의 레코드 등). 이런 일이 발생하면 수행 할 작업 결정 : Localhost에서 특수 URL을 가져오고 Process.Start()로 스크립트를 직접 실행하십시오. . 당신의 선택, 당신은 완전히 제어 할 수 있습니다. RoleEntryPoint를 상속받은 웹 프로젝트에 새 클래스를 추가하기 만하면됩니다.

당신은 WebRole 프로젝트에 RoleEntryPoint의 사용에 조금 자세한 내용은이 자료를 참조 할 수 있습니다 PowerShell을 사용하여

+0

답장을 보내 주셔서 감사합니다. 웹 역할 인스턴스에 대한 입력 엔드 포인트 작성에 대한 문서가 있습니까? 또한 웹 애플리케이션이라면 입력 엔드 포인트로 웹 애플리케이션에 액세스 할 수 있습니까? – Jash

+0

괜찮아요 이미 우리의 csdef 파일에 선언 된 2 개의 입력 끝점을 볼 수 있습니다. 엔드 포인트의 이름은 포트 80 및 443의 HTTP 및 HTTPS입니다. 이제 GetDeployment() 덕분에 각 인스턴스에 대해 DIP (IP)를 가져올 수 있습니다. 인스턴스에 액세스하기 위해 URL을 어떻게 구성해야합니까? – Jash

+0

예. http : // IP/xyz/.... 여기서 IP - 인스턴스의 IP 주소입니다. 지금 이것은 나를 위해 작동하지 않습니다, 그리고 모든 요청은 504 HTTP 오류 – Jash