Visual Studio kullanarak Azure Cloud Services'te (klasik) rol için Uzak Masaüstü Bağlantısını etkinleştirme

Önemli

Cloud Services (klasik), 1 Eylül 2024 itibarıyla tüm müşteriler için kullanım dışı bırakılmıştır. Mevcut tüm çalışan dağıtımlar Microsoft tarafından durdurulacak ve kapatılacak ve Veriler Ekim 2024'den itibaren kalıcı olarak kaybolacaktır. Yeni dağıtımlarda yeni Azure Resource Manager tabanlı dağıtım modeli Azure Cloud Services (genişletilmiş destek) kullanılmalıdır.

Uzak Masaüstü, Uzak Masaüstü Protokolü'nü (RDP) kullanarak Azure'da çalışan bir rolün masaüstüne erişmenizi sağlar. Uygulama çalışırken sorun gidermek ve tanılamak için Uzak Masaüstü bağlantısı kullanabilirsiniz.

Visual Studio'nın bulut hizmetleri için sağladığı yayımlama sihirbazı, sağladığınız kimlik bilgilerini kullanarak yayımlama işlemi sırasında Uzak Masaüstü'nü etkinleştirme seçeneği içerir. Visual Studio 2017 sürüm 15.4 ve önceki sürümleri kullanırken bu seçeneği kullanmak uygundur.

Visual Studio 2017 sürüm 15.5 ve üzeri ile, tek bir geliştirici olarak çalışmadığınız sürece yayımlama sihirbazı aracılığıyla Uzak Masaüstü'nü etkinleştirmekten kaçınmanızı öneririz. Birden çok geliştiricinin projeyi açtığı her durumda, bunun yerine Uzak Masaüstü'nü Azure portalı, PowerShell aracılığıyla veya sürekli dağıtım iş akışındaki bir yayın işlem hattından etkinleştirmeniz gerekir. Bu öneri, bu makalede açıklandığı gibi Visual Studio'nun bulut hizmeti sanal makinesinde (VM) Uzak Masaüstü ile iletişim kurma biçimindeki bir değişikliktir.

Uzak Masaüstü'nü Visual Studio 2017 sürüm 15.4 ve öncesi aracılığıyla yapılandırma

Visual Studio 2017 sürüm 15.4 ve önceki sürümleri kullanırken, yayımlama sihirbazındaki Uzak Masaüstü'nü tüm roller için etkinleştir seçeneğini kullanabilirsiniz. Sihirbazı Visual Studio 2017 sürüm 15.5 ve üzeri ile kullanmaya devam edebilirsiniz, ancak Uzak Masaüstü seçeneğini kullanmayın.

  1. Visual Studio'da, Çözüm Gezgini'da bulut hizmeti projenize sağ tıklayıp Yayımla'yı seçerek yayımlama sihirbazını başlatın.

  2. Gerekirse Azure aboneliğinizde oturum açın ve İleri'yi seçin.

  3. Ayarlar sayfasında, Uzak Masaüstü'nü tüm roller için etkinleştir'i ve ardından Uzak Masaüstü Yapılandırması iletişim kutusunu açmak için Ayarlar... bağlantısını seçin.

  4. İletişim kutusunun en altında Diğer Seçenekler'i seçin. Bu komut, uzak masaüstü aracılığıyla bağlanırken kimlik bilgileri bilgilerini şifreleyebilmeniz için bir sertifika oluşturduğunuz veya seçtiğiniz bir açılan liste görüntüler.

    Not

    Uzak masaüstü bağlantısı için ihtiyacınız olan sertifikalar, diğer Azure işlemleri için kullandığınız sertifikalardan farklıdır. Uzaktan erişim sertifikasının özel anahtarı olmalıdır.

  5. Listeden bir sertifika seçin veya Oluştur...> seçeneğini belirleyin<. Yeni bir sertifika oluşturuyorsanız, istendiğinde yeni sertifika için kolay bir ad sağlayın ve Tamam'ı seçin. Yeni sertifika, açılan liste kutusunda görünür.

  6. Bir kullanıcı adı ve parola girin. Mevcut bir hesabı kullanamazsınız. Yeni hesap için kullanıcı adı olarak "Yönetici" kullanmayın.

  7. Hesabın süresinin dolacağı tarihi seçin. Süresi dolan bir hesap, diğer Uzak Masaüstü bağlantılarını otomatik olarak engeller.

  8. Gerekli tüm bilgileri sağladıktan sonra Tamam'ı seçin. Visual Studio, seçilen sertifika kullanılarak şifrelenen parola da dahil olmak üzere Uzak Masaüstü ayarlarını projenize .cscfg ve .csdef dosyalarınıza ekler.

  9. İleri düğmesini kullanarak kalan tüm adımları tamamlayın ve ardından bulut hizmetinizi yayımlamaya hazır olduğunuzda Yayımla'yı seçin. Yayımlamaya hazır değilseniz İptal'i seçin ve değişiklikleri kaydetmeniz istendiğinde Evet'i yanıtlayın. Bulut hizmetinizi daha sonra bu ayarlarla yayımlayabilirsiniz.

