Google Cloud Ücretsiz VPS ve Hosting Sunucusu Kurulumu

Serdar HocamYazar & Editör

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.

⏱ 18 dk ◉ 28 okunma
Google Cloud Ücretsiz VPS ve Hosting Sunucusu Kurulumu

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-standard disk, 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
→ SSH

Terminal açıldığında aşağıdaki kontrolleri çalıştırın:

whoami
hostname
free -h
df -h

Yaklaşı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 /swapfile

Yeniden başlatma sonrasında da etkin olması için:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Kontrol edin:

free -h

Beklenen 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 curl

Docker 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.asc

Docker 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
EOF

Paket 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-plugin

Kullanıcınızı docker grubuna ekleyin, SSH oturumundan çıkın ve yeniden bağlanın:

sudo usermod -aG docker $USER
exit

14. Docker kurulumunu test edin

docker --version
docker compose version
docker run --rm hello-world

Hello 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 list

16. 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\.ssh

OpenSSH_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\config

Mevcut kayıtları silmeden önce dosyayı görüntüleyin:

Get-Content $env:USERPROFILE\.ssh\config

Ardı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=warning

Kullanı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=warning

Bağlantıyı test edin:

ssh shserv-test

Prompt 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:

hostname

Beklenen çı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: SKU

Free 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ır

Bu 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.