2015-01-30 6 views
0

Azure에서 VHD 이미지를 만들 수 있지만 템플릿 환경을 만들려는 것입니다. 이 환경에는 2 개의 Webservers, 3 개의 Business Logic 상자, 몇 개의 CentOS 시스템 및 DB 상자가있을 수 있습니다.Azure - Templated Environment

나는 그것이 야심적인 일이지만, 가능하다면 누구나 알 수 있습니다. 최종 목표는 새 상자를 함께 네트워킹하는 일에 몰두하지 않고도 동일한 환경을 템플릿에서 스핀 업할 수 있습니다.

+0

Azure 리소스 그룹을 살펴 보셨습니까? http://azure.microsoft.com/en-in/documentation/articles/azure-preview-portal-using-resource-groups/? 나는 이것이 도움이되어야한다고 생각합니다. –

+0

[Azure Resource Manager 템플릿] (https://msdn.microsoft.com/en-us/library/azure/dn835138.aspx) 정확히 설명하는대로 수행하십시오. 불행히도 VM은 아직 지원되지 않습니다. – BenV

답변

0

그래, 너는 완전히 할 수있어. 나는 지난 1 주 정도 그렇게 해왔다.

Visual Studio (함께 Azure SDK를 설치)를 사용하면 리소스를 관리하기위한 Azure Resource Group 프로젝트를 만들 수 있습니다. 내가 확인하고 싶었 기 때문에

create

일부 훌륭한 가이드가 JSON 템플릿 작동 방식을 비주얼 스튜디오에 대한 온라인있다, 나는 엘리엇 맨스필드하여이 video 소스 코드와 함께 시작되었다 on GitHub I는 모듈에서 시작 내 자신의 자원과 클라이언트가 요구할 수있는 접근 방식.

나는 절반 방법 내 프로젝트를 짓고 있어요 :

project

을하지만 난 이미 key-vaults, storage accounts, virtual networks, vnet gateways, virtual machines 등 모든 조직, 매개 변수 내 자원 그룹 내에서 유지, 모두 배포 할 수 있습니다 몇 번의 클릭 :

deploy

사람에 착수하려는 경우 자원은 기억

  • 확인 템플릿 내가 엘리엇의 접근 방식을 촬영하고 자원 유형에 모든 것을 앞에 한, 적절하게 자원을 명명하는 것은 필수입니다, 모듈 형드립니다 : 여기에 같은 프로젝트는 당신에게 시간을 절약 할 수있는 몇 가지 팁 템플릿을 재배포 할 때 삭제되지 않는다면 대부분의 경우 템플릿을 수정하고 다시 실행하여 인프라를 최신 상태로 유지할 수 있습니다 (모든 시나리오를 테스트하지는 않았지만 그렇게 생각합니다!)
  • 가능한 경우 linked templates을 사용합니다. 온라인 위치에 게시해야합니다. 템플릿을 공개적으로 저장하지 않으려면 Azure의 스토리지 계정을 사용하십시오.
  • 템플릿에 _artifactsLocation_artifactsLocationSasToken 매개 변수를 사용하는 경우 Visual Studio를 통해 배포 할 때 Deploy-AzureResourceGroup.ps1 프로젝트의 파일 속성 (F4의 내용으로 설정 모든 템플릿과 파일을 업로드 할 경우 파일을 선택하면, 그것은 Artifact storage account를 요청합니다 솔루션 탐색기에서) 매개 변수 값을 바꿉니다. 하지만 생성 된 값으로 대체하려고 할 때 배포 스크립트가 실패하므로 매개 변수 파일에 이러한 매개 변수 값을 수동으로 포함하지 마십시오.
  • 다른 템플리트에 링크 된 연결된 템플리트를 테스트하지 않았으므로 생성 된 artifacts 저장 키를 링크 된 템플리트에 전달해야 할 필요가 없으므로 필자는이를 피했습니다.
  • 다음은 변수에 템플릿 링크를 작성하는 예제입니다. 배포 스크립트를 사용하여 저장소 계정 위치와 컨테이너에 액세스하기위한 SasToken 매개 변수를 생성 한 템플릿 중 하나의 예제입니다. click here을 통해 SasToken에 대해 자세히 알아보십시오.스크립트는 custom script extension와 대상 VM에서 실행하려면 위의

    { 
        "variables": { 
         "templates": { 
          "vm": { 
          "folder": "nestedtemplates", 
          "fileName": "vm.json" 
          }, 
          "deploy": { 
          "folder": "rg-lab-superadmin", 
          "fileName": "deploy.sh" 
          } 
         }, 
         "templateLinks": { 
          "vm": "[concat(parameters('_artifactsLocation'), '/', variables('templates').vm.folder, '/', variables('templates').vm.fileName, parameters('_artifactsLocationSasToken'))]", 
          "deploy": "[concat(parameters('_artifactsLocation'), '/', variables('templates').deploy.folder, '/', variables('templates').deploy.fileName, parameters('_artifactsLocationSasToken'))]" 
         } 
        } 
    } 
    
  • 당신은 유물 위치의 동일한 주체를 사용할 수 있습니다.
  • VM을 포함한 전체 리소스 그룹을 다시 배포해야 할 수도 있으므로 스크립트를 고려해야 할 스크립트가 있으므로 VM의 사용자 지정 스크립트를 동일한 VM에 다시 배포 할 수 있어야합니다.
  • VNet 리소스는 같은 위치에 있어야하지만 동일한 리소스 그룹 일 필요는 없습니다. 예를 들어 vnet 리소스가 필요할 때마다 템플릿 내에서이를 계획 할 수 있습니다. 리소스 그룹을 요청할 수도 있습니다. 귀하의 서식 파일에 적절한 resourceId(). 일반적인 시나리오는 VM을 만들 때 템플리트가 NIC를 생성했기 때문에 다른 리소스 그룹에있을 수있는 vnet을 제대로 참조해야합니다.