Kısım 2 — EC2— AWS Solution Architect Associate Serisi

Ata Erdemir
5 min readJan 25, 2024

--

Herkese merhaba! Bir önceki yazımda AWS Solution Architect Associate Serisine başlamıştık. Bu yazımda en basit şekliyle EC2 Instance’ı nasıl ayağa kaldırılır ve ne gibi ayarlamalar yapılır gibi konuları ele alacağız. O halde başlayabiliriz.

EC2 Nedir?

https://awsegitimi.com/tr/blog/1354/amazon-ec2-nedir-ec2-neden-bu-kadar-onemlidir-ec2-/

İlk olarak EC2'yu tanımamız gerekir, EC2'nun açılımı “Elastic Computing Cloud” Amazon Web Services (AWS) tarafından sunulan ve sanal sunucular sağlayan bir hizmettir. EC2, bulut bilişim ortamında ölçeklenebilir ve esnek bir hesaplama kapasitesi sağlamak için tasarlanmıştır.

Amazon’un kendi tanımına göre; “Amazon Elastic Compute Cloud (Amazon EC2), bulutta güvenli, yeniden boyutlandırılabilen işlem kapasitesi sağlayan bir sanal sunucu hizmetidir. Çok basit bir şekilde ifade etmek gerekirse, bir işletim sistemi ve seçtiğiniz donanım bileşenlerine sahip bir makinedir ancak farkı tamamen sanallaştırılmış olmasıdır.” şeklindedir.

Temel olarak özelliklerinden bahsetmek gerekirse:

  1. Sanal Sunucular (Instances): EC2, kullanıcılara önceden yapılandırılmış sanal sunucular sağlar. Bu sanal sunucular, kullanıcıların ihtiyaçlarına uygun olarak ölçeklenebilir.
  2. Çeşitli İşlemciler ve Bellek Seçenekleri: EC2, farklı işlemci tipleri, bellek boyutları ve depolama seçenekleri sunar. Kullanıcılar ihtiyaçlarına en uygun sanal sunucuları seçebilirler.
  3. Ölçekleme: Kullanıcılar, ihtiyaçlarına göre sanal sunucularını çoğaltabilir veya azaltabilirler. Bu, talebe anında yanıt verme ve maliyeti optimize etme imkanı sağlar.
  4. Özel AMI’ler (Amazon Machine Images): Kullanıcılar, kendi uygulama ve konfigürasyonlarını içeren özel AMI’leri kullanarak EC2 örneklerini başlatabilirler.
  5. Farklı İşletim Sistemleri: EC2, Windows ve çeşitli Linux dağıtımları gibi farklı işletim sistemlerini destekler.
  6. Güvenlik Grupları ve Anahtar Çiftleri: EC2 kullanıcıları, güvenlik grupları ve SSH anahtar çiftleri gibi güvenlik önlemleri alarak sanal sunucularını güvenli bir şekilde yönetebilirler.

Amazon EC2, geniş bir uygulama yelpazesine uygun bir çözüm sunar ve kullanıcıların ihtiyaçlarına göre esneklik ve ölçeklenebilirlik sağlar.

EC2 Instance Kurulumu

Bir sanal makina ayağa kaldırmak için birden fazla yol vardır. Bunlardan bir tanesi management console üzerinden EC2 ile buttonlar yani GUI kullanarak ayarlama yapıp makina ayağa kaldırmaktır.

Arayüzden EC2 Instance başlatmak için ilk olarak “Bulut sunucusunu başlat” kısmına tıklayarak ilk adımı atabilirsiniz. Şimdi karşınıza çıkacak alan sizin EC2 Instance’ınız için gerekli ayarları yapacağınız yerdir.

Bu alanda sunucunuz için bir isim sorulmaktadır. Genelde “Best Practice” olarak önerilen; sunucuyu hangi amaç ile ayağa kaldırdıysanız, ona istinaden isimlendirilmesi şeklindedir.

Bu alanda EC2 Instance için bir işletim sistemini seçmeniz istenmektedir. Yukarıdaki görselde gördüklerinizin bir çoğu (macOS) hariç ücretsiz kullanıma uygun ibaresi ile etiketlenmiş ve kullanımı sırasında herhangi bir ödeme gerektirmemektedir.

