Bulut ortamında yalnızca uygulamalar dağıtmakla yetinmekten çıktığınızda, verilerin kalıcılığı, sorgulanması ve gerçek dünya mimarisiyle tanışırsınız. Üretimde çalışan uygulamaların çoğu sadece çalışmaz, aynı zamanda veriyi depolar, sorgular ve görselleştirir. Metabase bu ihtiyaca yanıt veren açık kaynaklı bir iş zekâsı aracıdır ve bugün AWS ortamında ECS Fargate ile nasıl dağıtılacağını ve PostgreSQL veritabanına (RDS) nasıl bağlanacağını adım adım açıklıyoruz.
Neden Bu Kurulumu Tercih Etmelisiniz?
Bu proje, bulut mühendislerinin ve geliştiricilerin karşılaştığı gerçek dünya senaryolarını ele alır:
- Uygulama + veritabanı mimarisi: Uygulamanın veriyle nasıl bütünleştiğini anlamak.
- Konteynerleşmiş iş yükleri: Uygulamaları izole ve taşınabilir şekilde çalıştırmak.
- Yönetilen veritabanları: PostgreSQL’in AWS RDS üzerinden otomatik olarak yönetilmesi.
- Güvenli servis-içi iletişim: Farklı AWS servislerinin özel ağ üzerinden güvenle haberleşmesi.
- Ortam değişkenleriyle yapılandırma: Uygulama ayarlarının dinamik olarak yönetilmesi.
Bu kurulum, gerçek dünyadaki üretim sistemlerinde sıklıkla karşılaşacağınız bir yapıdır. Hem veri analizi hem de bulut mimarisi konularında derinlemesine deneyim kazanırsınız.
Sistem Mimarisi Nasıl Çalışır?
Kurulumun temel bileşenleri ve bunların birbirleriyle olan ilişkisi şu şekilde özetlenebilir:
Kullanıcı (Tarayıcı) → AWS ECS Servisi (Fargate) → Metabase Konteyneri → Amazon RDS (PostgreSQL)Tüm bu servislerin aynı VPC içinde bulunması gerekir. Böylece, veritabanıyla uygulama arasındaki iletişim özel ağ üzerinden güvenli bir şekilde gerçekleşir. Metabase konteyneri, RDS üzerinde çalışan PostgreSQL’e doğrudan bağlanır ve kullanıcılara veri sorgulama, raporlama ve görselleştirme imkânı sunar.
Adım 1: PostgreSQL Veritabanını RDS Üzerinde Oluşturun
AWS RDS konsoluna gidin ve yeni bir veritabanı oluşturun. Aşağıdaki ayarları yapılandırın:
- Motor: PostgreSQL
- Şablon: Ücretsiz katmanı tercih edin (uygunsa)
Genel ayarlar:
- Veritabanı örneği tanımlayıcısı:
metabase-db - Kullanıcı adı:
postgres - Parola: Güçlü bir parola belirleyin
Ağ ayarları:
- Veritabanınızı aynı VPC’nin içinde oluşturun.
- Özel alt ağ seçin (en iyi uygulamalardan biri).
- Genel erişimi devre dışı bırakın (güvenlik için önerilir).
Güvenlik grubu ayarları:
- Gelen trafik için yeni bir kural ekleyin:
- Port:
5432(PostgreSQL varsayılan portu) - Kaynak: ECS servisinizin güvenlik grubu
Bu ayar, yalnızca Metabase konteynerinin veritabanına erişmesini sağlar.
Adım 2: ECS Kümesini (Fargate) Oluşturun
AWS ECS konsoluna gidin ve yeni bir küme oluşturun:
- Küme adı:
metabase-cluster - Fargate başlatma türünü seçin (yalnızca ağ yönetimi için).
- Diğer varsayılan ayarları kullanabilirsiniz.
Bu adım, konteynerlerinizi çalıştıracağınız izole bir ortam oluşturur.
Adım 3: Görev Tanımını Oluşturun
ECS konsolunda Görev Tanımları bölümüne giderek yeni bir görev tanımı oluşturun. Fargate başlatma türünü seçin ve aşağıdaki ayarları yapılandırın:
Konteyner yapılandırması:
- Konteyner adı:
metabase - Resim:
metabase/metabase - Port eşleştirme: Konteyner portu
3000
Ortam değişkenleri: Aşağıdaki değişkenleri ekleyin ve ilgili değerleri doldurun:
MB_DB_TYPE=postgres
MB_DB_DBNAME=metabase
MB_DB_PORT=5432
MB_DB_USER=postgres
MB_DB_PASS=your_strong_password
MB_DB_HOST=metabase-db.xxxxxx.rds.amazonaws.comMB_DB_HOST değerini RDS veritabanınızın bağlantı uç noktası ile değiştirmeyi unutmayın. Bu değişkenler, Metabase’in PostgreSQL veritabanına nasıl bağlanacağını belirler.
Adım 4: ECS Servisini Başlatın
Yeni bir servis oluşturun ve aşağıdaki ayarları uygulayın:
- Başlatma tipi: Fargate
- Görev tanımı:
metabase-task - Görev sayısı:
1
Ağ ayarları:
- Aynı VPC’yi seçin (RDS ile aynı olmalıdır).
- Alt ağları ve güvenlik grubunu yapılandırın.
- Genel IP’yi etkinleştirin (tarayıcı üzerinden erişim için).
Güvenlik grubu kuralı:
- Gelen trafik için yeni bir kural ekleyin:
- Port:
3000 - Kaynak: İzin vermek istediğiniz IP aralığı (örneğin, yalnızca kendi IP’niz)
Adım 5: Metabase’e Erişin ve Kurulumu Tamamlayın
Servisinizi başlattıktan sonra, ECS konsolunda görev durumunun ÇALIŞIYOR olarak değişmesini bekleyin. Ardından:
- ECS görevinin genel IP adresini alın.
- Tarayıcınızda ` adresine gidin.
Metabase kurulum ekranı karşınıza çıkacaktır. Burada, kullanıcı adı ve parola oluşturarak ilk erişimi tamamlayabilirsiniz. Artık, verilerinizi sorgulayabilir, raporlar oluşturabilir ve iş zekâsı panelleri tasarlayabilirsiniz.
Sık Yapılan Hatalar ve Çözümleri
Bu kurulum sürecinde karşılaşabileceğiniz yaygın sorunlar ve nasıl çözülecekleri:
- ECS ve RDS farklı VPC’lerde: İletişim kuramazlar. Tüm bileşenlerin aynı VPC içinde olduğundan emin olun.
- RDS uç noktası yanlış girildi: Metabase veritabanına bağlanamaz. Doğru uç noktayı kullanın.
- Güvenlik grubu kuralı eksik (5432 portu): Veritabanına erişim engellenir. İlgili kuralı ekleyin.
- Ortam değişkenleri hatalı girildi: Metabase doğru şekilde başlatılamaz. Değişkenleri kontrol edin.
Öğrendikleriniz ve Gerçek Dünya Uygulamaları
Bu projeyle kazandığınız yetkinlikler, bulut tabanlı veri uygulamaları geliştirirken size büyük avantaj sağlayacaktır:
- Uygulamaların veritabanlarına nasıl bağlandığını anlamak.
- Güvenli servis-içi iletişimi nasıl yapılandırdığınızı öğrenmek.
- Durumsal uygulamaların bulut ortamında nasıl çalıştırıldığını kavramak.
- Gerçek dünya sistemlerinin mimarisini anlamak.
Bu kurulum, aşağıdaki senaryolarda yaygın olarak kullanılmaktadır:
- İç analiz panelleri
- İş zekâsı platformları
- SaaS raporlama araçları
- İzleme ve metrik görselleştirme sistemleri
Metabase’i ECS ve RDS ile dağıtmak, artık sadece kaynakları başlatmaktan öteye geçiyor. Gerçek bir bağlantılı sistem inşa ediyorsunuz. Bu da sizi "bulut öğrenmekten" "bulut mühendisi gibi düşünmeye" bir adım daha yaklaştırıyor.
Yapay zeka özeti
Metabase’i AWS ECS Fargate üzerinde PostgreSQL RDS’e bağlayarak veri analizi platformunuza bulut tabanlı bir çözüm kazandırın. Adım adım rehber.