Google Cloud Ücretsiz VPS ve Hosting Sunucusu Kurulumu
Google Cloud Free Tier ile public IPv4 kullanmadan; IPv6, IAP SSH, Debian 13, Docker, Docker Compose ve VS Code içeren ücretsiz VPS/hosting sunucusu kurun.
Google Cloud Free Tier ile ücretsiz VPS ya da ücretsiz hosting sunucusu kurmak mümkündür; ancak Google ücretsiz kullanım kapsamını bölge, makine tipi, disk türü, ağ ve trafik gibi dar sınırlarla tanımlar. Bu rehber; ücretli public IPv4 kullanmadan, external IPv6 ve Google IAP SSH üzerinden erişilen bir e2-micro Debian 13 sunucuyu sıfırdan hazırlamanızı, Docker ve Docker Compose kurmanızı ve VS Code Remote SSH ile bağlanmanızı sağlar.
Önemli: Adımları atlamayın ve benzer görünen seçenekleri rastgele değiştirmeyin. Özellikle Free Tier bölgesi,e2-micro,pd-standarddisk, public IPv4 olmaması ve ücret oluşturabilecek ek servislerin kapalı tutulması kritik önemdedir. Google Cloud teklifleri ve ücretleri zamanla değişebileceği için kuruluma başlamadan önce güncel Free Tier koşullarını, kurulumdan sonra da Billing raporlarını kontrol edin.
Bu kurulumun hedefi: Google Cloud Free Tier kapsamında e2-micro VM kullanmak; public IPv4 kullanmamak; external IPv6 kullanmak; SSH erişimini Google IAP üzerinden sağlamak; Docker ile Docker Compose kurmak ve daha sonra Cloudflare Tunnel üzerinden uygulama yayınlamaya hazır bir ücretsiz server elde etmektir.
1. IPv6 destekli custom VPC oluşturun
Default VPC yerine IPv6 destekli özel bir VPC oluşturun. Google Cloud Console içinde şu yolu izleyin:
VPC Network
→ VPC networks
→ Create VPC network- Name:
shserv-vpc - MTU:
1460 - Subnet creation mode:
Custom - Private IPv6 ULA:
Kapalı
Yeni subnet ayarları
- Name:
shserv-us-central1 - Region:
us-central1 (Iowa) - IP stack type:
IPv4 and IPv6 (dual-stack) - Primary IPv4 range:
10.10.0.0/24 - IPv6 access type:
External - Private Google Access:
Off - Flow logs:
Off - Hybrid Subnets:
Off
Firewall bölümünde Allow IPv6 custom, Allow IPv6 ICMP, Allow IPv6 RDP ve Allow IPv6 SSH seçeneklerinin tamamını OFF bırakın. Dynamic routing mode için Regional, Best path selection için Legacy seçin ve Create ile ağı oluşturun.
2. VM temel ayarlarını yapın
Google Cloud Console içinde VM oluşturma ekranını açın:
Compute Engine
→ VM instances
→ Create instance- Name:
shserv-test - Region:
us-central1 (Iowa) - Zone:
us-central1-a - Series:
E2 - Machine type:
e2-micro - Provisioning model:
Standard
Google arayüzü yaklaşık $6.11/ay liste fiyatı gösterebilir. Free Tier indirimi Create ekranındaki tahminde görünmeyebilir; gerçek durumu daha sonra Billing → Reports üzerinden kontrol edin.
3. İşletim sistemi ve diski seçin
OS and storage
→ Change- Operating system:
Debian - Version:
Debian GNU/Linux 13 (trixie) - Boot disk type:
Standard persistent disk - Size:
30 GB - Deletion rule:
Delete boot disk - Encryption:
Google-managed encryption key
Kritik: Balanced persistent disk seçmeyin. Free Tier için Standard persistent disk kullanın.4. Data Protection ayarını kapatın
Data protection bölümünde Snapshot schedule değerini None / No backups yapın. Otomatik snapshot oluşturmayın.
5. VM ağ ayarlarını yapılandırın
VM oluşturma ekranına dönün ve ağ arayüzünü düzenleyin:
Networking
→ Network interfaces
→ Edit network interface- Network:
shserv-vpc - Subnetwork:
shserv-us-central1 - IP stack type:
IPv4 and IPv6 (dual-stack) - Primary internal IPv4:
Ephemeral (Automatic) - External IPv4:
None - External IPv6:
Ephemeral (Automatic) - HTTP traffic:
OFF - HTTPS traffic:
OFF - Load Balancer Health Checks:
OFF - IP forwarding:
OFF
External IPv4 = None yaptıktan sonra Network Service Tier seçeneğinin kaybolması normaldir. External IPv6 etkin olduğu sürece bu durum sorun oluşturmaz.
6. Observability seçeneklerini kapatın
- Install Ops Agent for Monitoring and Logging:
OFF - Enable display device:
OFF
7. Güvenlik ayarlarını tamamlayın
- Service account:
No service account - Managed workload identity:
OFF - Confidential VM:
OFF - Secure Boot:
ON - vTPM:
ON - Integrity Monitoring:
ON
VM access bölümünü varsayılan bırakın ve manuel SSH key eklemeyin.
8. Advanced ayarlarını kontrol edip VM’yi oluşturun
- Deletion protection:
OFF - Reservations:
Don't use a reservation - Startup script:
Boş - Metadata:
Boş - Data encryption:
Google-managed encryption key - Cloud KMS:
Kullanma
Son kontrollerden sonra Create seçeneğiyle VM’yi oluşturun.
9. IAP için SSH firewall kuralı oluşturun
Public IPv4 kullanmadığınız için SSH bağlantısını Google IAP üzerinden kuracaksınız:
VPC Network
→ Firewall
→ Create firewall rule- Name:
allow-iap-ssh - Logs:
Off - Network:
shserv-vpc - Priority:
1000 - Direction:
Ingress - Action:
Allow - Targets:
All instances in the network - Source filter:
IPv4 ranges - Source IPv4 ranges:
35.235.240.0/20 - Second source filter:
None - Destination filter:
None - Protocols and ports:
Specified protocols and ports - TCP:
22
Create ile kuralı kaydedin.
10. Tarayıcıdan SSH bağlantısını test edin
Compute Engine
→ VM instances
→ shserv-test
→ SSHTerminal açıldığında aşağıdaki kontrolleri çalıştırın:
whoami
hostname
free -h
df -hYaklaşık 964 MiB RAM ve /dev/sda1 üzerinde yaklaşık 30 GB disk görmelisiniz.
11. IPv6 internet erişimini test edin
External IPv6 adresini, Cloudflare erişimini ve global IPv6 arayüzünü sırayla kontrol edin:
curl -6 https://ifconfig.co
curl -6 -I https://cloudflare.com
ip -6 addr show scope globalİlk komut 2600:... benzeri bir IPv6 adresi döndürmelidir.
12. 2 GB swap oluşturun
e2-micro yalnızca yaklaşık 1 GB RAM sunduğu için 2 GB swap ekleyin:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileYeniden başlatma sonrasında da etkin olması için:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabKontrol edin:
free -hBeklenen değerler yaklaşık Mem: 964 MiB ve Swap: 2.0 GiB şeklindedir.
13. Docker ve Docker Compose kurun
Önce sistemi güncelleyin ve gereken paketleri kurun:
sudo apt update
sudo apt upgrade -y
sudo apt install -y ca-certificates curlDocker keyring’i hazırlayın:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.ascDocker deposunu ekleyin:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Architectures: amd64
Signed-By: /etc/apt/keyrings/docker.asc
EOFPaket listesini yenileyip Docker bileşenlerini kurun:
sudo apt update
sudo apt install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-pluginKullanıcınızı docker grubuna ekleyin, SSH oturumundan çıkın ve yeniden bağlanın:
sudo usermod -aG docker $USER
exit14. Docker kurulumunu test edin
docker --version
docker compose version
docker run --rm hello-worldHello from Docker! mesajını görüyorsanız Docker kurulumu tamamdır.
15. Windows’a Google Cloud CLI kurun
PowerShell’i açıp yükleyiciyi indirin ve çalıştırın:
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& "$env:Temp\GoogleCloudSDKInstaller.exe"Kurulumdan sonra yeni bir PowerShell açın; sürümü, oturumu ve proje seçimini kontrol edin:
gcloud --version
gcloud auth list
gcloud config set project shserv-test
gcloud config list16. Windows’tan IAP SSH bağlantısı kurun
İlk bağlantıyı şu komutla başlatın:
gcloud compute ssh shserv-test --zone=us-central1-a --tunnel-through-iapİlk kullanımda Google bir SSH key oluşturabilir. Bağlandıktan sonra kullanıcı adınızı öğrenip not edin ve oturumdan çıkın:
whoami
exitÖrnek kullanıcı adı: serda.
17. Windows OpenSSH ve anahtarları kontrol edin
PowerShell’de OpenSSH sürümünü ve Google’ın oluşturduğu anahtarları kontrol edin:
ssh -V
Get-ChildItem $env:USERPROFILE\.sshOpenSSH_for_Windows benzeri bir sürüm çıktısı ile google_compute_engine, google_compute_engine.pub ve google_compute_engine.ppk dosyalarını görmeniz beklenir.
18. Windows SSH config dosyasını düzenleyin
Düzenlenecek dosya:
C:\Users\<WINDOWS_KULLANICISI>\.ssh\configMevcut kayıtları silmeden önce dosyayı görüntüleyin:
Get-Content $env:USERPROFILE\.ssh\configArdından aşağıdaki kaydı ekleyin; User değerini whoami ile bulduğunuz kullanıcıyla değiştirin:
Host shserv-test
HostName shserv-test
User <WHOAMI_ILE_BULDUGUN_KULLANICI>
IdentityFile ~/.ssh/google_compute_engine
ProxyCommand gcloud.cmd compute start-iap-tunnel %h %p --listen-on-stdin --project=shserv-test --zone=us-central1-a --verbosity=warningKullanıcı serda ise örnek kayıt şöyledir:
Host shserv-test
HostName shserv-test
User serda
IdentityFile ~/.ssh/google_compute_engine
ProxyCommand gcloud.cmd compute start-iap-tunnel %h %p --listen-on-stdin --project=shserv-test --zone=us-central1-a --verbosity=warningBağlantıyı test edin:
ssh shserv-testPrompt serda@shserv-test:~$ biçiminde görünüyorsa ayar tamamdır.
19. VS Code Remote SSH ile bağlanın
VS Code’a Remote - SSH uzantısını kurun. Ardından:
Ctrl + Shift + P
Remote-SSH: Connect to Host
shserv-testİlk bağlantıda işletim sistemi sorulursa Linux seçin. VS Code artık Google Cloud VM üzerinde çalışır. Terminalde doğrulayın:
hostnameBeklenen çıktı: shserv-test.
20. Maliyet açısından kritik noktaları doğrulayın
Bu ücretsiz VPS/hosting yapılandırmasında e2-micro Free Tier bölgesinde olmalı; disk 30 GB pd-standard olmalı; public IPv4, snapshot, Cloud NAT, Load Balancer, Ops Agent ve KMS kullanılmamalıdır. Public IPv4 olmadığı için IPv4 saatlik ücreti oluşmaz.
İnternet outbound trafiği ayrıca ücretlendirme sınırlarına tabidir. External IPv6 trafik kullanımını şu ekrandan takip edin:
Billing
→ Reports
Filter:
Project: shserv-test
Service: Compute Engine
Group by: SKUFree Tier indirimi bazen VM Create ekranında değil, Billing raporlarında savings/credits olarak görünür. Ek güvenlik için Billing → Budgets & alerts bölümünden düşük tutarlı bir bütçe alarmı oluşturun.
Kurulum sonunda oluşan yapı
Google Cloud
└── shserv-test
├── us-central1-a
├── e2-micro
├── Debian 13
├── 30 GB pd-standard
├── 1 GB RAM
├── 2 GB Swap
├── External IPv4: YOK
├── External IPv6: VAR
├── SSH: Google IAP
├── Docker Engine
├── Docker Compose
└── VS Code Remote SSH hazırBu noktada ücret doğurma ihtimali düşük tutulmuş, IPv6 üzerinden internete çıkabilen ve IAP ile güvenli biçimde yönetilen ücretsiz Google Cloud VPS’iniz hazırdır. Bir sonraki aşamada uygulamanızı Docker Compose ile çalıştırabilir ve public IPv4 ya da yük dengeleyici eklemeden Cloudflare Tunnel üzerinden ücretsiz hosting benzeri bir yayın düzeni kurabilirsiniz.