μ΄ μ ν μΈμ μμλ νΌμ κ°κ² μ±μ μ μ μ± μλΉμ€μ λ°°ν¬ν©λλ€.
μ΄ μΈμ μ μλ£νλ €λ©΄ μ μ κ³μ λλ ꡬλ μ΄ νμν©λλ€. μμ§ μ μ κ³μ μ΄ μλ κ²½μ° μ§κΈ Azure κ³μ λ§λ€κΈ°λ₯Ό ν΅ν΄ λ§λ€ μ μμ΅λλ€.
κ³μ μ λ§λ νμλ μ΄ κ³μ μΌλ‘ Visual Studioμ λ‘κ·ΈμΈν΄μΌ Azure 리μμ€μ μ‘μΈμ€ν μ μμ΅λλ€.
Azure μ± μλΉμ€λ₯Ό μ΄μ©νλ©΄ ASP.NET Core μΉ μ±μ ν΄λΌμ°λμ μ½κ² λ°°ν¬ν μ μμ΅λλ€.
μ루μ μμ μλ² νλ‘μ νΈλ₯Ό λ§μ°μ€ μ€λ₯Έμͺ½ λ²νΌμΌλ‘ ν΄λ¦νκ³ κ²μλ₯Ό μ νν©λλ€. ASP.NET Core Server νλ‘μ νΈλ ν΄λΌμ΄μΈνΈ λΈλ μ΄μ νλ‘μ νΈλ₯Ό μ°Έμ‘°νλ―λ‘ μλ² νλ‘μ νΈλ₯Ό κ²μνλ©΄ λΈλ μ΄μ λΆλΆκ³Ό κ·Έ μ’ μμ±μ΄ ν¬ν¨λ©λλ€.
κ²μ λ§λ²μ¬μμ "Azure"λ₯Ό μ νν ν λ€μμ μ νν©λλ€.
λ°°ν¬ λμμ λν΄ "Azure App Service(Windows)"λ₯Ό μ νν λ€μ λ€μ λ€μμ μ νν©λλ€.
ꡬλ μ΄ λ‘λλ λκΉμ§ κΈ°λ€λ Έλ€κ° Azure μ± μλΉμ€μ μ¬μ©ν ꡬλ μ μ ννμμμ€. ꡬλ μ μ νν ν λν μμ νλ¨μμ "μ Azure μ± μλΉμ€ λ§λ€κΈ°..."λ₯Ό μ ννμμμ€.
"App Service: Create New" λνμμμμ λ€μμ μνν©λλ€.
- μ Azure μ± μλΉμ€μ μ¬μ©ν μ¬λ°λ₯Έ κ³μ μ΄ μ€λ₯Έμͺ½ μλ¨μ κ³μ λλ‘λ€μ΄μμ μ νλμλμ§ νμΈν©λλ€.
- μ±μ κ³ μ ν μ΄λ¦μ μ νν©λλ€(μ±μ κΈ°λ³Έ URLμ μΌλΆκ° λ©λλ€.)
- 리μμ€ κ·Έλ£Ή λ° νΈμ€ν
κ³νκ³Ό ν¨κ» μ¬μ©ν Azure μλΈμ€ν¬λ¦½μ
μ μ νν©λλ€.
- 리μμ€ κ·Έλ£Ήμ Azureμμ κ΄λ ¨ 리μμ€λ₯Ό κ·Έλ£Ήννλ νΈλ¦¬ν λ°©λ²μ΄λ―λ‘ νΌμ κ°κ² μ±μ λ§κ² μλ‘ λ§λλ κ²μ κ²ν ν΄ λ³΄μΈμ.
- νΈμ€ν κ³νμ κ²½μ° κΈ°λ³Έ κ³μΈ΅ νΈμ€ν κ³ν μ΄μμ μ νν΄μΌ ν©λλ€.
μ± μλΉμ€λ₯Ό λ§λ€λ €λ©΄ λ§λ€κΈ°λ₯Ό ν΄λ¦ν©λλ€. μ΄ μμ μ λͺ λΆ μ λ 걸릴 μ μμ΅λλ€.
μ± μλΉμ€κ° μμ±λλ©΄ ν΄λΉ μλΉμ€κ° μ νλμλμ§ νμΈν λ€μ κ²μ λνμμμμ λ§μΉ¨μ ν΄λ¦ν©λλ€
μ± μλΉμ€κ° μμ±λλ©΄ κ²μ νμ΄μ§μ κ²μ νλ‘νμ΄ νμλ©λλ€.
μ΄ λ, μ±μ λν νλ‘λμ λ°μ΄ν°λ² μ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€. μ±μ΄ SQLiteλ₯Ό μ¬μ©νκ³ μ체 λ°μ΄ν°λ² μ΄μ€λ₯Ό λ°°ν¬νκΈ° λλ¬Έμ λ°μ΄ν°λ² μ΄μ€λ₯Ό λ§λ€ νμλ μμ§λ§ μ€μ μ±μ κ²½μ° λ§λ€κ² λ κ²μ λλ€.
μ±μ κ²μνμμ§λ§, μλ²κ° μμμ μ€ν¨νκ³ μ€λ₯κ° λ°νλ©λλ€. μ΄λ λ¨Όμ IdentityServerμ λν μλͺ ν€λ₯Ό ꡬμ±ν΄μΌ νκΈ° λλ¬Έμ λλ€. κ°λ°νλ λμ κ°λ° ν€(BlazingPizza.Server/appsettings.Development.json μ°Έμ‘°)λ₯Ό μ¬μ©νμ§λ§ μ€μ μ΄μμμλ ν ν°μ λ°ννκΈ° μν μΈμ¦μλ₯Ό ꡬμ±ν΄μΌ ν©λλ€. μ΄ μμ μ Azure Key Vaultλ₯Ό μ¬μ©νμ¬ μνν©λλ€.
κΈ°μ‘΄ ν€ λ³ΌνΈλ₯Ό μ¬μ©νμ¬ μλͺ μΈμ¦μλ₯Ό μμ±νκ±°λ μ μΈμ¦μλ₯Ό μμ±ν μ μμ΅λλ€.
μλ‘κ² ν€ λ³ΌνΈλ₯Ό λ§λ€λ €λ©΄ μλμ κ°μ΄ μ§ννμΈμ.
리뷰 μλ§
- Azure ν¬νμ λ‘κ·ΈμΈ ν΄μ£ΌμΈμ.
- κ²μ μμμ Key Vaultλ₯Ό μ λ ₯ν©λλ€.
- κ²°κ³Ό λͺ©λ‘μμ Key vaultsλ₯Ό μ νν©λλ€.
- ν€ λ³ΌνΈ μΉμ μμ μΆκ°λ₯Ό μ νν©λλ€.
- ν€ λ³ΌνΈ λ§λ€κΈ° μΉμ
μμ λ€μ μ 보λ₯Ό μ 곡ν©λλ€:
- Subscription: ꡬλ μ μ νν©λλ€.
- Resource group: ν€ λ³ΌνΈμ 리μμ€ κ·Έλ£Ήμ μ νν©λλ€.
- Key vault name: κ³ μ ν μ΄λ¦μ΄ νμν©λλ€.
- Region νλ€μ΄ λ©λ΄μμ μμΉλ₯Ό μ νν©λλ€.
- λ€λ₯Έ μ΅μ μ κΈ°λ³Έκ°μΌλ‘ μ μ§ν©λλ€.
- μμ μ 보λ₯Ό μ 곡ν ν Review + createλ₯Ό μ ννμ¬ ν€ λ³ΌνΈλ₯Ό λ§λλλ€.
Azure ν¬νΈμμ ν€ λ³ΌνΈλ₯Ό μ°Ύμ Certificatesλ₯Ό μ ννκ³ Generate/Importλ₯Ό μ ννμ¬ μ μΈμ¦μλ₯Ό λ§λλλ€.
μ νν μ΄λ¦κ³Ό μΌμΉνλ μ λͺ© μ΄λ¦("CN="μΌλ‘ ꡬλΆ)μ μ¬μ©νμ¬ μ체 μλͺ λ μΈμ¦μλ₯Ό μμ±νκ³ Createλ₯Ό μ νν©λλ€.
Azure ν¬νΈμμ μ± μλΉμ€λ₯Ό μ°Ύμ TLS/SSL Settingsμ μ ννκ³ Private Key Certificates (.pfx) νμ μ νν λ€μ Import Key Vault Certificateλ₯Ό μ νν©λλ€.
μ‘°κΈ μ μ λ§λ μΈμ¦μλ₯Ό μ ννμ¬ μ± μλΉμ€λ‘ κ°μ Έμ΅λλ€.
κ°μ Έμ¨ μΈμ¦μλ₯Ό μ ννκ³ μ§λ¬Έ(thumbprint)μ 볡μ¬ν©λλ€.
μ± μλΉμ€μ μΌμͺ½ λ©λ΄μμ Configurationμ μ νν©λλ€. λ°©κΈ λ³΅μ¬ν μΈμ¦μ μ§λ¬Έ(thumbprint)μ κ°μ΄ μ€μ λ WEBSITE_LOAD_CERTIFICATES μ΄ν리μΌμ΄μ
μ€μ μ μΆκ°ν©λλ€. μ΄ μ€μ μ μ¬μ©νλ©΄ Windows μΈμ¦μ μ μ₯μλ₯Ό μ¬μ©νμ¬ μΈμ¦μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
μ΄μ μλ² νλ‘μ νΈμμ appsettings.jsonλ₯Ό μ λ°μ΄νΈνμ¬ μΈμ¦μλ₯Ό νλ‘λμ μμ μ¬μ©νλλ‘ μ±μ ꡬμ±ν©λλ€.
"IdentityServer": {
"Key": {
"Type": "Store",
"StoreName": "My",
"StoreLocation": "CurrentUser",
"Name": "CN=BlazingPizzaCertificate"
},
"Clients": {
"BlazingPizza.Client": {
"Profile": "IdentityServerSPA"
}
}
}κ²μν μ€λΉκ° λμμ΅λλ€! κ²μλ₯Ό ν΄λ¦ν©λλ€.
μ±μ κ²μνλ λ° λͺ λΆ μ λ 걸릴 μ μμ΅λλ€. μ±μ΄ λ°°ν¬λ₯Ό λ§μΉλ©΄ λΈλΌμ°μ μ μλμΌλ‘ λ‘λλ©λλ€.
μΆνν©λλ€!
μλ£λ λΈλ μ΄μ μ±μ μΉκ΅¬μκ² μλν νμλ λ μ΄μ μ μ§ κ΄λ¦¬νκ³ μΆμ§ μμ Azure 리μμ€λ₯Ό μ 리ν΄μΌ ν©λλ€.
μλ¬Έ μ½κΈ° - Publish and deploy













