Amazon API Gateway Hakkında SSS
Genel
Amazon API Ağ Geçidi nedir?
Amazon API Gateway, yazılım geliştiriciler tarafından istenen ölçekte API yayımlanmasını, API’lerin izlenmesini, bakımının yapılmasını ve güvenliğinin sağlanmasını mümkün kılan, tam olarak yönetilen bir hizmettir. AWS Management Console'da birkaç tıklamayla uygulamalarınızın arka uç hizmetlerinizdeki (Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) veya AWS Elastic Beanstalk üzerinde çalışan uygulamalar, AWS Lambda üzerinde çalışan kod veya herhangi bir web uygulaması) verilere, iş mantığına ya da işlevlere erişmesi için "ön kapı" görevi gören bir API oluşturabilirsiniz. Amazon API Gateway, yüz binlerce API çağrısının kabul edilip işlenmesi için gerekli olan trafik yönetimi, yetkilendirme ve erişim denetimi, izleme, API sürüm yönetimi dahil olmak üzere tüm görevleri üstlenir. Amazon API Gateway'de minimum ücret veya peşin maliyet yoktur. HTTP API'leri ile REST API'leri için yalnızca aldığınız API çağrıları ve dışarı aktarılan veri miktarı karşılığında ücret ödersiniz. WebSocket API'lerde sadece gönderilen ve alınan mesajlar için ve bir kullanıcının/cihazın WebSocket API'ye bağlı kaldığı süre için ücret ödersiniz.
Neden Amazon API Ağ Geçidi'ni kullanmalısınız?
Amazon API Gateway, geliştiricilere uygulama arka uçları için sağlam API’ler oluşturup çalıştırmanın tüm boyutlarını üstlenen basit, esnek, tam olarak yönetilen ve kullandıkça ödeme modeliyle sunulan bir hizmet sağlar. API Gateway ile yeni hizmetlerinizi daha hızlı bir şekilde ve daha az yatırımla hayata geçirerek temel iş hizmetlerinizi geliştirmeye odaklanabilirsiniz. API Gateway, API oluşturma ve yönetme sürecinin çeşitli boyutları konusunda size yardımcı olacak şekilde tasarlanmıştır:
1) Ölçüm. API Gateway, üçüncü taraf yazılım geliştiricilerin API’lerinize erişimini ölçen ve kısıtlayan planlar tanımlamanıza yardımcı olur. API anahtarı başına olacak şekilde bir dizi plan tanımlayabilir, azaltma ve kota sınırları yapılandırabilirsiniz. API Gateway, API’lerinize yönelik trafiği otomatik olarak ölçer ve her API anahtarı için kullanım verilerini ayıklamanıza olanak tanır.
2) Güvenlik. API Gateway, API'lerinize erişimi yetkilendirmek ve hizmet operasyon erişimini denetlemek için kullanabileceğiniz birden çok araç sağlar. API Gateway ile AWS Identity and Access Management (IAM) ve Amazon Cognito gibi AWS yönetim ve güvenlik araçlarından yararlanarak API'lerinize erişimi yetkilendirebilirsiniz. API Gateway, AWS'nin kendi API'leri için kullandığı metodolojiden yararlanarak imzalı API çağrılarını sizin adınıza doğrulayabilir. API Gateway, AWS Lambda işlevleri olarak yazılmış özel yetkilendiricileri kullanarak gelen taşıyıcı belirteçleri doğrulamanıza da yardımcı olduğundan, arka uç kodunuzda yetkilendirmeyle ilgili endişeleri ortadan kaldırır.
3) Dayanıklılık. API Gateway, arka uç işlemlerinin ani trafik artışlarına karşı dayanıklı olması için azaltma yöntemiyle trafiği yönetmenize yardımcı olur. API Gateway ayrıca API çağrılarının çıktısını önbelleğe kaydedip her seferinde arka uç sistemlerinize çağrı yapılmasını engelleyerek API'lerinizin performansını ve son kullanıcılarınızın yaşadığı gecikme süresini iyileştirmenize yardımcı olur.
4) Operasyonları İzleme. Bir API yayımlanıp kullanıma girdikten sonra, API Gateway hizmetlerinize yapılan çağrıları izleyebileceğiniz bir ölçüm panosu sağlar. API Gateway panosu, Amazon CloudWatch entegrasyonu aracılığıyla API çağrıları, gecikme süresi verileri ve hata oranlarını kapsayan arka uç performans ölçümleri sağlar. API’lerinizdeki her bir yöntem için ayrıntılı ölçümleri etkinleştirebilir, ayrıca CloudWatch Logs’da hata, erişim veya hata ayıklama günlükleri alabilirsiniz.
5) Yaşam Döngüsü Yönetimi. Bir API yayımlandıktan sonra genellikle işlevleri geliştiren ya da yeni işlevler ekleyen yeni sürümler oluşturup bunları test etmeniz gerekir. API Gateway, yeni API sürümleri yayımlandıktan sonra mevcut uygulamaların önceki sürümlere çağrı yapmaya devam edebilmesi için birden çok API sürümünü ve her sürümün birden çok aşamasını eş zamanlı olarak çalıştırmanıza olanak tanır.
6) Yazılım Geliştiriciler İçin Tasarlandı. API Gateway, hızla API oluşturup API’lerin yanıtlarına statik içerikler atayarak ekipler arası geliştirme iş yükünü ve uygulamalarınızın pazara sunulma süresini azaltmanıza olanak tanır. Siz arka uç süreçlerinizi oluşturduğunuz sırada, API’lerinize gereksinim duyan ekipler geliştirme sürecine başlayabilir.
7) Gerçek Zamanlı Çift Yönlü İletişim. Herhangi bir sunucu çalıştırmanız veya yönetmeniz gerekmeden sohbet uygulamaları, akış panoları ve bildirimler gibi gerçek zamanlı çift yönlü iletişim uygulamaları oluşturun. API Gateway, bağlı kullanıcılar arasında kalıcı bir bağlantı sağlar ve aralarında mesaj iletimi yapmalarına olanak tanır.
Amazon API Ağ Geçidi hangi API türlerini destekler?
Amazon API Gateway, HTTP API'leri ve REST API'leri olmak üzere RESTful API'leri oluşturmak için iki seçeneğin yanı sıra WebSocket API'leri oluşturma seçeneği sunar.
HTTP API'si: HTTP API'leri, AWS Lambda işlevleri veya HTTP arka uçları için proxy görevini yerine getiren API'ler oluşturmak için optimize edilmiştir ve bu nedenle, sunucusuz iş yükleri için idealdir. Şu anda API yönetim işlevselliği sunulmamaktadır.
REST API'si: REST API'leri, API proxy'si işlevlerini ve yönetim özelliklerini tek bir çözüm halinde sunar. REST API'ler; kullanım planları, API anahtarları, API yayınlama ve API'lerden para kazanma gibi API yönetim özellikleri sunar.
WebSocket API'si: WebSocket API'leri gerçek zamanlı mesaj iletişimini sağlamak üzere bağlı istemciler arasında kalıcı bağlantıyı korur. API Gateway'deki WebSocket API'ler sayesinde bağlı istemcilerden mesaj geldiğinde çağrı almak için AWS Lambda işlevleri, Amazon Kinesis veya herhangi bir HTTP uç noktası ile arka uç entegrasyonları tanımlayabilirsiniz.
API Ağ Geçidi'ndeki HTTP API'leri kullanmaya nasıl başlayabilirim?
HTTP API'leri kullanmaya başlamak için Amazon API Gateway konsolu, AWS CLI, AWS SDK'ları veya AWS CloudFormation'ı kullanabilirsiniz. HTTP API'leri kullanmaya başlama hakkında daha fazla bilgi edinmek için belgeler bölümümüzü ziyaret edin.
Amazon API Gateway'deki REST API'leri kullanmaya nasıl başlayabilirim?
REST API'leri kullanmaya başlamak için Amazon API Gateway konsolu, AWS CLI veya AWS SDK'larını kullanabilirsiniz. REST API'leri kullanmaya başlama hakkında daha fazla bilgi edinmek için belgeler bölümümüzü ziyaret edin.
RESTful API'leri oluştururken ne zaman HTTP API'leri, ne zaman REST API'leri kullanmalıyız?
Amazon API Gateway'deki HTTP API'leri ve REST API'leri kullanarak RESTful API'leri oluşturabilirsiniz.
HTTP API'ler, AWS Lambda işlevleri veya HTTP arka uçları için proxy oluşturan API'ler sağlamak için optimize edilmiştir. Bu nedenle, sunucusuz iş yükleri için idealdirler. HTTP API'ler, REST API'lere göre daha uygun fiyatlı ve daha hızlı bir alternatiftir. Ancak, şu anda API yönetimi işlevlerini desteklememektedir. REST API'ler, tek bir çözümde API proxy'si işlevlerine ve API yönetim özelliklerine ihtiyaç duyan API'lere yöneliktir.
HTTP API'ler şunlar için idealdir:
- AWS Lambda veya herhangi bir HTTP uç noktası için proxy API'leri oluşturma
- OIDC ve OAuth 2 yetkilendirmesi ile donatılmış modern API'ler oluşturma
- Çok fazla büyüme ihtimaline sahip iş yükleri
- Gecikme süresine duyarlı iş yüklerine yönelik API'ler
- API'lerini oluşturmak, yönetmek ve yayınlamak için ihtiyaç duyulan tam kapsamlı bir özellik grubu için tek bir fiyat ödemek isteyen müşteriler.
API Ağ Geçidi'ndeki HTTP API'lerle hangi özellikler standart olarak gelir?
HTTP API'ler, kimlik doğrulama ve yetkilendirme ile aşamalı otomatik dağıtımlar için standart olarak CORS desteği, OIDC ve OAuth2 desteği ile birlikte gelir.
HTTP API oluşturmak için bir OpenAPI tanımını içeri aktarabilir miyim?
Evet, OpenAPI 3'ü kullanarak bir API tanımını içe aktarabilirsiniz. Bu da yolların, entegrasyon ve API modellerinin oluşturulmasını sağlar. OpenAPI tanımlarını içe aktarma hakkında daha fazla bilgi için belgeler bölümümüze bakın.
Mevcut REST API'mden nasıl HTTP API'ye geçebilirim?
Mevcut REST API'nizden Amazon API Gateway'deki bir HTTP API'ye geçiş yapmak için aşağıdaki işlemleri gerçekleştirin:
- İhtiyacınız olan tüm özelliklerin HTTP'de mevcut olup olmadığını kontrol edin. Tüm özelliklerin listesini görmek için belgeler bölümümüzü ziyaret edin.
- REST API'nize gidin ve REST API'nizdeki OpenAPI tanımını dışa aktarın
- HTTP API'nize gidin ve bir önceki adımda belirtilen OpenAPI tanımını içe aktarın
- API işlevlerinin beklendiği gibi çalıştıklarından emin olun
- Sunucularınızı yeni URL ile güncelleyin
API'niz çalışırken bazı özelliklerin eksik olduğunu fark edebilirsiniz. Eksik özellikleri tanımlamak için İçeri Aktarma işlemindeki Bilgi, Uyarı ve Hata alanlarını kontrol edin. REST API'leri HTTP API'lere geçirme hakkında daha fazla bilgi için belgeler bölümümüze bakın.
Mevcut REST API'min HTTP API olarak çalışıp çalışmadığımı nasıl anlarım?
Öncelikle, REST'inize gidin ve REST API'deki OpenAPI tanımını dışa aktarın. Ardından, HTTP API'nize gidin ve bir önceki adımda belirtilen OpenAPI tanımını içe aktarın. API'niz çalışırken bazı özelliklerin eksik olduğunu fark edebilirsiniz. Eksik özellikleri tanımlamak için İçeri Aktarma işlemindeki Bilgi, Uyarı ve Hata alanlarını kontrol edin. AWS CLI, bilgi ve uyarı alanlarınızda API'niz hakkındaki bilgileri döndürecektir. Daha fazla bilgi için belgeler bölümümüzü okuyun.
Amazon API Ağ Geçidi'ndeki WebSocket API'lerini nasıl kullanmaya başlayabilirim?
Başlamak için, AWS Management Console, AWS CLI veya AWS SDK’ları kullanarak WebSocket API oluşturabilirsiniz. Daha sonra, mesaj içeriğine bağlı olarak çağrı almak için AWS Lambda, Amazon Kinesis veya kendi HTTP uç noktanız gibi arka uç hizmetlerini göstermesi için WebSocket yönlendirmesini ayarlayabilirsiniz. API Gateway’deki WebSocket API’leri başlatmak için belgelere bakın.
HTTPS uç noktaları oluşturabilir miyim?
Evet, Amazon API Gateway ile oluşturulan tüm API’ler yalnızca HTTPS uç noktaları sunar. Amazon API Gateway, şifrelenmemiş (HTTP) uç noktaları desteklemez. Varsayılan olarak, Amazon API Gateway tarafından API’ye otomatik olarak Amazon API Gateway sertifikasını kullanan dahili bir etki alanı atanır. API’lerinizi özel bir etki alanı altında çalışacak şekilde yapılandırırken etki alanı için kendi özel sertifikanızı sağlayabilirsiniz.
Amazon API Ağ Geçidi ile hangi veri türlerini kullanabilirim?
Amazon API Gateway'de oluşturulan API'ler; HTTP API'ler, REST API'ler ve WebSocket API'ler için HTTPS üzerinden gönderilen tüm yükleri kabul edebilir. Yaygın olarak kullanılan biçimler arasında JSON, XML, sorgu dizesi parametreleri ve istek üst bilgileri yer alır. API'lerinizin yanıtları için dilediğiniz türde içerik belirtebilir, daha sonra dönüştürme şablonlarını kullanarak arka uç yanıtını istediğiniz biçimde olacak şekilde değiştirebilirsiniz.
Amazon API Ağ Geçidi hangi arka uçlarla iletişim kurabilir?
Amazon API Gateway, hesabınızda AWS Lambda işlevleri yürütebilir, AWS Step Functions durum makineleri başlatabilir veya AWS Elastic Beanstalk ve Amazon EC2’de barındırılan HTTP uç noktalarının yanı sıra AWS’de barındırılmayan, genel internet aracılığıyla erişilebilen HTTP tabanlı işlemlere çağrı yapabilir. API Gateway ayrıca döndürülecek statik içeriği oluşturmak için bir eşleme şablonu belirtmenize olanak tanıyarak arka uç hazır olmadan önce API’lerinizi denemenize yardımcı olur. Ayrıca, API Gateway’i diğer AWS hizmetlerine doğrudan entegre edebilir, örneğin API Gateway’de verileri doğrudan Amazon Kinesis’e gönderen bir API yöntemi sunabilirsiniz.
Amazon API Ağ Geçidi, hangi istemci platformları için SDK oluşturabilir?
API Gateway, Android ve iOS (Swift ve Objective-C) ile mobil uygulama, JavaScript ile web uygulaması geliştirmeye yönelik özel SDK’lar oluşturur. API Gateway, Ruby ve Java için SDK oluşturulmasını da destekler. API Gateway’de bir API ve bu API’nin modelleri tanımlandıktan sonra, AWS konsolunu ya da API Gateway API’lerini kullanarak bir istemci SDK’sı oluşturabilir ve SDK’yı indirebilirsiniz. Amazon API Gateway’de istemci SDK’ları sadece REST API’ler için oluşturulur.
Amazon API Ağ Geçidi'ne hangi AWS bölgelerinde erişilebilir?
HTTP API'leri, REST API'leri ve WebSocket API'lerine hangi bölgelerde erişilebildiğini görmek için buradaki AWS bölge tablosuna göz atın.
Amazon API Ağ Geçidi konsolu aracılığıyla neleri yönetebilirim?
Amazon API Gateway konsolu aracılığıyla REST API’yi ve bununla ilgili kaynakları belirleyebilir, API yaşam döngüsünü yönetebilir, istemci SDK’ları oluşturabilir ve API ölçümlerini görüntüleyebilirsiniz. Ayrıca, API Gateway konsolunu kullanarak API’lerinizin kullanım planlarını tanımlayabilir, yazılım geliştiricilerin API anahtarlarını yönetebilir, azaltma ve kota sınırları yapılandırabilirsiniz. Bu eylemlerin tümüne API Gateway API’leri aracılığıyla da erişilebilir.
Kaynak nedir?
Kaynak, API’nizin etki alanının bir parçası olan ve türü belirtilen bir nesnedir. Her kaynak kendisiyle ilişkili bir veri modelinin yanı sıra diğer kaynaklarla ilişkilere sahip olabilir ve farklı yöntemlere yanıt verebilir. Ayrıca, birden çok alt kaynağa yönelik isteklere müdahale etmek için kaynakları değişken olarak tanımlayabilirsiniz.
Yöntem nedir?
Bir REST API’nin içindeki her yöntem, standart HTTP yöntemlerinden birini veya daha fazlasını destekleyebilir. Her kaynak için hangi fiillerin (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) desteklendiğini ve bunların nasıl uygulanacağını siz tanımlarsınız. Örneğin, cars kaynağına yönelik bir GET isteği, arabaların listesini döndürmelidir. API Gateway, bir kaynaktaki tüm yöntemleri tek bir arka uç noktasına bağlamak özel bir “ANY” yöntemini de destekler.
Kullanım planı nedir?
Kullanım planları, üçüncü taraf geliştiriciler için erişimi yalnızca belirli API'lerle kısıtlayan, azaltmayı ve istek kotası sınırlarını tanımlayan planlar belirtip bunları API anahtarlarıyla ilişkilendirmenize yardımcı olur. Ayrıca, API kullanımını analiz etmek ve faturalandırma belgeleri oluşturmak için API anahtarı başına olacak şekilde kullanım verilerini ayıklayabilirsiniz. Örneğin temel, profesyonel ve kurumsal planlar oluşturabilir, temel kullanım planını günde yalnızca 1.000 isteğe ve saniyede en fazla 5 isteğe (RPS) izin verecek şekilde yapılandırabilirsiniz.
Amazon API Ağ Geçidi API yaşam döngüsü nedir?
Amazon API Gateway’de her REST API’nin birden çok aşaması olabilir. Aşamalar bir API’nin geliştirme yaşam döngüsüne yardımcı olmaya yöneliktir. Örneğin, API’lerinizi oluşturduktan sonra bir geliştirme aşamasına ya da üretime hazırsanız bir üretim aşamasına dağıtabilirsiniz.
Aşama nedir?
Amazon API Gateway’deki aşamalar, etiketlere benzer. Dağıtıma hangi yoldan erişilebileceğini tanımlar. Örneğin, bir geliştirme aşaması tanımlayıp cars API’nizi buna dağıtabilirsiniz Kaynağa https://www.myapi.com/dev/cars adresinden erişilebilir. Ayrıca, ek yol parametresini kullanmak zorunda kalmamak için doğrudan bir aşamayı gösteren özel etki alanı adları ayarlayabilirsiniz. Örneğin, myapi.com’u doğrudan geliştirme aşamasını gösterecek şekilde ayarladıysanız cars kaynağınıza https://www.myapi.com/cars adresinden erişebilirsiniz. Aşamalar, API yapılandırmanızdan veya eşleme şablonlarınızdan erişilebilen değişkenler kullanılarak yapılandırılabilir.
Aşama değişkenleri nedir?
Aşama değişkenleri, bir aşamayla ilgili anahtar/değer çiftleri şeklinde yapılandırma değerleri tanımlamanıza olanak tanır. Bu değerler, ortam değişkenlerine benzer şekilde API yapılandırmanızda kullanılabilir. Örneğin, yöntem entegrasyonunuz için HTTP uç noktasını bir aşama değişkeni olarak tanımlayıp API yapılandırmanızda uç noktayı sabit kod olarak belirtmek yerine bu değişkeni kullanabilir ve bu sayede, aynı API yapılandırmasıyla her aşama (ör. geliştirme, beta, üretim) için farklı bir uç nokta kullanabilirsiniz. Eşleme şablonlarından da erişilebilen aşama değişkenleri, Lambda veya HTTP arka ucunuza yapılandırma parametrelerinin geçirilmesi için kullanılabilir.
Kaynak Politikası nedir?
Kaynak politikası, belirtilen bir sorumlunun (genellikle bir IAM kullanıcısı veya rolü) bir API’yi çağırıp çağıramayacağını kontrol etmek için API’ye eklediğiniz bir JSON politika belgesidir. Bir Kaynak Politikası kullanarak farklı bir AWS hesabına ait kullanıcıların API’lerinize güvenli bir şekilde erişmesine olanak tanıyabilir ya da API’nin yalnızca belirtilen kaynak IP adresi aralıklarından veya CIDR bloklarından çağrılmasına izin verebilirsiniz. Kaynak Politikaları Amazon API Gateway’deki REST API’ler ile kullanılabilir.
Bir aşamaya yanlışlıkla dağıtım yaparsam ne olur?
Amazon API Gateway, dağıtımlarınızın geçmişini kaydeder. Dilediğiniz zaman Amazon API Gateway API’lerini veya konsolu kullanarak bir aşamayı daha önceki bir dağıtıma döndürebilirsiniz.
Swagger API tanımlarımı kullanabilir miyim?
Evet. Açık kaynak kodlu Swagger importer aracımızı kullanarak Swagger API tanımlarınızı Amazon API Gateway’e aktarabilirsiniz. Swagger importer aracı ile yeni API’ler oluşturup dağıtabileceğiniz gibi mevcut API’leri de güncelleyebilirsiniz.
API Ağ Geçidi'ndeki API'lerimden nasıl gelir elde edebilirim?
API Gateway’deki API’lerinizden gelir elde etmek için API’leri AWS Marketplace’te ürün olarak yayımlayabilirsiniz. Önce AWS Marketplace’e satıcı olarak kaydolmanız ve API Gateway’deki kullanım planlarınızı ürün olarak göndermeniz gerekir. API’lerden Gelir Elde Etme hakkında daha fazla bilgi edinmek için burayı okuyun.
Amazon API Ağ Geçidi'nde API'lerimi nasıl belgeleyebilirim?
API Gateway, API’nizin yöntemler ve kaynaklar gibi her bir bölümüyle ilgili belgeler oluşturup bunları güncelleştirme ve silme olanağı sunar. Belgelerle ilişkili API’lere AWS SDK’ları, CLI, RESTful çağrıları aracılığıyla ya da doğrudan API Gateway konsolunda belge dizelerini düzenleyerek erişebilirsiniz. Ayrıca, belgeler API’nin bir parçası olarak veya API’den bağımsız bir şekilde içeri aktarılabildiğinden, API tanımına dokunmadan belge ekleyebilir ya da belgeleri güncelleyebilirsiniz. API Gateway, Swagger dosyalarından içeri aktarılan ya da bu biçimde dışarı aktarılan belgeler için Açık API belirtimine uygundur. API Gateway’de REST API’ler için belgeler desteklenmektedir.
API'mde sık sık yinelenen hata iletilerinin ve diğer belgelerin gereksiz kopyalarının oluşturulmasından nasıl kaçınabilirim?
API Gateway, standartlara uygun API belgeleri için destek sunmasına ek olarak belge devralmayı da desteklediğinden, bir belge dizesinin bir kez tanımlanıp birden çok yerde kullanılması basit bir işleme dönüşür. Devralma, API belgeleri tanımlama sürecini basitleştirir ve API bir Swagger dosyası olarak dışarı aktarılırken standart temsile dönüştürülebilir.
Özel API'lere erişimi belirli bir Amazon VPC veya VPC uç noktası ile sınırlandırabilir miyim?
Evet, bir API’ye Kaynak Politikası uygulayarak erişimi belirli bir Amazon VPC veya VPC uç noktasıyla sınırlandırabilirsiniz. Ayrıca, bir Kaynak Politikası kullanarak farklı bir hesaptaki Amazon VPC'ye veya VPC uç noktasına Özel API'ye erişim izni verebilirsiniz.
Güvenlik ve Yetkilendirme
API'lerime erişim için nasıl yetkilendirme sağlayabilirim?
Amazon API Gateway’de isteğe bağlı olarak API yöntemlerinizi yetkilendirme gerektirecek şekilde ayarlayabilirsiniz. Yetkilendirme gerektiren bir yöntem ayarlarken kendi taşıyıcı belirteç kimlik doğrulama stratejinizi desteklemek için AWS İmza 4 Sürümünden veya Lambda yetkilendiricilerinden yararlanabilirsiniz.
AWS İmza Sürümü 4 nasıl çalışır?
Diğer hizmetlerde olduğu gibi, hizmetinize yönelik istekleri imzalamak ve erişim yetkilendirmesi sağlamak için AWS kimlik bilgilerini (erişim ve gizli anahtarlar) kullanabilirsiniz. Bir Amazon API Gateway API isteğinin imzalanması, hizmetiniz için oluşturulan özel API Gateway SDK’sı tarafından yönetilir. Amazon Cognito’yu kullanarak AWS hesabınızdaki bir rolle ilişkili geçici kimlik bilgilerini alabilirsiniz.
Lambda yetkilendiricisi nedir?
Lambda yetkilendiricileri, AWS Lambda işlevleridir. Özel istek yetkilendiricileri sayesinde, OAuth gibi bir taşıyıcı belirteç kimlik doğrulama stratejisini kullanarak API’lere erişim için yetkilendirme sağlayabilirsiniz. Bir API’ye çağrı yapıldığında, API Gateway bir Lambda yetkilendiricisinin yapılandırılıp yapılandırılmadığını denetledikten sonra gelen yetkilendirme belirteciyle Lambda işlevine çağrı yapar. Lambda’yı kullanarak isteğin yetkilendirilmesi için kullanılan IAM politikalarını döndüren çeşitli yetkilendirme stratejileri (ör. JWT doğrulama, OAuth sağlayıcı açıklama balonu) uygulayabilirsiniz. Yetkilendirici tarafından döndürülen politika geçerliyse API Gateway, gelen belirteçle ilişkili politikayı 1 saate kadar önbelleğe alır.
Amazon API Ağ Geçidi, üçüncü taraf yazılım geliştiricilere dağıtılmak üzere API anahtarları oluşturabilir mi?
Evet. API Gateway, API anahtarları oluşturup bunları bir kullanım planıyla ilişkilendirebilir. Her bir API anahtarından alınan çağrılar izlenir ve her aşama için etkinleştirebileceğiniz Amazon CloudWatch Logs’a dahil edilir. Bununla birlikte, API anahtarlarını yetkilendirme için kullanmanızı önermeyiz. API anahtarlarını üçüncü taraf yazılım geliştiriciler tarafından gerçekleştirilen kullanımı izlemek için kullanmalı ve yetkilendirme için imzalı API çağrıları veya OAuth gibi daha güçlü bir mekanizma kullanmalısınız.
API tehditleri veya kötü niyetli eylemler ile nasıl mücadele edebilir ya da bunları nasıl önleyebilirim?
API Gateway, API’lerinizdeki her bir yöntem için ayarları azaltmayı destekler. REST API’lerinizdeki her bir yöntem ve WebSocket API’lerinizdeki her yol için standart bir hız sınırı ve geçici artış hız sınırı ayarlayabilirsiniz. Üstelik API Gateway, arka uç sistemlerinizi sahte istekler (Katman 7) ya da SYN taşmaları (Katman 3) şeklinde olmasından bağımsız olarak dağıtılmış hizmet engelleme (DDoS) saldırılarından otomatik olarak korur.
Arka ucuma çağrı yapanın API Ağ Geçidi olduğunu doğrulayabilir miyim?
Evet. Amazon API Gateway, istemci tarafı bir SSL sertifikası oluşturup bunun genel anahtarını size sunabilir. Oluşturulan sertifika ile arka ucunuza yönelik çağrılar gerçekleştirilebilir ve sertifikanın genel anahtarını kullanarak çağrıların Amazon API Gateway’den geldiğini doğrulayabilirsiniz.
Amazon API Ağ Geçidi ile AWS CloudTrail'ı kullanabilir miyim?
Evet. Amazon API Ağ Geçidi, REST API'lerinizdeki değişikliklerin tam ve denetlenebilir bir geçmiş kaydını sunmak için AWS CloudTrail ile entegredir. REST API'leri oluşturmak, değiştirmek, silmek veya dağıtmak için Amazon API Gateway API'lerine yapılan tüm çağrılar, AWS hesabınızda günlük olarak CloudTrail'a kaydedilir.
Amazon API Ağ Geçidi, bir Amazon Virtual Private Cloud (Amazon VPC) ile nasıl çalışır?
Amazon API Gateway’de VPC Links ile Özel Entegrasyonlar ayarlayarak Amazon VPC’nizde çalışan arka uç HTTP/HTTPS kaynaklarına proxy üzerinden istek gönderebilirsiniz. Amazon API Gateway’deki istemci tarafı SSL sertifikalarının genel anahtarı kullanılarak arka uç sistemlerinize yönelik isteklerin API Gateway tarafından gönderildiği doğrulanabilir. Ayrıca, Amazon API Gateway'de yalnızca Amazon VPC'nizdeki kaynakların Amazon VPC Uç Noktaları aracılığıyla erişebileceği Özel API'ler oluşturabilirsiniz.
Özel API'lere erişimi belirli bir Amazon VPC veya VPC uç noktası ile sınırlandırabilir miyim?
Evet, bir API’ye Kaynak Politikası uygulayarak erişimi belirli bir Amazon VPC veya VPC uç noktasıyla sınırlandırabilirsiniz. Ayrıca, bir Kaynak Politikası kullanarak farklı bir hesaptaki Amazon VPC'ye veya VPC uç noktasına Özel API'ye erişim izni verebilirsiniz.
API Ağ Geçidi'nde REST API'lerimi TLS 1.1 veya üzeri bir sürüm kullanacak şekilde yapılandırabilir miyim?
REST API'leri kullanıyorsanız hesabınızda özel SSL sertifikalı bir CloudFront dağıtımı ayarlayıp API Gateway'de Bölgesel API'ler ile kullanabilirsiniz. Daha sonra CloudFront dağıtımının Güvenlik Politikasını güvenlik ve mevzuat uyumluluğu gereksinimlerinize göre TLS 1.1 veya üzeri ile yapılandırabilirsiniz.
Yönetim, Ölçüm ve Günlük Kaydı
Amazon API Ağ Geçidi API'lerimi nasıl izleyebilirim?
Amazon API Gateway, API çağrılarına, gecikme sürelerine ve hata oranlarına ilişkin günlükleri AWS hesabınızda Amazon CloudWatch’a kaydeder. Ölçümlere bir REST API panosunda Amazon API Gateway konsolu aracılığıyla da erişilebilir. API Gateway, üçüncü taraf yazılım geliştiriciler tarafından kullanımı da ölçer ve verilere API Gateway konsolu ya da API’ler aracılığıyla erişilebilir.
Amazon API Ağ Geçidi ölçümlerini temel alan alarmlar ayarlayabilir miyim?
Evet, Amazon API Gateway günlük kaydı bilgilerini ve ölçümleri Amazon CloudWatch’a gönderir. Amazon CloudWatch konsolunu kullanarak özel alarmlar ayarlayabilirsiniz.
Amazon API Ağ Geçidi için nasıl ölçüm ayarlayabilirim?
Amazon API Gateway, varsayılan olarak REST API düzeyinde trafiği izler. İsteğe bağlı olarak dağıtım yapılandırma API’lerinden veya konsol ekranından REST API’nizdeki her yöntem için ayrıntılı ölçümleri etkinleştirebilirsiniz. Ayrıca, ölçümler ayrıntılı olarak Amazon CloudWatch’a kaydedilir ve CloudWatch ücretleri uygulanır.
Müşterilerim tarafından API'nin hangi sürümünün kullanıldığını belirleyebilir miyim?
Evet. Ölçüm ayrıntıları REST API’ye ve aşamaya göre belirlenir. Ayrıca, REST API’nizdeki her yöntem için ölçümleri etkinleştirebilirsiniz.
Amazon API Ağ Geçidi, günlük kaydı için destek sağlıyor mu?
Evet. Amazon API Gateway, Amazon CloudWatch Logs ile entegredir. İsteğe bağlı olarak API’nizdeki her aşama için günlük kaydını etkinleştirebilirsiniz. REST API’lerinizdeki her yöntem için günlük kaydının ayrıntı düzeyinin yanı sıra tüm istek ve yanıt verilerinin günlüğe kaydedilip kaydedilmeyeceğini ayarlayabilirsiniz.
Günlüklere ne kadar hızlı bir şekilde erişilebilir?
Günlükler, alarmlar, hata oranları ve diğer ölçümler Amazon CloudWatch’ta saklanır ve bunlara neredeyse gerçek zamanlı olarak erişilebilir.
Kısıtlama ve Önbelleğe Alma
Arka uç sistemlerimi ve uygulamalarımı ani trafik artışlarından nasıl koruyabilirim?
Amazon API Gateway, genel ve hizmet çağrısına göre azaltma dahil olmak üzere birden çok katmanda azaltmayı destekler. Standart oranlar ve geçici artışlar için azaltma sınırları ayarlanabilir. Örneğin, API sahipleri REST API’lerindeki belirli bir yöntem için saniyede 1.000 isteklik bir hız sınırı ayarlayabileceği gibi, Amazon API Gateway’i birkaç saniyeliğine saniyede 2.000 isteği işleyecek şekilde yapılandırabilir. Amazon API Gateway, saniye başına istek sayısını izler. Sınırın üzerindeki tüm istekler 429 HTTP yanıtını alır. Amazon API Gateway tarafından oluşturulan istemci SDK’ları (Javascript hariç) bu yanıtla karşılaştığında çağrıları otomatik olarak yeniden dener.
API'lerime çağrı yapan yazılım geliştiricilerin erişimlerini tek tek azaltabilir miyim?
Evet. Kullanım planları sayesinde tek başına API anahtarları için azaltma sınırları belirleyebilirsiniz.
Kısıtlamanın bana faydası nedir?
Azaltma, arka uç hizmetlerinizin performansının ve erişilebilirliğinin korunmasına yardımcı olmak için API trafiğinin kontrol edilmesini sağlar.
Amazon API Ağ Geçidi, gelen API trafiğini hangi düzeylerde azaltabilir?
Azaltma hız sınırları yöntem düzeyinde ayarlanabilir. Amazon API Gateway API’leri aracılığıyla veya Amazon API Gateway konsolunda yöntem ayarlarınızdan azaltma sınırlarını düzenleyebilirsiniz.
Kısıtlama kuralları nasıl uygulanır?
API Gateway azaltma ile ilgili ayarlar şu sırayla uygulanır: 1) bir kullanım planındaki API aşaması için ayarladığınız müşteri başına yöntem başına azaltma limitleri, 2) bir kullanım planında ayarladığınız müşteri başına azaltma limitleri, 3) API aşaması ayarlarında ayarladığınız varsayılan yöntem başına limitler ve bireysel yöntem başına limitler, 4) bölge başına hesap seviyesinde azaltma.
Amazon API Ağ Geçidi, API sonucunu önbelleğe kaydetme olanağı sağlıyor mu?
Evet. Bir API Gateway önbelleği tedarik edip önbelleğin GB cinsinden boyutunu belirterek API çağrılarına önbelleğe alma özelliği ekleyebilirsiniz. Önbellek, API’lerinizin belirli bir aşaması için tedarik edilir. Bunun yapılması performansı geliştirir ve arka ucunuza yönelik trafiği azaltır. Önbellek ayarları, her yöntem için önbellek anahtarının oluşturulma biçimini ve saklanan verilerin yaşam süresini (TTL) denetlemenize olanak tanır. API Gateway ayrıca her aşama için önbelleği geçersiz kılmanıza yardımcı olan yönetim API’leri de sunar. API Gateway’de REST API’ler için önbelleğe alma mevcuttur.
Çok sayıda son kullanıcı API'mi aynı anda çağırmaya çalışırsa ne olur?
Önbelleğe alma etkin değilse ve azaltma sınırları uygulanmamışsa, hesap düzeyi azaltma sınırlarına ulaşılana kadar tüm istekler arka ucunuza geçer. Azaltma sınırları varsa Amazon API Gateway gerekli miktarda isteği bırakır ve arka uç hizmetinize yalnızca tanımlı sınırı aşmayacak kadar istek gönderir. Bir önbellek yapılandırılmışsa, Amazon API Gateway özelleştirilebilen bir süre boyunca yinelenen istekler için (yapılandırılan azaltma sınırlarının altındaysa) önbelleğe alınmış bir yanıtı gönderir. Arka uç ile istemci arasındaki bu denge, API’lerin destekledikleri uygulamalar için en uygun performansı sunmasını sağlar. Azaltmaya takılan istekler, Amazon API Gateway tarafından oluşturulan istemci tarafı SDK’lar tarafından otomatik olarak yeniden denenir. Varsayılan olarak, Amazon API Gateway tarafından API yöntemlerinizde önbellek ayarlanmaz.
API'ler nasıl ölçeklenir?
Amazon API Gateway, yapılandırdığınız arka uç işlemlerine yönelik bir proxy görevi görür. Amazon API Gateway, API’nizin aldığı trafik miktarını karşılayacak şekilde otomatik ölçeklendirme uygular. Amazon API Gateway, arka uç işlemlerinize yönelik çağrıları keyfi olarak sınırlamaz veya azaltmaz ve Amazon API Gateway konsolundaki azaltma veya önbelleğe alma ayarları kapsamında kalmayan tüm istekler arka uç işlemlerinize gönderilir.
Faturalandırma
Amazon API Ağ Geçidi kullanımım nasıl ücretlendirilir?
Amazon API Gateway faturalandırması, bir milyon API çağrısı başına uygulanan ücrete ek olarak gigabayt cinsinden dışarı veri aktarımının maliyeti hesaplanarak uygulanır. API’niz için önbellek tedarik etmeyi seçerseniz saatlik ücret uygulanır. API Gateway, WebSocket API’lere yönelik faturalandırmayı gönderilen ve alınan mesajlara ve istemcinin API’ye bağlı kaldığı dakikaya göre yapar. Bölgelere göre API çağrıları, veri aktarımı ve önbellek maliyetlerine ilişkin ayrıntılar için lütfen API Ağ Geçidi fiyatlandırma sayfasına bakın.
Üçüncü taraf yazılım geliştiriciler tarafından oluşturulan Amazon API Ağ Geçidi API çağrıları için kim ücret öder?
API Gateway’deki API’lere yapılan çağrıların ücreti API sahibinden alınır.
Bir API yanıtı önbelleğe alınmış verilerle sağlanırsa bu işlem faturalandırma açısından yine de bir API çağrısı olarak mı görülür?
Evet. API çağrıları, faturalandırma açısından yanıtın arka uç işlemleriniz ya da Amazon API Gateway önbelleğe alma işlemi tarafından işlenmesinden bağımsız olarak aynı şekilde hesaplanır.
WebSocket API’leri
Amazon API Ağ Geçidi'ndeki WebSocket yönlendirmesi nedir?
Amazon API Gateway’deki WebSocket yönlendirmesi mesajları belli bir entegrasyona doğru şekilde yönlendirmek için kullanılır. WebSocket API’nizi tanımlarken çağırmak için bir yönlendirme anahtarı ve entegrasyon arka ucu belirlersiniz. Yönlendirme anahtarı mesaj gövdesindeki bir özelliktir. Eşleşmeyen yönlendirme anahtarları için varsayılan bir entegrasyon da ayarlayabilirsiniz. Yönlendirme hakkında daha fazla bilgi için belgelere bakınız.
Bağlı istemcilere arka uç hizmetinden nasıl mesaj gönderebilirim?
WebSocket API’ye yeni bir istemci bağlandığında bu istemci için, geri arama URL’si olarak adlandırılan, benzersiz bir URL oluşturulur. Bu geri arama URL’sini istemciye arka uç hizmetinden mesaj göndermek için kullanabilirsiniz.
Amazon API Ağ Geçidi'nde WebSocket API'me erişim için nasıl yetkilendirme sağlayabilirim?
Amazon API Gateway ile WebSocket API’lerinize erişimi yetkilendirmek için isterseniz IAM rolleri ve politikalarını isterseniz AWS Lambda Yetkilendiricisini kullanabilirsiniz.
Arka uç hizmetim, Amazon API Ağ Geçidi'nde WebSocket bağlantısından bir istemcinin bağlandığını veya bağlantısını kestiğini nasıl anlar?
Bir istemci bağlandığında veya bağlantısı kesildiğinde, Amazon API Gateway hizmeti tarafından arka uç AWS Lambda işlevinize veya HTTP uç noktanıza $connect veya $disconnect yoluyla bir mesaj gönderilir. İstemciyi bağlı kullanıcılar listesine ekleyerek veya çıkararak gerekli aksiyonu alabilirsiniz.
Arka uç hizmetim, istemcinin WebSocket bağlantısına hâlâ bağlı olduğunu nasıl tespit edebilir?
Bağlantıdaki geri arama URL GET yöntemini kullanarak istemcinin WebSocket bağlantısına bağlı olup olmadığını tespit edebilirsiniz. Geri arama URL’sinin kullanımı için belgelere bakınız.
Bir istemcinin bağlantısını arka uç hizmetimden kesebilir miyim?
Evet, bağlı istemcinin bağlantısını arka uç hizmetinizden geri arama UR’sini kullanarak kesebilirsiniz.
WebSocket API'leri için desteklenen maksimum mesaj boyutu nedir?
Maksimum desteklenen mesaj boyutu 128 KB’tır. WebSocket API’lerle ilgili diğer sınırlamalar için belgelere bakınız.
Amazon API Ağ Geçidi'nde WebSocket API'si kullanımım nasıl ücretlendirilir?
İki ölçüme göre ücretlendirilirsiniz: Bağlantı dakikalarınız ve mesajlarınız.
Bağlantı dakikaları: İstemcilerin veya cihazların WebSocket bağlantısına bağlı kaldıkları dakika miktarı (dakikaya yuvarlanır).
Mesajlar: Bağlı istemcilere gönderilen ve onlardan alınan toplam mesaj sayısı. Mesajlar 32KB artışlarla ücretlendirilir. WebSocket API fiyatlandırmasıyla ilgili ayrıntılar ve örnekler için fiyatlandırma sayfasına bakınız.
WebSocket bağlantısındaki mesajların doğrulanması veya yetkilendirilmesi başarısız olursa bunlar yine de API kullanım faturama eklenecek mi?
Hayır, WebSocket bağlantısındaki mesajların doğrulanması veya yetkilendirilmesi başarısız olursa bunlar API kullanım faturanıza eklenmez.