이 빠른 시작에서는 Python 웹앱(Django 또는 Flask)을 Azure App Service에 배포합니다. Azure App Service는 Linux 서버 환경에서 호스팅되는 Python 3.7 이상 앱을 지원하는 완전 관리형 웹 호스팅 서비스입니다.
이 빠른 시작을 완료하려면 다음이 필요합니다.
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- Python 3.9 이상이 로컬에 설치되어 있습니다.
1 - 샘플 애플리케이션
이 빠른 시작은 Flask 또는 Django를 사용하여 완료할 수 있습니다. 이 빠른 시작을 따라가는 데 도움이 되는 각 프레임워크의 샘플 애플리케이션이 제공됩니다. 샘플 애플리케이션을 다운로드하거나 로컬 워크스테이션에 복제합니다.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
애플리케이션을 로컬로 실행하려면 다음을 수행합니다.
- 애플리케이션 폴더로 이동합니다.
cd msdocs-python-flask-webapp-quickstart
- Console복사
- 앱에 대한 가상 환경을 만듭니다.
-
Cmd복사
py -m venv .venv .venv\scripts\activate
- 종속성을 설치합니다.
pip install -r requirements.txt
- Console복사
- 앱을 실행합니다.
flask run
- Console복사
- 웹 브라우저에서 http://localhost:5000 샘플 애플리케이션으로 찾습니다.
문제가 있나요? 알려주세요.
2 - Azure에서 웹앱 만들기
Azure에서 애플리케이션을 호스트하려면 Azure에서 Azure App Service 웹앱을 만들어야 합니다. Azure Portal, VS Code AzureTools 확장 팩 또는 AzureCLI를 사용하여 웹앱을 만들 수 있습니다.
Azure Portal에 로그인하고 다음 단계에 따라 Azure App Service 리소스를 만듭니다.
Azure Portal에서 다음을 수행합니다.
|
|
App Services 페이지에서 + 만들기를 선택합니다. | |
웹앱 만들기 페이지에서 다음과 같이 양식을 작성합니다.
|
|
App Service 계획은 앱에서 사용할 수 있는 리소스 수(CPU/메모리)와 해당 리소스의 비용을 제어합니다. 이 예제에서는 화면 맨 위에서 개발/테스트를 선택한 다음 , B1 (기본) 계획을 선택합니다. B1 기본 요금제는 Azure 계정에 대해 소정의 요금이 부과되지만 F1(무료) 요금제보다 성능이 향상되는 것이 좋습니다. 완료되면 적용 을 선택하여 변경 내용을 적용합니다. |
|
기본 웹앱 만들기 페이지에서 화면 아래쪽에 있는 검토 + 만들기 를 선택합니다. 그러면 검토 페이지로 이동됩니다. 만들기를 선택하여 App Service를 만듭니다. |
문제가 있나요? 알려주세요.
3 - Azure에 애플리케이션 코드 배포
Azure App Service는 GitHub Actions 및 모든 주요 CI/CD 도구에 대한 지원을 포함하여 애플리케이션 코드를 Azure에 배포하는 여러 방법을 지원합니다. 이 문서에서는 로컬 워크스테이션에서 Azure로 코드를 배포하는 방법에 중점을 둡니다.
VS Code 웹앱을 배포하려면 Azure Tools 확장 팩이 설치되어 있고 VS Code Azure에 로그인해야 합니다.
왼쪽 도구 모음에서 Azure 도구 아이콘을 찾아서 선택하여 azure Tools for VS Code 확장을 표시합니다. | |
Azure Tools 확장의 App Service 섹션에서 다음을 수행합니다.
|
|
화면 맨 위에 있는 대화 상자에서 배포할 웹앱으로 웹앱을 선택합니다. | |
예라고 대답하여 빌드 구성을 업데이트하고 배포 성능을 향상시킵니다. | |
배포가 완료되면 화면의 오른쪽 아래 모서리에 대화 상자가 나타납니다. 이 대화 상자를 사용하여 웹앱으로 이동할 수 있습니다. |
문제가 있나요? 먼저 문제 해결 가이드를 참조하세요. 그렇지 않으면 알려주세요.
4 - 앱 찾아보기
웹 브라우저에서 배포된 애플리케이션(URL: http://<app-name>.azurewebsites.net)으로 이동합니다. 기본 앱 페이지가 표시되면 잠시 기다렸다가 브라우저를 새로 고칩니다.
Python 샘플 코드가 기본 제공 이미지를 사용하여 App Service에서 Linux 컨테이너를 실행 중입니다.
축하합니다! Python 앱을 App Service에 배포했습니다.
문제가 있나요? 먼저 문제 해결 가이드를 참조하세요. 그렇지 않으면 알려주세요.
5 - 로그 스트림
Azure App Service는 애플리케이션 문제를 진단하는 데 도움이 되도록 콘솔에 출력되는 모든 메시지를 캡처합니다. 샘플 앱에는 이 기능을 보여 주는 문이 포함되어 print() 있습니다.
@app.route('/')
def index():
print('Request for index page received')
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/hello', methods=['POST'])
def hello():
name = request.form.get('name')
if name:
print('Request for hello page received with name=%s' % name)
App Service 진단 로그의 내용은 Azure Portal, VS Code 또는 Azure CLI를 사용하여 검토할 수 있습니다.
먼저 Azure App Service에서 스트리밍 로그를 사용하도록 설정해야 합니다. Azure Portal에서 App Service 인스턴스의 페이지로 이동합니다.
|
|
모니터링 섹션 아래의 메뉴에서 로그 스트림 항목을 선택합니다. 앱에서 홈페이지를 새로 고치거나 다른 요청을 시도하여 일부 로그 메시지를 생성합니다. 앱에서 생성된 로그 메시지와 서비스에서 생성한 메시지가 출력에 표시됩니다. |
문제가 있나요? 먼저 문제 해결 가이드를 참조하세요. 그렇지 않으면 알려주세요.
리소스 정리
샘플 앱을 완료하면 Azure에서 앱에 대한 모든 리소스를 제거할 수 있습니다. 추가 요금이 발생하지 않으며 Azure 구독을 깔끔하게 유지합니다. 리소스 그룹을 제거하면 리소스 그룹의 모든 리소스도 제거되며 앱에 대한 모든 Azure 리소스를 제거하는 가장 빠른 방법입니다.
'AZURE > CLI' 카테고리의 다른 글
Azure Cloud Shell 편집기 사용 (0) | 2022.05.02 |
---|---|
Azure Cloud Shell의 기능 및 도구 (0) | 2022.05.02 |
Docker 컨테이너에서 Azure CLI를 실행하는 방법 (0) | 2022.05.02 |
Linux에 Azure CLI 설치 (0) | 2022.05.02 |
az account (0) | 2022.04.25 |