Visual Studio에서 Azure Cloud Services의 역할 관리

참고 항목

이 문서는 새 고객에게 더 이상 사용되지 않으며 2024년 8월 31일에 사용 중지되는 Azure Cloud Services(클래식)에 적용됩니다. 이 기술로 빌드된 기존 서비스는 여전히 Azure Cloud Services(추가 지원)를 통해 지원됩니다. 새 개발의 경우 Azure 앱 Service, Azure Functions 또는 Azure Container Apps와 같은 특정 용도로 설계된 최신 서비스 유형을 사용하는 것이 좋습니다. 사용 가능한 서비스의 최신 목록은 Azure 제품 디렉터리를 참조 하세요.

Azure 클라우드 서비스를 만든 후 새 역할을 추가하거나 기존 역할에서 제거할 수 있습니다. 또한 기존 프로젝트를 가져오고 역할로 변환할 수 있습니다. 예를 들어, ASP.NET 웹 애플리케이션을 가져오고 웹 역할로 지정할 수 있습니다.

필수 조건

Azure 클라우드 서비스에 역할 추가

다음 단계에서는 Visual Studio에서 Azure 클라우드 서비스 프로젝트에 웹 또는 작업자 역할을 추가하는 과정을 안내합니다.

  1. Visual Studio에서 Azure 클라우드 서비스 프로젝트를 만들거나 엽니다.

  2. 솔루션 탐색기에서 프로젝트 노드를 확장합니다.

  3. 역할 노드를 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴를 표시합니다. 상황에 맞는 메뉴에서 추가를 선택한 다음 현재 솔루션에서 기존 웹 역할 또는 작업자 역할을 선택하거나 웹 또는 작업자 역할 프로젝트를 만들 수 있습니다. 또한 ASP.NET 웹 애플리케이션 프로젝트와 같은 적절한 프로젝트를 선택하고 역할 프로젝트에 연결할 수 있습니다.

    Azure 클라우드 서비스 프로젝트에 역할을 추가하는 메뉴 옵션

Azure 클라우드 서비스에서 역할 제거

다음 단계에서는 Visual Studio에서 Azure 클라우드 서비스 프로젝트에 웹 또는 작업자 역할을 제거하는 과정을 안내합니다.

  1. Visual Studio에서 Azure 클라우드 서비스 프로젝트를 만들거나 엽니다.

  2. 솔루션 탐색기에서 프로젝트 노드를 확장합니다.

  3. 역할 노드를 확장합니다.

  4. 제거할 노드를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 제거를 선택합니다.

    Azure 클라우드 서비스에 역할을 추가하는 메뉴 옵션

Azure 클라우드 서비스 프로젝트에 대한 역할 읽기

클라우드 서비스 프로젝트에서 역할을 제거하지만 나중에 프로젝트에 역할을 추가하려면 기본 엔드포인트 및 진단 정보 등의 역할 선언과 기본 특성이 추가됩니다. ServiceDefinition.csdef 파일 또는 ServiceConfiguration.cscfg 파일에 추가되는 리소스 또는 참조는 없습니다. 이 정보를 추가하려면 이러한 파일에 수동으로 다시 추가해야 합니다.

예를 들어, 웹 서비스 역할을 제거하고 이 솔루션에 다시 이 역할을 추가하도록 나중에 결정할 수 있습니다. 이 작업을 수행하는 경우 오류가 발생합니다. 이 오류를 방지하려면 다음 XML에 표시된 <LocalResources> 요소를 ServiceDefinition.csdef 파일에 다시 추가해야 합니다. <LocalStorage> 요소에 대한 이름 특성의 일부로 프로젝트에 다시 추가한 웹 서비스 역할의 이름을 사용합니다. 이 예제에서 웹 서비스 역할의 이름은 WCFServiceWebRole1입니다.

<WebRole name="WCFServiceWebRole1">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
    <LocalResources>
      <LocalStorage name="WCFServiceWebRole1.svclog" sizeInMB="1000" cleanOnRoleRecycle="false" />
    </LocalResources>
</WebRole>