Daha sonrasında bulut sunucuzun türünü seçmeniz gereken alana geleceksiniz. Bu alanda bulut sunucunuzun sahip olacağı altyapı bilgileri, vCPU, Storage, Bellek(RAM) gibi bilgileri içerir. Bunların kendi içinde kullanım amaçlarına uygun olarak çeşitleri vardır ancak büyük kısmı ücretlidir.

Buradaki t2.micro ne ifade ediyor diye kafanıza soru takılmış olabilir, hemen açıklayayım. t2.micro aşağıda görselde vereceğim örneğin aynısıdır. Örnekte sadece daha fazla kapasiteye sahip bir bulut sunucu türü seçilmiştir ve farklı isimle adlandırılmıştır.

İlk konum — İlk konum olan “c” (bizim seçtiğimiz sunucuda “t”ye tekabul etmektedir) , örnek ailesini belirtir. Bu, bu örneğin işlem için optimize edilmiş aileye ait olduğunu gösterir.

İkinci konum — İkinci konum (5), örneğin oluşturulduğunu gösterir. Bu örnek, beşinci nesil örneklere aittir. (t2)

Noktadan önce kalan harfler — Bu durumda n, yerel NVMe depolama gibi ek özellikleri belirtir.

After the Period — , After the Period, xlarge örnek boyutunu belirtir. Bu örnekte xlarge’dir.(t2.micro)

Bir sonraki aşamada ise karşınıza güvenlik amaçlı çıkacak bir Anahtar Çifti alanı ile karşılacaksınız.

Görseldeki açıklamadan da görüleceği üzere bulut sunucunuza uzaktan güvenli bağlantı için kullanabileceğiniz bir Anahtar Çifti oluşturmuş olacaksınız.

Son aşama olarak sunucunuzun ağ ayarlarının yapılacağı kısma erişmiş olacaksınız.

Bu hali ile kabul ederseniz “varsayılan” ayarlarla başlatır ancak ben ayarlarımı kendim yapmak istiyorum diyorsanız, sağ üst köşede “düzenle” kısmına tıklayarak müdahale edebilirsiniz.

Her sunucu yeni bir güvenlik grubu(firewall gibi düşünebilirsiniz) ayarlarıyla isimlendirilip gelmektedir. İçeriden hangi türde hangi protokolle hangi port’a nasıl erişim vermek istediğinizi yazabilir ve son olarak ayağa kaldırabilirsiniz ancak ayağa kaldırmadan önce son bir ayar daha yapabilirsiniz. Bu son ayarda storage miktarını manuel olarak girebileceğiniz bir alan mevcut. Görselini hemen aşağıda veriyorum.

Ancak buradaki önemli olan nokta, seçtiğiniz “ücretsiz kullanıma uygun” kriterlerinin üstüne çıktığınızda size ücret kesilecektir kullanımınıza istinaden.

Buraya kadar olan kısımda boot seçeneklerinden lisans yapılandırma, çekirdek kimliğinden üst veri sürümüne kadar her şeyi ayarlayabilirsiniz ancak benim göstermek istediğim esas nokta, kendi bash scriptiniz ile ön ayarları tanımlayıp sunucu ayağa kaldırmanızı sağlayacak alan aşağıda gösterdiğim alan olacak.

Örnek bir ön ayar scripti:

#!/bin/bash -ex
wget https://aws-tc-largeobjects.s3-us-west-2.amazonaws.com/DEV-AWS-MO-GCNv2/FlaskApp.zip
unzip FlaskApp.zip
cd FlaskApp/
yum -y install python3-pip
pip install -r requirements.txt
yum -y install stress
export PHOTOS_BUCKET=${SUB_PHOTOS_BUCKET}
export AWS_DEFAULT_REGION=<INSERT REGION HERE>
export DYNAMO_MODE=on
FLASK_APP=application.py /usr/local/bin/flask run --host=0.0.0.0 --port=80

Daha sonrasında aşağıdaki alanda makineniz pending pozisyonunda ayağa kalkmaya hazırlanacaktır.

Böylelikle basit bir AWS EC2 sunucusu ayağa kaldırmış olduk. Bu aşamada daha sonrasında sizlere AWS’in Shared Responsibility Model’ini ve nasıl işlediğini anlatacağım.

Teşekkürler.

--

--

Ata Erdemir
Ata Erdemir

Written by Ata Erdemir

An ordinary security guy and coffee addicted!

No responses yet