1. Ana Sayfa
  2. AWS
  3. AWS (Amazon Web Services) Nedir? – Nasıl Kullanılır, Terminoloji ve Kavramlar – Bölüm 1

AWS (Amazon Web Services) Nedir? – Nasıl Kullanılır, Terminoloji ve Kavramlar – Bölüm 1

AWS (Amazon Web Services) , Gartner’s Magic Quadrant’a göre Bulut Bilişim ve Depolama Hizmeti sunan Microsoft ve Google gibi büyük bir servis sağlayıcıdır. IaaS, SaaS, PaaS pazarında büyük rolü olan diğer servis sağlayıcıları ile rakip durumundadır. Bunların dışında ülkemizde pazar payı sağlayamasalar da iyi kalitede servis ve destek saylayan, globalde pazar payı daha düşük servis sağlayıcıları da mevcuttur. Bahsettiğim büyük oyuncuların bazı hizmetleri birbirine oldukça benzerken, bazı hizmetlerinde minor/major farklılıklar, yalınlık veya karmaşa gözlemek mümkündür. Bulut hizmeti satın alırken; Gartner raporu, servis sağlayıcının sizin çalıştığınız sektördeki referansları, hukuki zorunluklar, hizmetin sunulduğu coğrafi lokasyon, dikkat edilmesi gereken başlıca önemli noktalardır.


Resim-1

AWS hizmetleri aşağıdaki başlıklar(kategoriler) altında yer alıyor.

 

  • Compute
  • Storage & Content Delivery
  • Database
  • Networking
  • Administration & Security
  • Deployment & Management
  • Analytics
  • Application Services
  • Mobile Services
  • Enterprise Applications

 

Yazımda genel olarak AWS kullanımından, çeşitli kavramlardan ve terminolojiden bahsetmek istediğim için başlıklar altındaki servislerin bazılarını seçtim.

 

  • Compute > EC2
  • Storage & Content Delivery > S3,Storage Gateway, Elastic Block, Glacier
  • Database > RDS
  • Networking > VPC

 

AWS; bulut depolama servisleri olarak S3 (simple Storage service, object Storage service), elastic block store ve glacier gibi depolama seçenekleri sunar. Bunların dışında Storage Gateway hizmeti mevcut. Seçeneklerden genel olarak bahsedeyim.

AWS Storage

S3-Simple Storage Service:

S3; güvenli, ölçeklenebilir, obje tabanlı depolama hizmeti sunan AWS servisidir. Bu servisi kullanmak için ödemeniz gereken minimum tutar veya kurulum maliyeti yok. Tam olarak kullandığınız miktar kadar ödersiniz. S3 üzerinde alanlarınız, AWS içinde replicate edilerek hata toleransı sağlanır.

S3 depolama hizmetini tek başına kullanabileceğiniz gibi AWS EC2 servisi ile birlikte de kullanabilirsiniz. AWS EC2’yi alt kısımlarda açıklayacağım.


Resim-2

Gecikme(latency),maliyet veya çeşitli gereksinimler açısında, depolama alanını size uygun bir bölgede konumlandırmalısınız. Konumlandırabileceğiniz bölgeler şimdilik aşağıdaki gibidir.


Resim-3

S3 üzerinde oluşturduğunuz depolama alanında, çeşitli yapılandırmalara sahipsiniz.


Resim-4

Sunulan seçenekleri ile S3 üzerindeki alana erişimi, alanda depolanan verilerin versiyonlanmasını, yaşam döngüsünü yapılandırabilirsiniz. Bazılarını aşağıda detaylandırayım.


Resim-5

Permission belirlemek için üstteki seçimlerden faydalanabilirsiniz. Sanırım ilk etapta sıkça kullanılacak olan izinler kısmı olacak.


Resim-6

Web site hosting için uğrak noktalarınızdan biri bu kısım olacaktır.


Resim-7

S3 üzerinde depolanan verilerin eski versiyonlarına erişebilmek için devreye alınması gerekiyor.

EBS- Elastic Block Store:

EBS; EC2 ortamınız için Persistent Block Level depolama hizmeti sunan Amazon servisidir. EBS Volume’leri, kendi Availability Zone’u içinde kopyalanarak yüksek erişilebilirliğin yanında olası problemleri tolere eder hale gelmektedir.


