Sdílet prostřednictvím


Vzdálené ladění aplikací v Azure Spring Apps

Poznámka:

Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.

Tento článek se vztahuje na:✅ Basic/Standard ✅ Enterprise

Tato funkce popisuje, jak povolit vzdálené ladění aplikací v Azure Spring Apps.

Požadavky

  • Azure CLI s rozšířením Azure Spring Apps Pomocí následujícího příkazu odeberte předchozí verze a nainstalujte nejnovější rozšíření. Pokud jste dříve nainstalovali rozšíření spring-cloud, odinstalujte ho, abyste se vyhnuli neshodám konfigurace a verzí.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Nasazená aplikace v Azure Spring Apps

Povolení nebo zakázání vzdáleného ladění

Z bezpečnostních důvodů Azure Spring Apps ve výchozím nastavení zakáže vzdálené ladění. Na základě zásad vaší společnosti můžete povolit vzdálené ladění aplikace sami nebo zobrazit správce, který vám ji povolí. Vzdálené ladění můžete povolit nebo zakázat pomocí Azure CLI, webu Azure Portal nebo rozšíření VS Code.

Pomocí následujících kroků povolte vzdálené ladění pro vaši aplikaci pomocí webu Azure Portal:

  1. Přejděte na stránku aplikace.

  2. V části Nastavení v levém navigačním podokně vyberte Vzdálené ladění.

  3. Na stránce Vzdálené ladění povolte vzdálené ladění a zadejte port ladění.

    Snímek obrazovky webu Azure Portal se stránkou Vzdálené ladění s vybranými možnostmi portu vzdáleného ladění a ladění

Přiřazení role Azure

Pokud chcete vzdáleně ladit instanci aplikace, musíte mít udělenou roli Azure Spring Apps Remote Debugging Role, která zahrnuje Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action oprávnění akce dat.

Roli Azure můžete přiřadit pomocí webu Azure Portal nebo Azure CLI.

Pomocí následujícího postupu přiřaďte roli Azure pomocí webu Azure Portal.

  1. Otevřete Azure Portal.

  2. Otevřete instanci služby Azure Spring Apps.

  3. V navigačním podokně vyberte Řízení přístupu (IAM).

  4. Na stránce Řízení přístupu (IAM) vyberte Přidat a pak vyberte Přidat přiřazení role.

    Snímek obrazovky se stránkou Řízení přístupu na webu Azure Portal (IAM) pro instanci Azure Spring Apps se zvýrazněnou možností Přidat přiřazení role

  5. Na stránce Přidat přiřazení role v seznamu Názvů vyhledejte a vyberte Roli vzdáleného ladění Azure Spring Apps a pak vyberte Další.

    Snímek obrazovky webu Azure Portal se stránkou Přidat přiřazení role se zvýrazněným názvem role vzdáleného ladění Azure Spring Apps

  6. Vyberte Členy a pak vyhledejte a vyberte své uživatelské jméno.

  7. Vyberte Zkontrolovat + přiřadit.

Vzdálené ladění instance aplikace

Instanci aplikace můžete vzdáleně ladit pomocí sady Azure Toolkit for IntelliJ nebo rozšíření Azure Spring Apps for VS Code.

Tato část popisuje, jak vzdáleně ladit instanci aplikace pomocí sady Azure Toolkit for IntelliJ.

Požadavky

Povolení nebo zakázání vzdáleného ladění

Pomocí následujících kroků povolte nebo zakažte vzdálené ladění:

  1. Přihlaste se ke svému účtu Azure v Azure Exploreru.

  2. Vyberte instanci aplikace a pak vyberte Povolit vzdálené ladění.

    Snímek obrazovky IntelliJ s možností nabídky Povolit vzdálené ladění

Připojení ladicího programu

K připojení ladicího programu použijte následující postup.

  1. Vyberte instanci aplikace a pak vyberte Připojit ladicí program. IntelliJ se připojí k instanci aplikace a spustí vzdálené ladění.

    Snímek obrazovky IntelliJ s možností nabídky Připojit ladicí program

  2. Sada Azure Toolkit for IntelliJ vytvoří konfiguraci vzdáleného ladění. Najdete ho v části Vzdálené ladění Jvm" Nakonfigurujte cestu třídy modulu ke zdrojovému kódu, který používáte pro vzdálené ladění.

    Snímek obrazovky IntelliJ se stránkou Konfigurace spuštění/ladění

Řešení problému

Tato část obsahuje informace o řešení potíží.

  • Pokud se vám nepodaří připojit ladicí program a zobrazí se chyba podobná java.net.SocketException, connection reset Failed to attach to remote debugger, ClosedConnectionExceptiontéto:

    • Zkontrolujte roli RBAC a ujistěte se, že máte oprávnění ke vzdálenému ladění instance aplikace.

    • Ujistěte se, že se připojujete k platné instanci. Aktualizujte nasazení, abyste získali nejnovější instance.

      Snímek obrazovky s průzkumníkem projektů IntelliJ, který zobrazuje možnost nabídky Aktualizovat pro uzel Instance aplikace

  • Pokud úspěšně připojíte ladicí program, ale nemůžete vzdáleně ladit instanci aplikace, proveďte následující akce:

    • Ujistěte se, že integrované vývojové prostředí obsahuje zdrojový kód, který chcete ladit.
    • Ujistěte se, že konfigurace ladění má správnou cestu třídy modulu.

Omezení

Vzdálené ladění se podporuje jenom pro aplikace v Javě.

Plánování Typ nasazení Podporováno
Plán Standard a Basic Sklenice Ano
Plán Standard a Basic Zdrojový kód (Java) Ano
Plán Standard a Basic Vlastní image No
Plán Enterprise Aplikace v Javě Ano
Plán Enterprise Zdrojový kód (Java) Ano
Plán Enterprise Vlastní image No

Tipy

  • Vzdálené ladění Java je nebezpečné, protože umožňuje vzdálené spuštění kódu. Azure Spring Apps pomáhá zabezpečit komunikaci mezi klientským prostředím IDE a vzdálenou aplikací. Po dokončení byste ale měli zakázat vzdálené ladění a odebrat roli RBAC.
  • V instanci aplikace byste měli škálovat na jednu, abyste zajistili, že provoz může do instance přejít.

Další kroky