Azure Altyapısı
Bu doküman, Switzerland North bölgesinde barındırılan wastelog-vnet için bulut altyapısının özetini sunmaktadır. Mimaride, herkese açık bir giriş noktası ile Geliştirme (Development) ve Üretim (Production) ortamları için tamamen izole edilmiş özel ortamlar bulunmaktadır.
Mimarinin Genel Görünümü
Ağ, güvenlik ve görevlerin mantıksal olarak ayrılması amacıyla public ve private subnet'lere bölünmüştür.
- Bölge: Switzerland North
- VNet Adı:
wastelog-vnet - Adres Alanı: 10.0.0.0/16 (subnet'lere dağıtılmıştır)
Diyagram

Ağ Topolojisi
Virtual Network, farklı roller için belirli subnet'lere ayrılmıştır.
| Ortam | Subnet Adı | CIDR | Kaynak Türü | Notlar |
|---|---|---|---|---|
| Genel | public-gateway | 10.0.1.0/24 | App Gateway | Giriş noktası (HTTPS) |
| Genel | public-generic | 10.0.0.0/24 | Bastion Host | Yönetim erişimi |
| Dev | private-app-dev | 10.0.6.0/24 | Sanal Makine | NGINX Web Sunucusu (1 Node) |
| Dev | private-db-dev | 10.0.2.0/24 | Sanal Makine | MySQL Sunucusu |
| Dev | private-cache-dev | 10.0.4.0/24 | Yönetilen Redis | Önbellekleme Katmanı |
| Prod | private-app-prod | 10.0.7.0/24 | Sanal Makine | NGINX Web Sunucusu (1 Node) |
| Prod | private-db-prod | 10.0.3.0/24 | Azure Managed MySQL Flexible Server | MySQL Flexible Server |
| Prod | private-cache-prod | 10.0.5.0/24 | Yönetilen Redis | Önbellekleme Katmanı |
Bileşen Detayları
1. Giriş & Bağlantı
- App Gateway: İnternetten gelen tüm HTTPS trafiğini karşılar ve istekleri uygun backend havuzuna (Dev veya Prod) yönlendirir.
- Bastion Host: Genel subnet'te yer alan, özel olarak ayrılmış bir Sanal Makinedir. Özel VM'lere güvenli SSH/RDP erişimi sağlar. Özel VM'lere doğrudan internetten erişim engellenmiştir.
2. Hesaplama (Uygulama Katmanı)
Hem Dev hem de Prod ortamlarında, NGINX çalıştıran Sanal Makineler 80 numaralı port üzerinden hizmet vermektedir.
- Ölçekleme: Her ortam için şu anda tek bir VM node olarak yapılandırılmıştır.
3. Veri Kalıcılığı
-
Veritabanı:
- Development (Dev) Ortamı: MySQL, Sanal Makineler üzerinde barındırılmaktadır.
- Production (Prod) Ortamı: Azure Managed MySQL Flexible Server kullanılmaktadır.
-
Not: Switzerland North bölgesindeki yüksek talep nedeniyle, sadece Dev ortamı için Azure Flexible Server yerine VM kullanılmaktadır. Prod ortamında ise MySQL Flexible Managed DB aktif olarak kullanılmaktadır.
-
Önbellek: Yüksek performanslı veri önbellekleme için Azure Yönetilen Redis kullanılmaktadır.
-
Depolama: Azure Blob Storage, nesne depolama için (örneğin, admob verisi) kullanılmaktadır.
4. Gözlemlenebilirlik
- Application Insights: Performans izleme ve hata takibi için hem Dev hem de Prod ortamlarında entegre edilmiştir.
5. Güvenlik
- NSG'ler (Ağ Güvenlik Grupları): Subnet'lere uygulanarak ağı filtreler (izin/verme/engelleme).
- ASG'ler (Uygulama Güvenlik Grupları): Sanal Makineleri grup bazında yönetmek için kullanılır ve detaylı güvenlik politikaları sunar.
Geçici Bot VM veya Benzeri Genel VM Dağıtımı
Eğer geçici bir bot VM veya benzeri bir genel erişime sahip VM dağıtılacaksa, bu işlem public-generic subnet'i üzerinde yapılabilir. Ancak güvenlik için, subnet'e atanmış NSG'nin (Ağ Güvenlik Grubu) uygun şekilde güncellenmesi gerekmektedir. Bu amaçla güncellenmiş NSG'nin adı vm-app-dev-nsg'dir. Aşağıda örnek bir NSG yapılandırmasını gösteren diyagram yer almaktadır:

Not: Ekstra izin verilen portlar/servisler gereksiz yere açılmamalıdır. Sadece gerekli olan trafiğe izin verin; gereksiz trafiği engellemeye devam edin.