Visual Studio 2017 sürüm 15.5 ve üzerini kullanırken Uzak Masaüstü'nü yapılandırma

Visual Studio 2017 sürüm 15.5 ve üzeri ile yayımlama sihirbazını bir bulut hizmeti projesiyle kullanmaya devam edebilirsiniz. Yalnızca tek bir geliştirici olarak çalışıyorsanız Uzak Masaüstü'nü tüm roller için etkinleştir seçeneğini de kullanabilirsiniz.

Bir ekibin parçası olarak çalışıyorsanız, bunun yerine Azure portalını veya PowerShell'i kullanarak Azure bulut hizmetinde uzak masaüstünü etkinleştirmeniz gerekir.

Bu öneri, Visual Studio 2017 sürüm 15.5 ve sonraki sürümlerin bulut hizmeti VM'siyle iletişim kurma biçimindeki bir değişiklik nedeniyledir. Yayımlama sihirbazı aracılığıyla Uzak Masaüstü'nü etkinleştirdiğinizde, Visual Studio'nun önceki sürümleri "RDP eklentisi" aracılığıyla VM ile iletişim kurar. Visual Studio 2017 sürüm 15.5 ve üzeri, daha güvenli ve daha esnek olan "RDP uzantısını" kullanarak iletişim kurar. Bu değişiklik, Uzak Masaüstü'nü etkinleştirmek için Azure portalı ve PowerShell yöntemlerinin RDP uzantısını da kullanması gerçeğiyle de uyumlu hale gelir.

Visual Studio RDP uzantısıyla iletişim kurarken Aktarım Katmanı Güvenliği (TLS) üzerinden düz metin parolası iletir. Ancak, projenin yapılandırma dosyaları yalnızca şifrelenmiş bir parola depolar ve şifresi yalnızca ilk olarak şifrelemek için kullanılan yerel sertifikayla düz metin olarak çözülebilir.

Bulut hizmeti projesini her seferinde aynı geliştirme bilgisayarından dağıtırsanız, bu yerel sertifika kullanılabilir. Bu durumda, yayımlama sihirbazında Uzak Masaüstü'nü tüm roller için etkinleştir seçeneğini kullanmaya devam edebilirsiniz.

Ancak, siz veya diğer geliştiriciler bulut hizmeti projesini farklı bilgisayarlardan dağıtmak istiyorsanız, bu diğer bilgisayarlar parolanın şifresini çözmek için gerekli sertifikaya sahip değildir. Sonuç olarak aşağıdaki hata iletisini görürsünüz:

Applying remote desktop protocol extension.
Certificate with thumbprint [thumbprint] doesn't exist.

Bulut hizmetini her dağıttığınızda parolayı değiştirebilirsiniz, ancak bu eylem Uzak Masaüstü'nü kullanması gereken herkes için uygun olmaz.

