2022. 6. 26. 18:16ใAzure
<ํํ ๋ฆฌ์ผ ๋งํฌ>
https://docs.microsoft.com/en-us/learn/modules/host-a-web-app-with-azure-app-service/
0. ์์ํ๊ธฐ ์ ์ ํ์ ๊ณ์ ์ผ๋ก $100 ํฌ๋ ๋ง ๋ฐ๊ธฐ
Azure๋ก ๋ค์ด๊ฐ๋ณด๋ AWS์ ๋ค๋ฅด๊ฒ ํ์์ด๋ฉด ์ถ๊ฐ์ ์ธ ํํ์ด ์๋ ๊ฒ ๊ฐ์๋ค. ๋๋ ์ ์ด์ ํ๊ต ์ด๋ฉ์ผ๋ก ๊ฐ์ ํด ๋ ๊ณ์ ๋ ์์๊ณ , (์ด๊ฒ ๋๋ฌธ์ธ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง) ํ๊ต์์ ์์ ์ Microsoft Learn ์ฐ๋ ํํ? ๊ฐ์๊ฒ ์์์ด์ ๋ฌธ์ ์ธ์ฆ ํ, ๊ฐ์ธ์ ๋ณด๋ฅผ ๊ธฐ์ ํ๋ ์ด๋ ๊ฒ ํฌ๋ ๋ง์ ํ์ธํ ์ ์์๋ค. ํ์์ด๋ผ๋ฉด ๋ค๋ค ๋ฐ๊ณ ์์ํ์๋๊ฒ..
2๋ฒ์งธ ๋ค์ ๋ณด๊ธฐ, ์ ๋ฆฌํ๊ธฐ
1. ๋ฆฌ์์ค ๋ฉ๋ด์์ ์น์ฑ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์ ๋ฆฌ์์ค ๋ง๋ค๊ธฐ ํด๋ฆญ
2. ์น์ฑ ๋ง๋ค๊ธฐ ์ค์
- What is ๋ฆฌ์์ค ๊ทธ๋ฃน?
Everything you create on Azure is a resource -> Azure์์ ๋ง๋ค์ด์ง๋ ๋ชจ๋ ๊ฒ์ '๋ฆฌ์์ค'๋ผ๊ณ ํ๊ณ , ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ฌถ๋ ๊ทธ๋ฃน. AWS๋ก ์๊ฐํด๋ณด๋ฉด.. ๋ญ๊ฐ ์์๊น?
๊ตฌ๋ ์ Azure for Students.
ํํ ๋ฆฌ์ผ์๋ ๋ฆฌ์์ค ๊ทธ๋ฃน์ ์ ํํ๋ผ๊ณ ๋์ด ์์๋๋ฐ, ์ ์ ์ ํ์ง์๋ ์๋ฌด๊ฒ๋ ์์๊ธฐ ๋๋ฌธ์ 'CloudClub'์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃน์ ์๋ก ์์ฑํ๋ค.
๊ทธ๋ฃน ์ด๋ฆ๋ง ์ ๋ ฅํ๋ฉด ๋๊ณ , ๋ฐ๋ก ์ค์ ํ ๊ฒ์ ์์๋ค.
์ธ์คํด์ค ์ ๋ณด๋ฅผ ์ ๋ ฅํ ๋ ์ด๋ฆ์ Azure๋ด์์ ํน์ํด์ผ ํ๋ค.
Docker ๋ฅผ ์ ๋ชฐ๋ผ์ ์ฝ๋ ๋ฐฐํฌ๋ฅผ ์ ํํ๊ณ , ๋ฐํ์ ์คํ์ ๋น๊ทผ Python, ์ง์ญ์ ํ๊ตญ
App Service ์๊ธ์ ๊ฐ ๋ฐฉ๊ธ ์ ๋ ฅํ ๋ฆฌ์์ค ๊ทธ๋ฃน ์ด๋ฆ์ ๋ง์ถฐ์ ์๋์ผ๋ก ์์ฑ๋์๋ค.
๊ทธ๋ฆฌ๊ณ Sku ๋ฐ ํฌ๊ธฐ๋ฅผ ๊ผญ ๋ณ๊ฒฝํ์. ๊ธฐ๋ณธ B1์ ์ฒซ๋ฌ๋ง ๋ฌด๋ฃ์ด๊ณ , ์๊ธ์ด ์ฒญ๊ตฌ๋๋ ๋ฐฉ์์ด๋ F1์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๊ทธ๋ผ ์ด์ ๊ฒํ + ๋ง๋ค๊ธฐ~
์ต์ข ์ ์ผ๋ก '๋ง๋ค๊ธฐ'๊น์ง ๋๋ ์๋ ์๊ฐ๋ณด๋ค ๋ฐฐํฌ์ ์๊ฐ์ด ๊ฝค ์ค๋ ๊ฑธ๋ ธ๋ค.(1๋ถ ์ ๋)
<๋ํดํธ ์น์ฑ ํ์ธ>
๋งํฌ๋ฅผ ํด๋ฆญํด๋ณด๋ฉด
์ด๋ฐ ํ๋ฉด์ ๋ง๋ ์ ์๋ค.
3. ์น์ฑ ์ฝ๋ ์์ฑํ๊ธฐ
Microsoft Learn์์๋ Flask์ผ๋ก ์ ๋ง ๊ฐ๋จํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ Github์ ์ ๋ ํฌ๋ฅผ ๋ง๋ค๊ณ ์ปค๋ฐํ๋ ํ์์ผ๋ก ์งํํ์ง๋ง, ๋๋ ์ด๋ฏธ ๊ธฐ์กด์ ๋ง๋ค์ด๋ ์ํ ์น์ฑ ๋ ํฌ๋ค์ด ์์ด์ ๊ทธ๊ฑธ๋ก ๋์ฒดํ๊ธฐ๋ก ํ๋ค.
4. CLI ์ด์ฉํด์ ์ฝ๋ ์์ฑํ๊ธฐ
ํํ ๋ฆฌ์ผ์์ ์๋์ผ๋ก Azure Cloud Shell์ ์ฐ๊ฒฐ์ ํด์คฌ๋ค. ์ค์น~
AWS๋ก๋ ํญ์ ์น์ผ๋ก๋ง ํด๋ดค๊ณ , CLI๋ ์ ์จ๋ด์ ์ด๋ฒ์๋ ์ด๋ป๊ฒ ์๋ํ๋ ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผํด๋ดค๋ค.
์ ๊ธฐ๋ฐฉ๊ธฐ..
5. ์ฝ๋ ๋ฐฐํฌํ๋ ๋ค์ํ ๋ฐฉ๋ฒ
1) ์๋
- Azure DevOps
- GitHub
- Bitbucket
- OneDrive
- Dropbox
2) ์๋
- Git
- az webapp up
export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)
์ด ๋ช ๋ น์ด๋ฅผ ํตํด์ ์๊น Azure Portal์์ ๋ง๋ค์ด๋ ์น ์ฑ์ ์ ๋ณด๋ฅผ ์ฐพ๋๋ค.
๊ทธ ๋ค์ ์๊น ๋ง๋ค์ด ๋์๋ ๋๋ ํ ๋ฆฌ๋ก ๋ค์ด๊ฐ์ az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION
์ ํด์คฌ๋๋ฐ.. ์๋ฌ๊ฐ ๋ฐ์
export -p ๋ช ๋ น์ด๋ก ์ฐพ์๋ณด๋๊น location, name, plan ๋ฑ์ ๋ชจ๋ ๊ฐ์ ธ์ค์ง ๋ชปํ์์ ํ์ธํ ์ ์์๋ค.
์ฌ๋ฌ๊ฐ์ง๋ฅผ ์๋ํด๋ณด๊ณ az webapp ๋ช ๋ น์ด๋ก ์ฒดํฌ๋ฅผ ํด๋ดค๋๋ฐ๋ ๋น ๋ฐฐ์ด์ ๋ฆฌํด ๋ฐ์๋ค.
์.. ์ฐ๊ฒฐ์ด ์๋๊ฑธ๊น..? (๊ฐ์ด ํด๊ฒฐ.. ์๋ฌด๋ฃฉ)
- ZIP ํ์ผ๋ก ๋ฐฐํฌ: az webapp deployment source config-zip
6. VSCode๋ก ๋ฐฐํฌํ๊ธฐ
<์ฐธ๊ณ ๋งํฌ>
Azure App Service extension์ ์ค์นํด์ฃผ๋ฉด ์ผ์ชฝ์ Azure ์์ด์ฝ์ด ์๊ธด๋ค.
๊ทธ๋ผ ์ด์ ์ฌ๊ธฐ์ workspace ์์ ์๋ ์ ๋ก๋ ๋ฒํผ์ ๋๋ฅด๋ฉด
์ด๋ ๊ฒ ์์ฑํ ์ฝ๋๋ฅผ ๋ฐ๋ก deployํ ์ ์๋ค.
์๊น ๋ง๋ค์ด๋ cloudclub-webapp์ด ์ ๋ฌ๋ค.
์ด๋ฐ ํ๋ฉด์ด ๋จ๋ฉด ์ ๋ ๊ฒ..
deploy๊ฐ ๋ค ๋ ํ์๋ ์กฐ๊ธ ๊ธฐ๋ค๋ ค์ผ ์ฝํ ์ธ ๊ฐ ๋ก๋๋๋ค.(์ด๋ฐ ๋ถ๋ถ์ AWS๊ฐ ํจ์ฌ ๋น ๋ฅธ ๊ฒ ๊ฐ์)
์ ๋ฐฐํฌ๋์๋ค.
Github์ผ๋ก ์ฐ๋ํ๋๊ฒ๋ ํ๋ฉด ์ข์ํ ๋ฐ ์๊ฐ์ด ์์ด์ ํจ์ค.. CLI ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด ์ข๊ฒ ๋ค..๋ ๋ง์
'Azure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Azure Kubernetes (0) | 2022.07.04 |
---|