Resim-8

Volume oluşturma aşamasında üstteki detayları belirleyebilirsiniz. Yazımda resmettiğim menüler AWS’nin yapacağı güncellemeler ile farklılaşabilir!

Glacier:

Amazon Glacier; veri arşivleme ve online yedekleme için oldukça düşük maliyetli ve güvenli depolama hizmetini sunan servistir. AWS web sitesinde belirtildiği üzere müşteriler, büyük yada küçük ölçekli verilerini $0.01 (gigabyte başına aylık) gibi bir ücrete bu alanda depolayabiliyorlar.

S3 depolama hizmetini kullanıyorsanız, Cold Data’yı(arşivlemek istediğiniz kısmı) Glacier üzerine aktararak depolama maliyetinizi optimize edebilirsiniz.

Aşağıdaki ekran görüntüsünde S3 üzerinde oluşturduğum bir alanı Lifecycle policy kısmı görünmektedir. Lifecycle policy ile yaşlanan objelerin Glacier üzerine alınabilmesi sağlanmaktadır.


Resim-9

Benzer şekilde şirketinizdeki Data’yı (arşivlenmek istenen Cold Data’yı) Glacier üzerinde tutarak depolama alanı maliyetinizi optimize edebilirsiniz. Glacier’i kullanmak için aşağıda görüldüğü üzere Vault oluşturarak başlayabiliyorsunuz.


Resim-10


Resim-11

Glacier hakkında genel diagram üstteki gibidir.

Storage Gateway:

Storage Gateway, şirketin veri merkezinde(on-premise) konumlandırılan bir Virtual Appliance’dır. Storage Gateway Virtual Appliance’ı şirketinizin veri merkezi ile AWS üzerinde depolama altyapısı arasında entegrasyon sağlar.

Bu konuda https://www.youtube.com/watch?v=Bb8nk0oWJbU adresindeki demo’yu inceleyebilirsiniz.

Depolama için sunulan seçeneklerden genel olarak bahsetmiş oldum. Seçtiğim başlıklardan ikincisini incelemiş oldum. Neden ikincisi ile başladık? Depolama alanı olmadan ne yapılabilir ki J Seçtiğim başlıklardan bir diğeri ile devam edeyim.

AWS EC2

Elastic Cloud Computing-EC2, tüketiciye ve kuruma AWS üzerinde sanal sunucu, sanal Network, sanal depolama alanı vb. ortamı sağlayan(kısaca Compute Capacity veya Virtual Server Infrastructure diyebiliriz) bir web servisidir.

EC2; Instance (VM’ler), Image (ami-amazon Machine Image), Storage, Network, Security, Scaling kısımlarından oluşur. Bu kısımları kısaca açıklayayım. Network ve Security kısımları, EC2 dışında ayrı bir AWS başlığı altında(VPC) da geçmektedir. EC2 içinde geçen Network&Security kapsamı Instance (Virtual Machine) seviyesindedir. Diğer kısımda geçen kapsam daha farklıdır. İlerleyen aşamalarda bahsedeceğim.

Instance: Azure karşılığı sanal sunucudur J . Intance = Virtual Server/Machine . EC2 içinde bir Instance oluşturmadan önce kullandığınız region’a dikkat ediniz. Test ortamımı Frankfurt bölgesinde açmıştım.

Image: Virtual Machine Image’larıdır. Amazon’daki ismi AMI’dir. Amazon Machine Image şeklinde isimlendirilir.


Resim-12

Amazon üzerinde hazırlanmış Image’ları kullanabilirsiniz veya daha önce hazırladığınız Image’larınızı kayıt ettirdikten sonra kullanabilirsiniz. Azure’da da benzer durum mevcuttu.

Network ve Security: Bu kısım Instance ve Instance’a ait bir Network interface seviyesinde Network ve Security kapsamının belirlendiği kısımdır. Instance’ın kullanacağı Public IP adresi, Inbound veya outbound trafik filtreleri, load balancer, Instance’a erişim için kullanılacak key pairs, Network interface ayarları bu kısımdan yapılandırılıyor.

