# Azure CDN Quick Start Guide ## Prerequisites Check Before running setup, verify: ```bash # 1. Azure CLI installed az --version # 2. Logged in to Azure az account show # 3. Check quotas ./infra/scripts/azure-check-cdn-quotas.sh ``` ## One-Command Setup ```bash ./scripts/deploy/setup-azure-cdn-complete.sh ``` This automates everything: 1. ✅ Quota verification 2. ✅ Resource group creation 3. ✅ Storage account creation 4. ✅ Container creation 5. ✅ CDN profile creation 6. ✅ CDN endpoint creation 7. ✅ PNG file upload 8. ✅ Manifest URL updates ## Manual Setup (Step-by-Step) ### Step 1: Check Quotas ```bash ./infra/scripts/azure-check-cdn-quotas.sh ``` **Required Quotas:** - Storage Accounts: 1 available - CDN Profiles: 1 available - Resource Groups: 1 available ### Step 2: Create Infrastructure ```bash ./infra/scripts/azure-cdn-setup.sh ``` **Creates:** - Resource Group: `the-order-cdn-rg` - Storage Account: `theordercdn` - Container: `images` (public blob access) - CDN Profile: `theorder-cdn-profile` - CDN Endpoint: `theorder-cdn-endpoint` **Output:** `azure-cdn-config.env` ### Step 3: Upload Files ```bash ./scripts/deploy/upload-seals-to-azure.sh ``` ### Step 4: Update URLs ```bash source azure-cdn-config.env CDN_BASE_URL="${CDN_BASE_URL_CDN}" ./scripts/deploy/update-manifest-seal-urls.sh ``` ## Configuration After setup, configuration is saved in `azure-cdn-config.env`: ```bash source azure-cdn-config.env echo $CDN_BASE_URL ``` ## URLs ### Blob Storage (Immediate) ``` https://.blob.core.windows.net/images/ ``` ### CDN (After 10-15 min) ``` https://.azureedge.net/images/ ``` ## Verification ```bash # Test file access curl -I https://.blob.core.windows.net/images/digital-bank-seal.png # Check storage account az storage account show --name --resource-group the-order-cdn-rg # Check CDN endpoint az cdn endpoint show \ --name theorder-cdn-endpoint \ --profile-name theorder-cdn-profile \ --resource-group the-order-cdn-rg ``` ## Troubleshooting ### Quota Exceeded - Request increase: https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade - Or use existing storage account ### Setup Fails - Check Azure CLI login: `az account show` - Verify permissions: Contributor role required - Check quotas: `./infra/scripts/azure-check-cdn-quotas.sh` ### Files Not Accessible - Verify container has public blob access - Check CORS configuration - Wait for CDN propagation (10-15 minutes) ## Cost Approximate monthly cost: - **Storage**: ~$0.0001/month (3.4MB) - **CDN**: First 5GB free, then ~$0.04/GB - **Total**: ~$0-5/month ## Next Steps 1. ✅ Verify files accessible 2. ✅ Test credential issuance 3. ✅ Monitor CDN usage 4. ✅ Set up custom domain (optional) --- **Quick Start**: `./scripts/deploy/setup-azure-cdn-complete.sh`