Merih Forum Programlama ve yazılım algoritmalar programlama AWS (Amazon Web Services) Nedir? – Nasıl Kullanılır, Terminoloji ve Kavramlar – Bölüm

ABD Münbiçi bırakır mı ?

ABD, Münbiçin yarısı sizde yarısı bizde kalsın dedi

SON 20 YILDA OSCAR KAZANAN KADINLAR

Son 20 yılda En İyi Kadın Oyuncu kategorisinde Oscar kazanan oyuncuların listesi...

AFRİN HAREKATI

Zeytin Dalı Harekatında teröristlerden temizlenen bölge artıyor

Silkroad XIAN

Silkroad sevdalıları için bir server

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
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.
032215_1959_AWSAmazonWe1.jpg
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.
032215_1959_AWSAmazonWe2.png
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.
032215_1959_AWSAmazonWe3.png
Resim-3

S3 üzerinde oluşturduğunuz depolama alanında, çeşitli yapılandırmalara sahipsiniz.
032215_1959_AWSAmazonWe4.png
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.
032215_1959_AWSAmazonWe5.png
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.
032215_1959_AWSAmazonWe6.png
Resim-6

Web site hosting için uğrak noktalarınızdan biri bu kısım olacaktır.
032215_1959_AWSAmazonWe7.png
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.
032215_1959_AWSAmazonWe8.png
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.
032215_1959_AWSAmazonWe9.png
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.
032215_1959_AWSAmazonWe10.png
Resim-10

032215_1959_AWSAmazonWe11.png
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), StorageNetworkSecurityScalingkı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.
032215_1959_AWSAmazonWe12.png
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.
032215_1959_AWSAmazonWe13.png
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.
032215_1959_AWSAmazonWe14.png
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.
032215_1959_AWSAmazonWe15.png
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.
032215_1959_AWSAmazonWe16.png
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.
032215_1959_AWSAmazonWe17.png
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.
032215_1959_AWSAmazonWe18.png
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.
032215_1959_AWSAmazonWe19.png
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.
032215_1959_AWSAmazonWe20.png
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.
032215_1959_AWSAmazonWe21.png
Resim-21

Varsayılan olarak bir DHCP Options set yapılandırılmış durumdadır.
032215_1959_AWSAmazonWe22.png
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!
032215_1959_AWSAmazonWe23.png
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.
032215_1959_AWSAmazonWe24.png
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ş.
032215_1959_AWSAmazonWe25.png
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.

Referanslar
www.mshowto.org
http://aws.amazon.com
http://docs.aws.amazon.com
http://calculator.s3.amazonaws.com/index.html
http://forum.mshowto.org 



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firebase nedir? Avantajları nelerdir? comrate 0 1,030 17-09-2017, Saat: 16:19
Son Yorum: comrate
  ORM Object Relational Mapping Nedir? sempatik141 0 1,069 11-06-2017, Saat: 22:37
Son Yorum: sempatik141
  SAP Erp nedir? Ne işe yarar? tuğrul 0 1,359 09-05-2017, Saat: 12:13
Son Yorum: tuğrul
  Git nasıl kullanılır? Git Kullanımı! tuğrul 0 991 09-05-2017, Saat: 12:00
Son Yorum: tuğrul
  Sürüm, versiyon kontrol sistemleri arasında yer alan Git nedir? tuğrul 0 1,040 09-05-2017, Saat: 11:59
Son Yorum: tuğrul

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2018 Tüm hakları saklıdır.