- Container App Name: d2d-app-vnet
- Resource Group: d2d-rg
- Location: Australia Southeast
- URL: https://d2d-app-vnet.kindglacier-71e74fc9.australiasoutheast.azurecontainerapps.io
- VNet: vnet-migration (10.200.0.0/16)
- Container Subnet: snet-containerapps (10.200.2.0/23)
- Delegation: Microsoft.App/environments
Network Architecture:
Your PACS (10.17.1.21:5000)
↕ (via VPN/ExpressRoute)
vnet-migration (10.200.0.0/16)
├── GatewaySubnet (10.200.0.0/27)
├── snet-replication (10.200.1.0/24) - IN USE, can't delegate
└── snet-containerapps (10.200.2.0/23) - D2D containers here
↕
D2D Container App
Question: Can the container get a static IP on 10.200.1.0/24?
Answer: Not directly with Azure Container Apps because:
-
Container Apps don't provide static private IPs
- Containers use ephemeral IPs from the subnet pool (10.200.2.0/23)
- Each container instance may get a different IP
- IPs are managed by the platform, not assignable
-
10.200.1.0/24 subnet is in use
- Already has resources (vrg-replication-server791)
- Cannot be delegated to Container Instances
- Cannot mix delegated and non-delegated resources
✓ Container can make outbound connections to 10.17.1.21:5000 ✓ Source IP will be from 10.200.2.0/23 range ✓ PACS will see connections coming from 10.200.2.x addresses
✗ No fixed/static private IP for the container ✗ Incoming connections to a specific IP (use the public URL instead)
You need to allow connections from 10.200.2.0/23 subnet:
- Add firewall rule: Allow 10.200.2.0/23 → 10.17.1.21:5000
- Add AE Title: D2D_SCU (or configure in the app)
- The source IP will vary within 10.200.2.0-10.200.3.255 range
# From a machine on 10.200.1.0/24 network:
nc -zv 10.17.1.21 5000
# Or with DICOM tools:
echoscu -aet D2D_SCU -aec YOUR_PACS_AE 10.17.1.21 5000- Go to: https://d2d-app-vnet.kindglacier-71e74fc9.australiasoutheast.azurecontainerapps.io
- Click "DICOM Destinations"
- Add destination:
- Name: Your PACS
- Host: 10.17.1.21
- Port: 5000
- AE Title: (your PACS AE title)
- Calling AE: D2D_SCU
- Click "Test Connection"
Problem: The DICOM verify/test endpoint returns 500 Internal Server Error
Possible Causes:
- Network timeout (PACS not reachable)
- PACS rejecting connection from 10.200.2.x subnet
- Wrong AE titles
- Firewall blocking connection
To Debug: Check the container logs:
az containerapp logs show --name d2d-app-vnet --resource-group d2d-rg --followThen try to test connection from the web interface and watch the logs.
If you absolutely need a static IP on 10.200.1.x:
Create a new /28 subnet:
az network vnet subnet create \
--vnet-name vnet-migration \
--resource-group rg-migration-vpn \
--name snet-d2d \
--address-prefixes 10.200.4.0/28 \
--delegations Microsoft.ContainerInstance/containerGroupsThen deploy as Azure Container Instance (ACI) instead of Container Apps.
Deploy a small Linux VM that gets a static IP from any subnet you choose.
Create a network profile that assigns specific IPs, but this is complex and not recommended.
For most use cases, the current setup is optimal:
-
✅ Container Apps (current setup)
- Auto-scaling (0-2 replicas)
- Cost-effective ($0-10/month)
- VNet integrated (can reach PACS)
- HTTPS endpoint
- Automatic updates
-
Configure PACS to accept from subnet:
- Allow source: 10.200.2.0/23
- Destination: 10.17.1.21:5000
- Protocol: TCP (DICOM)
-
If static IP is critical, switch to Azure Container Instance or VM
- Verify PACS is configured to accept connections from 10.200.2.0/23
- Test connectivity using the D2D web interface
- Check firewall rules between Azure VNet and your PACS
- Review logs if connection fails
# View logs
az containerapp logs show --name d2d-app-vnet --resource-group d2d-rg --follow
# Restart container
az containerapp revision restart --name d2d-app-vnet --resource-group d2d-rg
# Check VNet integration
az containerapp env show --name d2d-env-vnet --resource-group d2d-rg --query vnetConfiguration
# List all resources
az resource list --resource-group d2d-rg -o table