EC2 kapsamında özetle şu işlemleri yapıyoruz:

 

  • Sanal sunucu oluşturma işlemi ve disk Image’larının yönetimi
  • EBS yönetimi (Volume ve Snapshot ‘lar)
  • Instance (sanal sunucu) seviyesinde Security group yönetimi, Network interface’ler ve ip adreslerinin yapılandırılması

 

Seçtiğim başlıklardan bir diğeri ile devam edeyim.

AWS Database

AWS’de sunulan Database servislerinden biri RDS’dir. RDS ile MySQL, PostgreSQL, Oracle, Microsoft SQL Server seçenekleri sunuluyor. AWS Database hizmetleri arasında çalışma fırsatı bulduğum hizmet RDS hizmetidir. Diğer seçenekler ile çalışma fırsatım olmadı.

Genel olarak aşağıdaki adımlar ile RDS altındaki bir Database oluşturabilirsiniz.


Resim-13

RDS yapısında oluşturacağınız MS SQL Server Instance’i ile ilgili çeşitli yapılandırmaları üstteki gibi yapabiliyorsunuz. Bu aşamada, daha önceden Subnet group oluşturmuş olmalısınız. “Launch DB Instance” ile devam ediniz.


Resim-14

RDS üzerinde DB Instance oluşturulduktan sonra, endpoint adresi ile Instance’a bağlanabilirsiniz. Erişim için Instance oluşturma sırasında belirlediğiniz username ve password’ü kullanıyorsunuz.


Resim-15

Üstte görüldüğü üzere, SQL Management Studio’dan, AWS RDS’de oluşturduğum Microsoft SQL Server Database Instance’ına bağlandım. Benzer şekilde Oracle, Postgresql veya MySQL Instance’larını da test edebilirsiniz.

AWS sunulan Database hizmeti seçenekleri aşağıdaki gibidir.


Resim-16

Seçtiğim diğer başlıkla, Network ile devam edeyim.

AWS Network

AWS Network servisi; VPC, Direct Connect, Route 53 seçeneklerinden oluşuyor. Bu yazımda VPC’den bahsedeceğim.

Virtual Private Cloud (VPC): VPC ile Amazon Cloud ‘u içinde kendi alanınızı (boundry) belirleyerek bu alan içinde bulut sisteminizi oluşturup yönetiyorsunuz. AWS Cloud’u üzerinde çalıştırdığınız kaynakları (sunucularınızı, web uygulamalarını vb.) şirketinizdeki veri merkezine, endüstri standardı IPSec VPN bağlantısı ile bağlayabiliyorsunuz. Site to Site VPN konusunda ayrıca bir yazı hazırlıyorum. Bu kısımda detaya girmeyeceğim. AWS VPC tarafında yapılandırmalardan genel olarak bahsedeyim. VPC ile Amazon Cloud içinde kendi sınırlarınızı belirlediğinizden bahsetmiştim.

IP Subnet’inizi belirleyerek VPC’nizi oluşturmaya başlayabilirsiniz.


Resim-17

Örneğin 10.0.0.0/16 cidr (classles inter-domain routing) bloğu ile sınırlı VPC’niz altında 10.0.0.0/24 , 10.0.1.0/24 veya 10.0.2.0/24 gibi Subnet’ler oluşturup kullanabilirsiniz. Oluşturduğunuz Subnet’ler VPC ile ilişkilendirilir. Subnet’ler hakkında bir ekran alıntısı aşağıdaki gibidir.


Resim-18

VPC’nizde yapılandırabileceğiniz bir başka kısım da Routing Table ‘dır. VPC’nizdeki routing table altında, o VPC’den (örneğin VPC’deki Instance’lardan) hangi Destination’a giderken hangi hedefi/yolu kullanacağınızı belirliyorsunuz.


Resim-19