Projeyi bir ekiple paylaşıyorsanız, yayımlama sihirbazındaki seçeneği temizlemek ve bunun yerine Uzak Masaüstü'nü doğrudan Azure portalı üzerinden veya PowerShell kullanarak etkinleştirmek en iyisidir.

Visual Studio 2017 sürüm 15.5 ve üzeri ile bir derleme sunucusundan dağıtma

Visual Studio 2017 sürüm 15.5 veya üzerinin derleme aracısında yüklü olduğu bir derleme sunucusundan (örneğin, Azure DevOps Services ile) bir bulut hizmeti projesi dağıtabilirsiniz. Bu düzenlemeyle, dağıtım, şifreleme sertifikasının kullanılabildiği aynı bilgisayardan gerçekleşir.

Azure DevOps Services'dan RDP uzantısını kullanmak için derleme işlem hattınıza aşağıdaki ayrıntıları ekleyin:

  1. Dağıtımın RDP eklentisi yerine RDP uzantısıyla çalıştığından emin olmak için MSBuild bağımsız değişkenlerinize ekleyin /p:ForceRDPExtensionOverPlugin=true . Örneğin:

    msbuild AzureCloudService5.ccproj /t:Publish /p:TargetProfile=Cloud /p:DebugType=None
        /p:SkipInvalidConfigurations=true /p:ForceRDPExtensionOverPlugin=true
    
  2. Derleme adımlarınızdan sonra Azure Bulut Hizmeti Dağıtımı adımını ekleyin ve özelliklerini ayarlayın.

  3. Dağıtım adımından sonra bir Azure PowerShell adımı ekleyin, Görünen ad özelliğini "Azure Dağıtımı: RDP Uzantısını Etkinleştir" (veya başka bir uygun ad) olarak ayarlayın ve uygun Azure aboneliğinizi seçin.

  4. Betik Türü'nü "Satır içi" olarak ayarlayın ve aşağıdakini Satır içi Betik alanına yapıştırın. (Ayrıca, projenizde bu betikle bir .ps1 dosya oluşturabilir, Betik Türü'nü "Betik Dosyası Yolu" olarak ayarlayabilir ve Betik Yolu'nu dosyaya işaret etmek üzere ayarlayabilirsiniz.)

    Param(
        [Parameter(Mandatory=$True)]
        [string]$username,
    
        [Parameter(Mandatory=$True)]
        [string]$password,
    
        [Parameter(Mandatory=$True)]
        [string]$serviceName,
    
        [Datetime]$expiry = ($(Get-Date).AddYears(1))
    )
    
    Write-Host "Service Name: $serviceName"
    Write-Host "User Name: $username"
    Write-Host "Expiry: $expiry"
    
    $securepassword = ConvertTo-SecureString -String $password -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential $username,$securepassword
    
    # Try to remote existing RDP Extensions
    try
    {
        $existingRDPExtension = Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename
        if ($existingRDPExtension -ne $null)
        {
            Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
        }
    }
    catch
    {
    }
    
    Set-AzureServiceRemoteDesktopExtension -ServiceName $servicename -Credential $credential -Expiration $expiry -Verbose
    

Uzak Masaüstü kullanarak Azure Rolüne bağlanma

Bulut hizmetinizi Azure'da yayımladıktan ve Uzak Masaüstü'nü etkinleştirdikten sonra, Visual Studio Server Explorer'ı kullanarak bulut hizmeti VM'sinde oturum açabilirsiniz:

  1. Sunucu Gezgini'nde Azure düğümünü genişletin ve ardından bulut hizmetinin düğümünü ve rollerinden birini genişleterek örneklerin listesini görüntüleyin.

  2. Bir örnek düğümüne sağ tıklayın ve Uzak Masaüstü Kullanarak Bağlan'ı seçin.

  3. Daha önce oluşturduğunuz kullanıcı adını ve parolayı girin. Artık uzak oturumunuzda oturum açtınız.

Sonraki adımlar