연습 - IntelliJ IDE에서 앱 배포 관리

완료됨

이전 단원에서는 Azure Toolkit for IntelliJ의 Azure 탐색기를 사용하여 Azure Web Apps를 관리하고 구성할 수 있다는 것을 배웠습니다. 이 연습에서는 IntelliJ IDEA에서 Azure 탐색기를 사용하여 Azure App Service의 웹앱에서 로그를 스트리밍하는 방법을 알아봅니다.

다음으로, Azure 탐색기를 사용하여 구성에 속성 쌍을 추가하여 웹앱을 수정합니다. 이러한 속성의 값을 읽고 웹앱 논리에서 사용하도록 웹앱을 수정합니다. 그런 다음, 웹앱을 다시 배포하고 예상대로 작동하는지 확인합니다.

로그 스트리밍을 사용하여 앱 모니터링

  1. IntelliJ IDEA보기 메뉴에서 도구 창을 선택한 다음 Azure 탐색기를 선택합니다.

  2. Azure Explorer 창에서 Web Apps을 확장하고 Web Apps를 마우스 오른쪽 단추로 클릭한 다음 로그 스트리밍 시작을 선택합니다.

    Azure 탐색기 창의 웹앱에 대한 상황에 맞는 메뉴 스크린샷

  3. 몇 초 후에 로그가 표시되는 것을 볼 수 있습니다. 웹앱에 액세스하여 로그를 생성할 수 있습니다.

    HTTP 403 메시지를 표시하는 웹 브라우저 스크린샷.

  4. 로그 스트리밍을 중지하려면 웹앱을 마우스 오른쪽 단추로 클릭하고 로그 스트리밍 중지를 선택합니다.

웹앱에 구성 속성 추가

  1. Azure Explorer 창에서 웹앱을 마우스 오른쪽 단추로 클릭한 다음 속성 표시를 선택합니다. 웹앱에 대한 속성 창이 표시됩니다.

    웹앱에 대한 속성 창 스크린샷

  2. 속성 창에서 추가 아이콘을 선택하여 새 속성 키와 값을 추가합니다.

  3. 새 속성의 이름 열에 Delay라는 이름을 입력합니다.

  4. 속성의 열에 값 2를 입력한 다음 Enter 키를 누릅니다.

  5. 속성 창에서 추가 아이콘을 다시 선택합니다.

  6. Iterations라는 다른 속성을 추가하고 값 10을 지정합니다.

    새 속성 및 값을 표시하는 웹앱에 대한 속성 창 스크린샷.

  7. 저장을 선택합니다.

속성을 사용하도록 웹앱 수정

  1. 프로젝트 탐색기 창에서 index.jsp를 두 번 클릭하여 다시 엽니다.

  2. 웹 페이지 코드의 <body> 섹션에서 다음과 같이 코드를 업데이트합니다.

    <body>
        <%! int delayms = Integer.valueOf(System.getenv("Delay")) * 1000;
            int iterations = Integer.valueOf(System.getenv("Iterations"));
            DateFormat fmt = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); %>
        <%  for (int i = 0; i < iterations; i++) {
            Thread.sleep(delayms); %>
            <p>Today's date is <%= fmt.format(new Date()) %></p>
        <% } %>
        <p>Your IP address is <%= request.getRemoteAddr() %></p>
    </body>
    

    이 코드는 두 속성의 값을 읽습니다. 두 속성은 웹앱 런타임의 환경 변수로 노출됩니다. 이 코드는 Delay에 초 간격으로 날짜 및 시간을 표시하고 Iterations 횟수만큼 반복합니다.

    참고

    이 예제에서 코드는 출력을 생성할 때 동기적으로 실행됩니다. 이는 페이지가 나타나는 데 최대 20초가 걸릴 수 있음을 의미합니다.

  3. 파일 메뉴에서 모두 저장을 선택합니다.

  4. 프로젝트 탐색기 창에서 Web Apps를 마우스 오른쪽 단추로 클릭하고 Azure를 선택한 다음 Azure Web Apps에 배포를 선택합니다.

  5. 웹앱 배포 창에서 기본 설정을 수락한 다음 실행을 선택합니다. 이 작업은 기존 웹앱을 새 버전으로 덮어씁니다.

  6. Azure 활동 로그 창에서 진행률 열에 웹앱이 성공적으로 배포되었다고 표시될 때까지 기다립니다.

  7. Azure 활동 로그 창에서 게시됨 링크를 선택합니다. 새 브라우저 창이 열립니다. 20초 후 2초 간격으로 시간을 표시한 후 클라이언트 컴퓨터의 IP 주소를 표시하는 메시지가 나타납니다.

    새 버전의 웹앱을 실행하는 웹 브라우저 스크린샷.

    참고 항목

    웹 사이트가 게시되는 동안 웹 사이트를 탐색하려고 하면 HTTP 403 오류가 표시됩니다. 이러한 경우 몇 초 정도 기다렸다가 웹 브라우저를 새로 고칩니다.

  8. 브라우저 창을 열어 두고 IntelliJ IDEA로 돌아갑니다.

  9. Azure Explorer 창에서 웹앱을 마우스 오른쪽 단추로 클릭한 다음 속성 표시를 선택합니다.

  10. 속성 창에서 Delay 속성을 선택하고 필드를 두 번 클릭하여 편집합니다. 값을 1로 변경합니다.

  11. Iterations 속성을 선택하고 값을 5로 변경합니다.

  12. 저장을 선택합니다.

  13. 웹 브라우저로 다시 전환하여 화면을 새로 고칩니다. 이번에는 페이지에서 1초 간격으로 시간을 표시하고 5번 반복합니다. 웹앱을 다시 배포할 필요는 없습니다.

    수정된 버전의 웹앱을 실행하는 웹 브라우저 스크린샷.

중요

Azure Toolkit for IntelliJ를 사용하여 웹앱을 삭제해도 App Service 계획이 삭제되지 않지만 Azure Portal을 사용하여 계획을 제거할 수 있습니다. 이렇게 하려면 다음 이미지에 표시된 대로 적절한 리소스 그룹으로 이동하여 App Service 요금제를 선택한 후 삭제를 클릭합니다.

Azure Portal의 스크린샷. 사용자가 App Service 요금제를 삭제하고 있습니다.