Üstteki örnekte,

 

  • 10.0.0.0/16 hedef Network’üne erişilirken local kullanılacak.Yani VPC içindeyiz.
  • 172.16.0.0/16 hedef Network’üne erişilirken i-ae18 kodlu Instance’ın eni-a4a kodlu Network interface’i kullanılacak. Bu Instance test ortamımdaki VPN    Gateway’dir. Bahsettiğim interface ise VPN Gateway’in Internete açıldığı interface’dir.
  • 0.0.0.0/0 hedef Network’üne giderken igw-a4a kodlu internet Gateway’im kullanılacak. Bu internet Gateway VPC Boundery’sinin dışına çıkmak için kullanılan Gateway’dir.

 

AWS Cloud ‘unda kendi VPC sisteminizi yapılandırırken, Interget Gateway objesi oluşturarak VPC’niz ile eşleştiriyorsunuz.


Resim-20

Bu sayede VPC <-> Internet bağlantısını sağlıyorsunuz. Site to Site VPN senaryolarında erişim biçimleri farklılaşabilir.

VPC kapsamındaki bir diğer konfigürasyon DHCP option yapılandırmasıdır.


Resim-21

Varsayılan olarak bir DHCP Options set yapılandırılmış durumdadır.


Resim-22

VPC kapsamında bir başka önemli yapılandırma bölümü Elactic IPs kısmıdır. Bu kısımda Instance’ın Network interface’ine atanacak Public IP adresini belirliyorsunuz. Instance, internete erişecekse veya internet’ten bu Instance’a erişilecekse, Elastic IP yapılandırması gerekiyor!


Resim-23

Bir Elastic IP aldıktan sonra bu ip adresini bir Instance’ın interface’i ile ilişkilendiriyorsunuz. Dolayısıyla, AWS Cloud’u içindeki VPC’nizde çalışan Instance bir veya daha fazla Public IP adresine sahip olmuş oluyor(bu şekilde bir ihtiyacınız olmayabilir).

AWS üzerinde bir internet üzerinden erişilebilir bir RDS hizmeti kullanacaksanız, VPC seviyesinde DNS isim çözümlemesi yapılandırması gerekecek.


Resim-24

DNS isim çözümlemesini üstteki şekilde modifiye edebilirsiniz.

VPC seviyesindeki bir diğer yapılandırma kısmı Peering Connection kısmıdır. AWS Cloud hesabınızda kullandığınız iki VPC arasında veya bir başka AWS Cloud hesabında (aynı Region içinde) çalışan VPC arasında, AWS sisteminden çıkmadan iletişim kurma imkanı sunar. Peer VPC’ler, private ip adreslerinden birbirlerine erişmiş olur. AWS sitesinde belirtildiği üzere, bu iletişimde “single point of failure” veya “Bandwidth Bottleneck” yoktur.

VPC seviyesinde güvenlik yapılandırması anlamında Network Access Control List ve Security groups konfigürasyonları mevcut. Network ACL ile Inbound ve Outbound yönde kurallar yazabiliyorsunuz. Security Groups yapılandırmasında da benzer şekilde kurallar yazabiliyorsunuz. Her ikisini de birer firewall olarak düşünebilirsiniz. Network ACL ile izin veren veya engelleyen kurallar yazabiliyorken, Security groups ile sadece izin veren kurallar yazabiliyorsunuz. Network ACL Subnet seviyesinde çalışırken Security groups Instance seviyesinde çalışıyor. Security groups yapılandırması stateful çalışıyor, yani dönüş trafiğine otomatik olarak izin veriliyor. Network ACL Stateless çalışıyor, dönüş trafiği için açıkça kural yazmalısınız. Her iki seçenek farklı katmanlarda sıralı olarak devreye giriyor. Security groups, kurulumu sırasında ve/ya daha sonra Instance’a uygulanıyor. Network ACL, Subnet ile ilişiklendirilmiş tüm Instance’lara otomatik olarak uygulanıyor.

Aşağıdaki tabloda, AWS Cloud’undaki size ait alana erişilirken, Network ACL ve Security Groups yapılarının çalıştığı katmanlar resmedilmiş.


Resim-25

Diagramı şu şekilde yorumlayabiliriz.

 

  • Internet Gateway’ine gelen trafik, routing table’daki route’lara göre ilgili Subnet’e route edilir. Subnet seviyesindeki ilgili Network ACL, izin verilecek veya engellenecek trafiği kontrol eder.
  • Network ACL’e göre izinli trafik Instance gönderilir.
  • Intance’a gelen trafik, ilişikli olduğu Security groups’da tanımlı kurallara göre serbest bırakılır veya engellenir.

 

