Hesap açılışı yaklaşık 5 dakikada tamamlayabileceğiniz bir süreç. Ama öncesinde biraz fiyatlardan bahsedelim.
Ücretlendirme
AWS’teki pek çok servis, belli koşullar dahilinde ücretsiz (free tier). Üç farklı ücretsiz kullanım türü sunuluyor:
Bazı servislerin kısa bir süre için deneme periyodu oluyor.
Eğer AWS hesabınızı yeni açtıysanız, çoğu serviste 12 aylık ücretsiz kullanım hakkınız bulunuyor.
Yine bazı servislere özel olmak koşuluyla, ister yeni müşteri olun ister eski, sürekli devam eden bir ücretsiz kullanım kotanız bulunuyor.
AWS’in ücretsiz kullanım kotaları cömert. Mesela en sık kullanılan servislerden biri olan S3 için şöyle bir güzellik yapmışlar:
12 ay boyunca 5GB depolama alanı
Her ay için 20.000 adet GET ve 2.000 adet PUT request’i ücretsiz kullanıma dahil. Bu ne demek: bir ay içinde toplamda 2.000 farklı nesneyi S3’te saklayabilirsiniz ve bu nesnelere toplam 20.000 kere ulaşıp indirebilirsiniz.
Yine her ay için 100 GB’a kadar dışarıya veri transferi de ücretsiz (S3’ten bir nesneyi AWS networkü dışına çıkardığınızda, bu veri transferi hakkınızdan gidiyor)
S3’ün ücretsiz kotalarıyla kişisel web sitenizi bedava host edebilirsiniz. Bir seneden sonra da eğer fazla trafik alan bir sayfa değilse iki-üç lira gibi çok cüzi bir fatura gelecektir.
AWS üzerinde pek çok hobi projem var ve yıllardır sıfır (0) TL fatura geliyor. Free tier gerçekten faydalı.
Açılış Süreci
Hesap açmak için gerekenler:
Email adresi
Kredi kartı
Telefon numarası
Adınız, soyadınız ve adres bilgileriniz
Dedenizin kızlık soyadı
Noter tasdikli vukuatlı nüfus kayıt örneği
(İlk dördü gerçek, son ikisi şaka)
Bunlar hazırsa, https://aws.amazon.com adresinden “Get started for free” butonuna tıklayarak süreci başlatabilirsiniz.
Gelen sayfada aşağı doğru scroll edip, “free tier” kapsamındaki koşulları ve kullanım kotalarının detayını görebilirsiniz.
“Create a Free Account” butonuna tıklayarak gelen ekranda email adresinizi ve hesaba vermek istediğiniz ismi seçiyorsunuz.
“Verify email address” butonuna tıkladığınızda emailinize bir doğrulama kodu gelecek, bir sonraki ekranda bu kodu girerek sürece devam edin.
“Root” kullanıcı şifresini belirleyin ve şifrenizi güvenli bir şekilde saklayın. AWS üzerindeki servisleri kullanabilmek için “kullanıcı”lar gerekiyor ve her AWS hesabının mutlaka bir “root” kullanıcısı bulunuyor. Genellikle root’un, hesabı açıp daha sonra bir “admin” kullanıcısı oluşturmak haricinde kullanılması tavsiye edilmiyor. Çok geniş yetkileri olduğu için, herhangi bir şifre çalınma durumunda hesap elden gider. Kötü niyetli birileri hesabınızı kullanarak faturanızı şişirebilir, milleti spamlayabilir, yasadışı işler yapabilir. Bu yüzden, hesap açıldıktan sonra birazdan aşağıda anlatacağım şekilde yeni bir “admin” kullanıcısı oluşturacağız. Şimdilik root ile devam.
Şifrenizi belirlediyseniz, sırada iletişim bilgileriniz var. İsterseniz sağ üst köşede “Dil” seçeneğinden Türkçe’yi seçip devam edebilirsiniz. İletişim bilgileri ekranında, eğer bir kurum adına açmıyorsanız hesabı “kişisel” olarak seçin.
İletişim bilgilerinizi girdikten sonra gelen ekranda kredi kartı bilgilerinizi girmeniz istenecek. Tavsiyem sanal bir kredi kartı oluşturup bunu kullanmanız. Bu aşamada kartınızı doğrulamak için 1 TL (1 dolar deniyor ama ben denediğimde 1 TL çekildi) çekilecek karttan. Birkaç gün içinde de iade ediliyor bu ücret.
Eğer 3d secure açıksa sizden bir onay kodu isteyecek, bu onay ekranında 1 TL’lik tutarı görebilirsiniz. Kredi kartınız doğrulandıktan sonra sizden müşteri türünü seçmenizi isteyecek. Eğer bir kurum adına açmıyorsanız hesabı, “bireysel” seçeneğini işaretleyip TCKN numaram yok diyerek hızlı bir şekilde bu ekranı geçebilirsiniz.
Bir sonraki adımda sizden telefon numaranızı doğrulamanız istenecek.
Son adımda ise bir destek planı seçmeniz isteniyor, ücretsiz olarak gelen “basic support” seçeneğiyle hesabınızı açabilirsiniz.
AWS konsol deneyiminizi özelleştirmek için sizden rolünüzü ve ilgi alanlarınızı isteyecektir.
Yeni hesabınız hayırlı olsun! AWS hesap numaranızı (account ID) ve root kullanıcı email/şifrenizi bir kenara not etmeyi unutmayın.
Konsolu keşfetmeye başlayabilirsiniz. Yukarıdaki arama çubuğuna istediğiniz servisi yazıp ilgili servis sayfasını açabilirsiniz. Mesela S3 yazıp, “Simple Storage Service” sayfasına gidebilirsiniz.
Fatura Alarmı
Hesap açılışından sonra yapacağınız ilk iş “Billing” servisinden bir fatura alarmı oluşturmak olsun. https://us-east-1.console.aws.amazon.com/costmanagement/home?region=eu-north-1#/home sayfasını açın ve burada tavsiye edilen aksiyonlar kısmında “Create budget” bağlantısına tıklayın. Gelen ekranda bildirim almak istediğiniz email adresinizi yazın. Böylece 1 kuruşluk bir harcama olsa bile emailinize bir bildirim gelecektir. Bu sayede eğer unuttuğunuz veya istemediğiniz bir kullanım varsa gereken tedbiri erkenden alabilirsiniz.
Gönül isterdi ki AWS fatura limiti koymamıza izin versin. Her ne kadar “billing alarm” ile olası bir fazla harcamadan hemen haberdar olsak da, maalesef harcama limiti koyulamıyor. O yüzden ekstra bir tedbir olarak hesap açılışında sanal kartınızı girin ve kartın limitini düşürün.
IAM ve Kullanıcılar
AWS’in kullanıcı ve yetki yönetim servisinin adı IAM. Bu servis ile gerçek kullanıcılar ve uygulama kullanıcıları için istediğiniz yetkileri belirleyebilirsiniz.
Kullanıcı grupları oluşturup bu şekilde kullanıcıları türlerine göre ayırabilirsiniz. İstediğiniz kullanıcılara yetkileri gruplar aracılığıyla da verebilirsiniz, doğrudan kullanıcıya yetki atayarak da verebilirsiniz. Eğer pek çok farklı kullanıcı türleriniz olacaksa, gruplar yetki yönetimini biraz daha kolaylaştırıyor. Ama kişisel kullanım için çok da gerekli değil.
Yetkiler “policy” adı verilen ve JSON ile tanımlanan yapılarla temsil ediliyor. Kendi özel policy’lerinizi oluşturabilirsiniz. Ayrıca AWS tarafından sağlanan önceden tanımlanmış policy’ler de var. Mesela kullanıcınıza S3 için okuma izni verecekseniz, hazırdaki şu policy işinizi görecektir: “AmazonS3ReadOnlyAccess”.
Yeni Kullanıcı
Yukarıda bahsettiğim gibi, root kullanıcısını bir kenara bırakabilmek için kendimize bir “admin” kullanıcısı oluşturalım. IAM ekranında kullanıcı isminizi ve şifrenizi seçin.
Şimdi kullanıcınızın yetkilerini belirleyeceksiniz. Burada isterseniz bir “grup” oluşturabilirsiniz veya mevcut bir kullanıcının yetkilerini kopyalayabilirsiniz. Ya da benim seçtiğim gibi “Attach policies directly” diyerek AWS’in hazır sunduğu policy’lerden seçebilirsiniz. Ben bu şekilde “AdministratorAccess” yetkilerini seçtim. Her policy için yandaki + işaretine tıklayarak detaylarını görebilirsiniz. Mesela AdministratorAccess şöyle tanımlanmış:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
Kullanıcınızı oluşturduktan sonra size bir “sign-in” URL verecek. Örnek vermek gerekirse, eğer hesap numaranız 12345 ise bağlantınız https://12345.signin.aws.amazon.com/console oluyor. Hesabınıza özel olan bu URL’i bookmarklamanızı tavsiye ederim. Bu bağlantıyı kullanarak yeni oluşturduğunuz kullanıcıyla konsola giriş yapabilirsiniz. Ya da https://console.aws.amazon.com üzerinden gelip account ID (örneğimizde 12345) ve yeni oluşturduğunuz kullanıcı adını girerek login olabilirsiniz.
Son olarak, root kullanıcısı ve oluşturacağınız diğer tüm konsol kullanıcıları için MFA özelliğini açıp güvenliği biraz daha sıkılaştırabilirsiniz. Bunun için, https://us-east-1.console.aws.amazon.com/iam/home?region=eu-north-1#/home bağlantısından yetkilendirme ve kullanıcı servisi olan IAM'i açın ve “Add MFA” butonuna tıklayın. MFA için cep telefonunuza kurabileceğiniz çeşitli uygulamalar (“authenticator app”) bulunuyor. Ya da “Passkey” kullanarak parmak izi veya yüz tanımayla da bir MFA yöntemi oluşturabilirsiniz.
AWS Organizations
“AWS Organizations” ile birden fazla AWS hesabını ortak bir ana hesaptan yönetebilirsiniz ve bu organizasyonlardaki kullanıcıların farklı hesaplara erişimini sağlayabilirsiniz. Bütün bunlar kişisel hesaplar için çok gerekli olmasa da, eğer büyük bir şirketseniz her bir departmanın veya her bir ekibin, hatta her bir yazılımcının ayrı bir AWS hesabı olacak şekilde bir yapı kurabilirsiniz. Bu tarz ihtiyaçlar için AWS Organizations hizmetini kullanmanız gerekiyor.
Kapanış
Hesap kapanışı değil, yazıyı kapatıyorum. Şimdi gidin ve yeni hesabınızla güzel uygulamalar geliştirin, konsolu kurcalayın. Başlangıç için şu servislere bakmanızı tavsiye ederim
S3 (object storage)
CloudFront (CDN)
SQS (queue)
SNS (pubsub)
Lambda (serverless)
API Gateway
RDS (SQL)
DynamoDB (NoSQL)
CloudWatch (monitoring)
CloudFormation (IaC)