Last updated on 14 Mayıs 2020
Selamlar,
Bu yazımızda Google Cloud Platform üzerinde sanal makineler oluşturacağız ve bu sanal makineler arasındaki bağlantıları sağlayıp birbirleri arasında iletişim kurmalarını ele alacağız.
Navigation menü üzerinden Compute Engine -> VM instances menüsüne giriş sağlayalım. Önümüze gelen sayfa üzerinden Create butonu aracılığıyla Create an Instance sayfasına ulaşacağız. Instance adını my-vm-1 olarak değiştiriyorum. Region ve Zone alanlarını aynı şekilde bırakıyorum. Machine type alanında varsayılan ayarlarla bırakıp devam ediyorum. Boot disk imajını Debian GNU/Linux 9 (stretch) seçerek güncelleştiriyorum. Testimde bu imajı kullanacağım.
Sunucum üzerinde HTTP servisi aracılığıyla test yapacağım. Bu yüzden Firewall sekmesinden Allow HTTP traffic seçeneğini seçerek 80 portunu açalım.
Create butonu aracılığıyla sanal makinamızı oluşturalım.
İkinci sanal makinamızı Cloud Shell aracılığıyla oluşturalım. Bu işlemi gerçekleştirmek için Google Cloud Platform menüzü üzerinde bulunan Active Cloud Shell butonuna basalım.
Kullanabileceğimiz bölge listelerini görebilmek için ” gcloud compute zones list | grep ” komutu aracılığıyla istemiş olduğumuz bölgeyi aratabiliriz.
İlk makinemizde US-Central1 bölgesini seçmiştik. Hangi bölgeleri kullanabiliriz aşağıdaki komut ile kontrol edebiliriz.
gcloud compute zones list | grep us-central1
Listeden farklı bir bölge seçip varsayılan alanımızı seçtiğimiz yeni bölge ile güncelleyelim. gcloud config set compute/zone komutu ile kullanabiliriz.
gcloud config set compute/zone us-central1-b
Aşağıdaki komut aracılığıyla adı my-vm-2 olan, n1-standard tipinde debian 9 stretch imajını kullanarak network yapılandırmasını da default olarak bırakarak yeni bir makine oluşturuyoruz.
gcloud compute instances create “my-vm-2” \ –machine-type “n1-standard-1” \ –image-project “debian-cloud” \ –image “debian-9-stretch-v20190213” \ –subnet “default”
Tekrardan Navigation menü üzerinden Compute Engine -> Vm Instances alanına girelim. İki sanal makinemiz var ikisi de farklı bölgeler/zone üzerinde ancak aynı subnet içerisindeler. Farklı bölgelerde olsalar dahi Google Cloud VPC’de aynı alt ağdalar.
Sanal makineler üzerinden my-vm-2’ye SSH üzerinden bağlanalım ve my-vm-2 üzerinden my-vm-1 ‘e ping atalım. Ping komutunun çıktısının my-vm-1.c.proje_id.internal olduğuna dikkat edelim, burada Project_id GCP projemizin adıdır. GCP, sanal makinelerin ip adresleri için DNS çözme işlemini otomatik olarak sağlar.
my-vm-2 üzerinden my-vm-1’e ssh bağlantısı yapalım.
ssh my-vm-1
my-vm-1′ makinamızın üzerine Nginx web server kurulumu yapalım.
sudo apt-get install nginx-light -y
Nano editör aracılığıyla nginx sayfası üzerinde değişiklik yapalım.
sudo nano /var/www/html/index.nginx-debian.html
H1 başlık alanında değişiklik yaptım. CTRL+O komutu ile değişikliği kayıt edip, CTRL+X aracılığıyla editörden çıkış yapıyoruz. curl komutu ile web serverimizi test edelim.
curl http://localhost/
Exit komutu ile my-vm-1 makinemizden ssh bağlantımızı kapatalım. Geri my-wm-2 makinemizin komut satırına geldik.
my-vm-2 üzerinden vm-1 makinası üzerindeki web server testini sağlayarak kurulum esnasında izin verdiğimiz firewall kuralı ve iç ağ testimizi tekrardan yenilemiş olalım.
curl http://my-vm-1/
Başka bir yazımızda görüşmek üzere,