Azure ile karşılaştırıldığında VPC kapsamındaki Network ve güvenlik altyapısının daha esnek ve yapılandırılabilir olduğunu düşünüyorum. Daha önce de bahsettiğim üzere VPN Gateway konusunu ayrıca inceleyeceğim.

AWS Cloud’unda VPC konseptini incelemiş olduk.

Yazının geneline baktımızda, AWS’de seçtiğim aşağıdaki başlıkları incelemiş olduk.

 

  • Compute (EC2{Instance,ami,ebs,Security groups,elastic ip vb.})
  • Storage (S3,Storage Gateway,Glacier,Elastic Block Store)
  • Database (RDS)
  • Networking (VPC) katmanlarını incelemiş olduk.

 

Şimdi AWS Cloud’unda çalışırken işe yarayabileceğini düşündüğüm bir kaç kodlamadan bahsederek yazımı tamamlayayım. AWS Cloud’unda, müşteri/kurum tarafından oluşturulan her servisin bir ID’si mevcut. Bu ID’ler ilk etapta karışıklığa sebep olabilir. Tabiki tüm objelerden bir çırpıda bahsetmek mümkün değil! Sıkça kullanılan bazı objelerden örnekler vereceğim.

i- şeklinde başlayan ID’ler Instance’ı göstermektedir.

vol- şeklinde başlayan ID’ler volume’ü göstermektedir.

sg- şeklinde başlayan ID’ler Security group’u göstermektedir.

eni- şeklinde başlayan ID’ler Network interface’i göstermektedir.

vpc- şeklinde başlayan ID’ler Virtual private Cloud’u göstermektedir.

rtb- şeklinde başlayan ID’ler routing table’ı göstermektedir.

Diğer ID’ler ilk bakışta oldukça anlaşılır olduğundan, alışana kadarki süreçte üsttekileri göz önüne almanız yeterli olacaktır J

Herkese sorunsuz ve neşeli günler dilerim.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

http://aws.amazon.com

http://docs.aws.amazon.com

http://calculator.s3.amazonaws.com/index.html

Yorum Yap

Yazar Hakkında

1981'de Isparta’da doğdum. Üniversiteye kadar yaşantım Isparta'da devam etti. Lisansımı ve Yüksek Lisansımı Yıldız Teknik Üniversitesinde tamamladım. Windows NT'nin zamanının geçip Windows 2000 Server ve Client tarafının yaygınlaşmaya başladığı dönemlerde Microsoft sertifikasyon eğitimleri ile amatörce ilgilendiğim Bilişim Teknolojileri alanında, profesyonelliğe doğru ilerleyişim başladı. Lisans eğitimimin son zamanlarında ve yüksek lisansım ilk yılında freelance olarak çalıştım. 2006'in ilk çeyreğinden itibaren Bilge Adam Bilgi Teknolojileri Akademisi’nde Microsoft Sertifikasyon eğitimleri vermeye bağladım. Ardından Ankara Kızılay şubesinde 2 yıl Sistem ve Ağ Uzmanlığı departmanında Bölüm Başkan Yardımcılığı yaptım. Bilge Adam Kurumsal’da MS Sistem ve Platform kısmında Danışmanlık ve Eğitim hizmetleri ile Bilge Adam macerama devam ettim. Son 1.5 yıl kurumum adına Savunma Teknolojileri Mühendisliği A.Ş. 'ye MS Sistem ve Platform, Vmware Infrastructure (ESXi, vSphere) , Endpoint Security & Content Gateways (Checkpoint & Websense) , Network Infrastructure (Cisco Systems - Routing & Switching) alanlarında danışmanlık hizmeti verdim. Şu an SYMTURK firmasında Enterprise Vault ve Altiris CMS ürünlerinde danışmanlık hizmetine devam ediyorum. Vakit ayırabildiğim ölçüde eşimle WoW oynuyorum.

Yorum Yap

Yorumlar (1)

  1. 4 sene önce

    Teşekkrüler güzel bir kaynak olmuş, elinize sağlık.