Amazon API Gateway – Häufig gestellte Fragen

Allgemeines

Amazon API Gateway ist ein vollständig verwalteter Service, der das Veröffentlichen, Warten, Überwachen und Sichern von APIs für Entwickler in jeder beliebigen Größenordnung vereinfacht. Mit wenigen Klicks in der AWS-Managementkonsole können Sie eine API erstellen, die als "Haupteingang" für Anwendungen dient, um auf Daten, Geschäftslogik oder Funktionen von Ihren Backend-Services zuzugreifen, etwa Anwendungen, die auf Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) oder AWS Elastic Beanstalk laufen, Code, der auf AWS Lambda läuft, oder eine beliebige Webanwendung. Amazon API Gateway handhabt sämtliche Aufgaben im Zusammenhang mit der Annahme und Verarbeitung von Hunderttausenden gleichzeitiger API-Aufrufe, etwa Datenverkehrmanagement, Autorisierung und Zugriffssteuerung, Überwachung und API-Versionsmanagement. Bei Amazon API Gateway fallen weder Mindestgebühren noch Vorabkosten an. Bei HTTP APIs und REST APIs bezahlen Sie lediglich für eingehende API-Aufrufe und ausgehende Datenübertragungen. Für WebSocket-APIs bezahlen Sie lediglich für Nachrichten, die gesendet und empfangen werden, und für die Zeit, die ein Benutzer/Gerät mit dem Websocket-API verbunden ist.

Amazon API Gateway bietet Entwicklern einen einfachen, flexiblen, vollständig verwalteten, nutzungsabhängigen Service, der alle Aspekte beim Erstellen und Betreiben robuster APIs für Anwendungs-Backends handhabt. Mit API Gateway können Sie neue Services schneller starten, und zwar mit reduzierten Investitionen, sodass Sie sich darauf konzentrieren können, Ihre Haupt-Unternehmensdienste aufzubauen. Amazon API Gateway wurde entwickelt, um Ihnen bei mehreren Aspekten des Erstellens und Verwaltens von APIs zu helfen:

1) Messung. API Gateway hilft Ihnen, Pläne zu definieren, die den Zugriff externer Entwickler auf Ihre APIs messen und einschränken. Sie können eine Zusammenstellung von Plänen definieren, eine Einschränkung der maximalen Bandbreite konfigurieren und Quotenlimits pro API-Schlüssel festlegen. API Gateway misst automatisch den Datenverkehr zu Ihren APIs und ermöglicht Ihnen, Nutzungsdaten für die einzelnen API-Schlüssel zu extrahieren.

2) Sicherheit. API Gateway bietet Ihnen mehrere Tools zum Autorisieren des Zugriffs auf Ihre APIs und zur Steuerung des Zugriffs auf die Serviceoperation. Mit Amazon API Gateway können Sie die AWS-Verwaltungs- und Sicherheits-Tools verwenden, etwa AWS Identity and Access Management (IAM) und Amazon Cognito, um den Zugriff auf Ihre APIs zu autorisieren. API Gateway kann signierte API-Aufrufe in Ihrem Namen mithilfe derselben Methode prüfen, die AWS für seine eigenen APIs verwendet. Mithilfe von benutzerdefinierten Genehmigern, die als AWS Lambda-Funktionen geschrieben wurden, können Sie API Gateway zum Prüfen eingehender Bearer-Token verwenden. Autorisierungsbedenken hinsichtlich Ihres Back-End-Codes erübrigen sich damit.

3) Ausfallsicherheit. API Gateway hilft Ihnen beim Verwalten des Datenverkehrs durch Einschränkung der maximalen Bandbreite, damit Backend-Operationen Datenverkehrsspitzen verarbeiten können. Außerdem hilft Ihnen API Gateway, die Leistung Ihrer APIs und die Latenz, die Ihre Endbenutzer wahrnehmen, durch das Zwischenspeichern der Ausgabe der API-Aufrufe zu verbessern. So wird vermieden, dass Ihre Backend-Systeme jedes Mal aufgerufen werden.

4) Überwachen von Vorgängen. Wenn eine veröffentlichte API genutzt wird, präsentiert API Gateway Ihnen ein Dashboard mit Metriken, damit Sie die Aufrufe Ihrer Dienste überwachen können. Das API-Gateway-Dashboard liefert Ihnen durch die Integration mit Amazon CloudWatch Back-End-Leistungsmetriken, die API-Aufrufe, Latenzdaten und Fehlerquoten umfassen. Sie können für jede einzelne Methode innerhalb Ihrer APIs detaillierte Metriken aktivieren und auch Fehler-, Zugriffs- oder Debug-Protokolle in CloudWatch Logs erhalten.

5) Verwaltung des Lebenszyklus. Nachdem eine API veröffentlicht wurde, müssen Sie häufig neue Versionen erstellen und testen, die Funktionen erweitern oder neue hinzufügen. Mit Amazon API Gateway können Sie mehrere API-Versionen und Stufen für jede einzelne Version gleichzeitig ausführen, sodass vorhandene Anwendungen weiterhin frühere API-Versionen aufrufen können, auch nachdem neue Versionen veröffentlicht wurden.

6) Konzipiert für Entwickler. Mit API Gateway können Sie schnell APIs erstellen und statische Inhalte für ihre Inhalte zuordnen, um den teamübergreifenden Entwicklungsaufwand und die Markteinführungszeit Ihrer Anwendungen zu reduzieren. Teams, die von Ihren APIs abhängig sind, können die Entwicklung beginnen, während Sie Ihre Backend-Prozesse aufbauen.

7) Bidirektionale Kommunikation in Echtzeit. Entwickeln Sie Anwendungen für den bidirektionalen Dialog in Echtzeit so wie Chatapps, Streaming-Dashboards und Benachrichtigungen, ohne Server ausführen oder verwalten zu müssen. API Gateway hält eine dauerhafte Verbindung zwischen den verbundenen Benutzern aufrecht und ermöglicht Nachrichtenaustausch zwischen ihnen.

Amazon API Gateway bietet zwei Optionen zur Erstellung von RESTful APIs – HTTP APIs und REST APIs – sowie eine Option zur Erstellung von WebSocket APIs.

HTTP-API: HTTP-APIs sind für die Entwicklung von APIs optimiert, die eine Proxy-Verbindung zu AWS Lambda-Funktionen oder HTTP-Backends herstellen. Damit sind sie ideal für Serverless-Workloads. Sie bieten aktuell keine API-Managementfunktionen.

REST-API: REST-APIs bieten API-Proxyfunktionalität und API-Verwaltungsfeatures in einer einzigen Lösung. REST APIs bieten API-Verwaltungsfunktionen wie Nutzungspläne, API-Schlüssel, Veröffentlichung und Monetarisierung von APIs.

WebSocket-API: WebSocket-APIs halten eine beständige Verbindung zwischen verbundenen Clients aufrecht, um eine Nachrichtenkommunikation in Echtzeit zu ermöglichen. Mit WebSocket-APIs in API Gateway können Sie Backend-Integrationen mit AWS Lambda-Funktionen, Amazon Kinesis oder einem beliebigen HTTP-Endpunkt definieren, die aufgerufen werden, wenn Nachrichten von den verbundenen Clients empfangen werden.

Um mit der Nutzung von HTTP APIs zu beginnen, können Sie die Amazon API Gateway-Konsole, das AWS CLI, die AWS SDKs oder AWS CloudFormation verwenden. Informationen zu den ersten Schritten mit HTTP APIs finden Sie in unserer Dokumentation.

Um mit der Nutzung von REST APIs zu beginnen, können Sie die Amazon API Gateway-Konsole, das AWS CLI oder die AWS SDKs verwenden. Informationen zu den ersten Schritten mit REST APIs finden Sie in unserer Dokumentation.

Sie können RESTful APIs sowohl mit HTTP APIs als auch REST APIs in Amazon API Gateway erstellen.

HTTP APIs sind für die Erstellung von APIs optimiert, die eine Proxy-Verbindung zu AWS Lambda-Funktionen oder HTTP-Backends herstellen. Damit sind sie ideal für serverlose Workloads. HTTP APIs sind eine günstigere und schnellere Alternative zu REST APIs, unterstützen aber aktuell keine API-Managementfunktionen. REST-APIs sind für Workloads gedacht, die API-Proxy-Funktionalität und API-Verwaltungsfunktionen in einer einzigen Lösung erfordern.

HTTP APIs sind ideal für:

  1. die Erstellung von Proxy-APIs für AWS Lambda oder HTTP-Endpunkte
  2. die Erstellung moderner APIs, die mit OIDC und OAuth 2-Autorisierung ausgestattet sind 
  3. Workloads, die voraussichtlich sehr groß werden
  4. APIs für latenzempfindliche Workloads
 
REST APIs sind ideal für:
 
  1. Kunden, die einen einzigen Preis für eine Universallösung bezahlen möchten, um ihre APIs zu erstellen, zu verwalten und zu veröffentlichen. 

HTTP APIs umfassen standardmäßig CORS-Unterstützung, OIDC und OAuth2-Unterstützung zur Authentifizierung und Autorisierung, sowie automatische Bereitstellung in Phasen.

Ja, Sie können mit OpenAPI 3 eine API-Definition importieren. Dies führt zur Erstellung von Routen, Integrationen und API-Modellen. Weitere Informationen zum Import von OpenAPI-Definitionen finden Sie in unserer Dokumentation.

Um von Ihrer aktuellen REST API zu einer HTTP API in Amazon API Gateway zu migrieren, gehen Sie wie folgt vor:

  1. Überprüfen Sie, dass alle benötigten Funktionen in der HTTP-Variante verfügbar sind. Die vollständige Funktionsliste finden Sie in unserer Dokumentation
  2. Navigieren Sie zu Ihrer REST API und exportieren Sie die OpenAPI-Definition aus Ihrer REST API
  3. Navigieren Sie zu Ihrer HTTP API und importieren Sie die OpenAPI-Definition aus dem vorherigen Schritt
  4. Testen Sie die API-Funktionen
  5. Aktualisieren Sie Ihre Clients mit der neuen URL

Möglicherweise funktioniert Ihre API, aber Ihnen fallen einige fehlende Funktionen auf. Um fehlende Features zu ermitteln, sehen Sie sich die Felder Info, Warnung und Fehler des Importvorgangs an. Weitere Informationen zur Migration von REST APIs zu HTTP APIs finden Sie in unserer Dokumentation.

Navigieren Sie zunächst zu Ihrer REST API und exportieren Sie die OpenAPI-Definition aus Ihrer REST API. Navigieren Sie dann zu Ihrer HTTP API und importieren Sie die OpenAPI-Definition aus dem vorherigen Schritt Möglicherweise funktioniert Ihre API, aber Ihnen fallen einige fehlende Funktionen auf. Um fehlende Features zu ermitteln, sehen Sie sich die Felder Info, Warnung und Fehler des Importvorgangs an. Das AWS CLI gibt Informationen zu Ihrer API in den Info- und Warnfeldern zurück. Weitere Informationen finden Sie in unserer Dokumentation.

Um zu beginnen, können Sie zunächst eine WebSocket-API mit der AWS-Managementkonsole, der AWS CLI oder den AWS SDKs erstellen. Sie können dann das WebSocket-Routing so einstellen, dass die Backend-Services wie AWS Lambda, Amazon Kinesis oder Ihr HTTP-Endpunkt basierend auf dem Nachrichteninhalt aufgerufen werden. Informationen zu den ersten Schritten mit WebSocket-APIs im API-Gateway finden Sie in der Dokumentation.

Ja. Mit Amazon API Gateway erstellte APIs exponieren ausschließlich HTTPS-Endpunkte. Amazon API Gateway unterstützt keine unverschlüsselten Endpunkte (HTTP). Standardmäßig weist Amazon API Gateway der API eine interne Domain zu, die automatisch das Zertifikat von Amazon API Gateway verwendet. Wenn Sie die APIs, die ausgeführt werden sollen, unter einem benutzerdefinierten Domain-Namen konfigurieren, können Sie Ihr eigenes Zertifikat für die Domäne angeben.

Mit Amazon API Gateway aufgebaute APIs können beliebige Nutzlasten akzeptieren, die über HTTPS für HTTP APIs, REST-APIs und WebSocket APIs gesendet werden. Typische Datenformate sind JSON, XML, Parameter für Abfragezeichenfolgen und Anforderungsheader. Sie können für Ihre API-Antworten beliebige Arten von Inhalten deklarieren und dann die Transformationsvorlagen verwenden, um die Backend-Antwort in Ihr gewünschtes Format zu ändern.

Amazon API Gateway kann in Ihrem Konto AWS Lambda-Funktionen ausführen, AWS Step Functions-Zustandsautomaten starten oder HTTP-Endpunkte aufrufen, die unter AWS Elastic Beanstalk oder Amazon EC2 gehostet werden, sowie nicht unter AWS gehostete, HTTP-basierte Vorgänge aufrufen, auf die über das öffentliche Internet zugegriffen werden kann. API Gateway gestattet Ihnen außerdem, eine Zuweisungsvorlage anzugeben, um statische Inhalte für die Rückgabe zu generieren, die Ihnen helfen, Ihre APIs zu simulieren, bevor das Backend bereit ist. Es besteht auch die Möglichkeit, API Gateway direkt in andere AWS-Services zu integrieren. Sie können beispielsweise eine API-Methode in API Gateway bereitstellen, mit der Daten direkt an Amazon Kinesis gesendet werden.

API Gateway generiert spezielle SDKs für die Entwicklung von Mobil-Apps mit Android bzw. iOS (Swift und Objective-C) und die Web-App-Entwicklung mit JavaScript. Das Generieren von SDKs für Ruby und Java wird von API Gateway ebenfalls unterstützt. Sobald eine API und ihre Modelle in API Gateway definiert sind, können Sie die AWS-Konsole oder die API Gateway-APIs verwenden, um ein Client-SDK zu generieren und herunterzuladen. Client SDKs werden nur für REST-APIs in Amazon API Gateway generiert.

Um zu erfahren, wo HTTP-APIs, REST-APIs und WebSocket-APIs verfügbar sind, sehen Sie sich hier die AWS-Regionstabelle an.

Über die Amazon API Gateway-Konsole können Sie die REST-API und ihre zugeordneten Ressourcen und Methoden definieren, den API-Lebenszyklus verwalten, Client-SDKs generieren und API-Metriken anzeigen. Sie können die API Gateway-Konsole auch verwenden, um die Nutzungspläne Ihrer APIs zu definieren, die API-Schlüssel von Entwicklern zu verwalten und die Einschränkung der maximalen Bandbreite sowie Quotenlimits zu konfigurieren. Die gleichen Aktionen sind über die API Gateway-APIs verfügbar.

Eine Ressource ist ein typisiertes Objekt, das Teil der Domain Ihrer API ist. Jeder einzelnen Ressource können ein Datenmodell sowie Beziehungen zu anderen Ressourcen zugeordnet werden und sie kann auf verschiedene Methoden antworten. Sie können Ressourcen auch als Variablen zum Abfangen von Anfragen an mehrere untergeordnete Ressourcen definieren.

Jede Ressource innerhalb einer REST API kann eine oder mehrere standardmäßige HTTP-Methoden unterstützen. Sie definieren, welche Verben für jede einzelne Ressource unterstützt werden sollen (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) sowie deren Implementierung. Zum Beispiel sollte ein GET für die Ressource "Cars" eine Liste mit Autos zurückgeben. Um alle Methoden innerhalb einer Ressource mit einem einzelnen Backend-Endpunkt zu verbinden, unterstützt API Gateway auch eine spezielle ANY-Methode.

Nutzungspläne helfen Ihnen bei der Deklaration von Plänen für externe Entwickler, die den Zugriff auf bestimmte APIs einschränken, die Einschränkung der maximalen Bandbreite und Quotenlimits für Anforderungen definieren und sie mit API-Schlüsseln verknüpfen. Außerdem können Sie Nutzungsdaten pro API-Schlüssel extrahieren, um die API-Nutzung zu analysieren und Fakturierungsdokumente zu generieren. Sie können beispielsweise Basispläne, Profipläne und Unternehmenspläne erstellen. Sie könnten den Basisplan für die Nutzung so konfigurieren, dass nur 1 000 Anforderungen pro Tag und maximal fünf Anforderungen pro Sekunde erlaubt sind.

Bei Amazon API Gateway kann jede REST API mehrere Stufen haben. Stufen sollen im Entwicklungslebenszyklus einer API helfen. Wenn Sie zum Beispiel Ihre APIs aufgebaut und in einer Entwicklungsstufe bereitgestellt haben oder bereit für die Produktion sind, können Sie sie in einer Produktionsstufe bereitstellen.

Stufen in Amazon API Gateway sind ähnlich Tags. Sie definieren den Pfad, über den auf die Bereitstellung zugegriffen werden kann. Sie können beispielsweise Ihre Entwicklungsstufe definieren und Ihre API "cars" dort bereitstellen. Auf die Ressource kann dann über https://www.myapi.com/dev/cars zugegriffen werden. Sie können auch benutzerdefinierte Domain-Namen einrichten, die direkt auf eine Stufe verweisen, damit Sie nicht den zusätzlichen Pfadparameter zu verwenden brauchen. Wenn Sie beispielsweise myapi.com direkt auf die Stufe "dev" gerichtet haben, können Sie unter https://www.myapi.com/cars auf Ihre Ressource "cars" zugreifen. Stufen können mit Variablen konfiguriert werden, auf die aus Ihrer API-Konfiguration oder aus Zuweisungsvorlagen zugegriffen werden kann.

Mit Stufenvariablen können Sie Schlüssel-/Wert-Paare mit Konfigurationswerten definieren, die mit einer Stufe verbunden sind. Diese Werte können – ähnlich wie Umgebungsvariablen – in Ihrer API-Konfiguration verwendet werden. Sie könnten beispielsweise den HTTP-Endpunkt für Ihre Methodenintegration als Stufenvariable definieren und die Variable in Ihrer API-Konfiguration benutzen, anstatt den Endpunkt fix zu kodieren. Dies ermöglicht es Ihnen, einen anderen Endpunkt für jede Stufe (z. B. Entwicklung, Betaversion, Produktionsversion) zu verwenden. Die Stufenvariablen sind auch in den Zuweisungsvorlagen zugänglich und können genutzt werden, um Konfigurationsparameter Ihrem Lambda oder HTTP-Backend zu übergeben.

Eine Ressourcenrichtlinie ist ein an eine API angefügtes JSON-Richtliniendokument, mit dem gesteuert wird, ob ein bestimmter Principal (üblicherweise ein IAM-Benutzer oder eine IAM-Rolle) die API aufrufen darf. Sie können eine Ressourcenrichtlinie dazu verwenden, Benutzern eines anderen AWS-Kontos einen sicheren Zugriff auf Ihre API zu gewähren oder die API so einzurichten, dass sie nur von bestimmten IP-Adressbereichen bzw. CIDR-Blocks aufgerufen werden kann. Resourcenrichtlinien können mit REST APIs in Amazon API Gateway verwendet werden.

Amazon API Gateway speichert den Verlauf Ihrer Bereitstellungen. Sie können zu jedem beliebigen Zeitpunkt über Amazon API Gateway-APIs oder die Konsole eine Stufe auf eine frühere Bereitstellung zurücksetzen.

Ja. Sie können unser Open Source-Swagger-Import-Tool verwenden, um Ihre Swagger-API-Definitionen in Amazon API Gateway zu importieren. Mit dem Swagger-Import-Tool können Sie sowohl neue APIs erstellen und bereitstellen, als auch bestehende APIs aktualisieren.

Sie können Ihre APIs im API-Gateway durch Veröffentlichung als Produkte im AWS Marketplace monetarisieren. Zunächst müssen Sie sich im AWS Marketplace als Verkäufer registrieren und Ihren Nutzungspläne im API-Gateway als Produkte übermitteln. Hier finden Sie weitere Informationen zu API-Monetarisierung.

API Gateway bietet die Möglichkeit, eine Dokumentation zu den einzelnen Teilen Ihrer API, wie etwa Methoden und Ressourcen, zu erstellen, zu aktualisieren und zu löschen. Sie können auf dokumentationsbezogene APIs über die AWS-SDKs, die CLI, RESTful-Aufrufe oder durch Bearbeiten der Dokumentationszeichenfolgen direkt in der API Gateway-Konsole zugreifen. Eine Dokumentation kann auch als Swagger-Datei importiert werden – entweder als Teil der API oder separat, sodass Sie die Dokumentation ohne Auswirkung auf die API-Definition hinzufügen oder aktualisieren können. API Gateway entspricht der Open-API-Spezifikation für Dokumentationen, die in oder aus Swagger-Dateien importiert bzw. exportiert werden. Dokumentation wird unterstützt für REST APIs in API Gateway.

API Gateway unterstützt zusätzlich zur Standards-konformen API-Dokumentation die Dokumentationsvererbung, was das einmalige Definieren einer Dokumentationszeichenfolge und das darauf folgende Verwenden dieser Zeichenfolge an mehreren Orten vereinfacht. Die Vererbung vereinfacht den Prozess des Definierens der API-Dokumentation und kann in die Standarddarstellung konvertiert werden, wenn die API als Swagger-Datei exportiert wird.

Ja. Sie können eine Ressourcenrichtlinie auf eine API anwenden, um den Zugriff auf eine bestimmte Amazon VPC oder einen VPC-Endpunkt zu beschränken. Durch die Anwendung einer Ressourcenrichtlinie können Sie auch einer Amazon VPC oder einem VPC-Endpunkt aus einem anderen Konto den Zugriff auf die private API ermöglichen.

Sicherheit und Autorisierung

Mit Amazon API Gateway können Sie festlegen, dass für Ihre API-Methoden eine Autorisierung erforderlich ist. Wenn Sie festlegen, dass für eine Methode eine Autorisierung erforderlich ist, können Sie mithilfe von AWS Signatur Version 4 oder Lambda-Genehmigern Ihre eigene Bearer-Token-Autorisierungsstrategie unterstützen.

Sie können mithilfe von AWS-Anmeldeinformationen – Zugriffs- und Geheimschlüsseln – Anforderungen für Ihren Service signieren und den Zugriff wie für andere AWS-Services autorisieren. Das Signieren einer Amazon API Gateway API-Anforderung wird von der spezifischen API Gateway-SDK verwaltet, die für Ihren Service generiert wurde. Mithilfe von Amazon Cognito können Sie temporäre Anmeldeinformationen abrufen, die einer Rolle in Ihrem AWS-Konto zugeordnet sind.

Lambda-Genehmiger sind AWS Lambda-Funktionen. Sie können mit benutzerdefinierten Anforderungsgenehmigern den Zugriff auf APIs mithilfe einer Bearer-Token-Authentifizierungsstrategie wie OAuth autorisieren. Beim Aufruf einer API prüft API Gateway, ob ein Lambda-Genehmiger konfiguriert wurde, und ruft anschließend die Lambda-Funktion mit dem eingehenden Autorisierungs-Token auf. Sie können mit Lambda unterschiedliche Autorisierungsstrategien (wie JWT-Prüfung oder OAuth-Anbieter-Callout) implementieren, die IAM-Richtlinien zur Autorisierung der Anforderung zurückgeben. Wenn die vom Genehmiger zurückgegebene Richtlinie gültig ist, speichert API Gateway die mit dem empfangenen Token verknüpfte Richtlinie bis zu eine Stunde zwischen.

Ja. API Gateway kann API-Schlüssel generieren und sie mit einem Nutzungsplan verknüpfen. Aufrufe von jedem einzelnen API-Schlüssel werden überwacht und in Amazon CloudWatch Logs einbezogen, die Sie für jede einzelne Stufe aktivieren können. Wir empfehlen jedoch nicht, API-Schlüssel zum Autorisieren zu verwenden. Sie sollten API-Schlüssel zur Überwachung der Nutzung durch externe Entwickler verwenden und für die Autorisierung einen stärkeren Mechanismus nutzen, etwa signierte API-Aufrufe oder OAuth.

API Gateway unterstützt Einstellungen zur Einschränkung der maximalen Bandbreite für jede einzelne Methode in Ihren APIs. Sie können für jede Methode in Ihren REST APIs ein Limit für eine Standardrate und ein Limit für eine Burstrate einrichten. Des Weiteren schützt API Gateway Ihre Back-End-Systeme automatisch vor verteilten Denial-of-Service-Angriffen, unabhängig davon, ob sie mit gefälschten Anforderungen oder (Layer 7) oder SYN-Fluten (Layer 3) ausgeführt werden.

Ja. Amazon API Gateway kann ein clientseitiges SSL-Zertifikat erzeugen und Ihnen den öffentlichen Schlüssel des Zertifikats zur Verfügung stellen. Aufrufe an Ihr Backend können mit erzeugten Zertifikaten erfolgen, und Sie können Aufrufe, die aus Amazon API Gateway stammen, mit dem öffentlichen Schlüssel des Zertifikats überprüfen.

Ja. Amazon API Gateway ist mit AWS CloudTrail integriert, damit Sie einen vollständigen, überprüfbaren Verlauf der Änderungen an Ihren REST-APIs zur Verfügung haben. Alle API-Aufrufe an die Amazon API Gateway-APIs, um REST APIs zu erstellen, zu löschen oder bereitzustellen, werden in CloudTrail in Ihrem AWS-Konto protokolliert.

In Amazon API Gateway können Anfragen an Backend-HTTP/HTTPS-Ressourcen weitergeleitet werden, die in Ihrer Amazon VPC ausgeführt werden, indem Sie VPC-Links verwenden, um private Integrationen einzurichten. Clientseitige SSL-Zertifikate in Amazon API Gateway können zur Überprüfung verwendet werden, ob die an Ihre Backend-Systeme gesendeten Anfragen vom API Gateway stammen und dabei der öffentliche Zertifikatschlüssel verwendet wurde. Sie können in Amazon API Gateway auch private APIs erstellen, auf die nur über Amazon VPC-Endpunkte auf Ressourcen innerhalb Ihrer Amazon VPC zugegriffen werden kann.

Ja. Sie können eine Ressourcenrichtlinie auf eine API anwenden, um den Zugriff auf eine bestimmte Amazon VPC oder einen VPC-Endpunkt zu beschränken. Durch die Anwendung einer Ressourcenrichtlinie können Sie auch einer Amazon VPC oder einem VPC-Endpunkt aus einem anderen Konto den Zugriff auf die private API ermöglichen.

Wenn Sie REST APIs verwenden, können Sie eine CloudFront-Verteilung mit benutzerdefiniertem SSL-Zertifikat in Ihrem Konto einrichten und sie mit Regional APIs in API Gateway nutzen. Anschließend können Sie die Sicherheitsrichtlinie für die CloudFront-Verteilung mit TLS 1.1 oder höher entsprechend Ihren Sicherheits- und Compliance-Anforderungen konfigurieren.

Management, Metriken und Protokolle

Amazon API Gateway protokolliert API-Aufrufe, Latenz und Fehlerquoten mit Amazon CloudWatch in Ihrem AWS-Konto. Die Metriken sind auch über die Amazon API Gateway-Konsole in einem REST API-Dashboard verfügbar. API Gateway misst auch die Nutzung durch externe Entwickler. Die Daten sind auf der API Gateway-Konsole und über die APIs verfügbar.

Ja. Amazon API Gateway sendet Protokolldaten und Metriken an Amazon CloudWatch. Sie können die Amazon CloudWatch-Konsole verwenden, um benutzerdefinierte Alarme einzurichten.

Standardmäßig überwacht Amazon API Gateway den Datenverkehr auf REST API-Ebene. Von den APIs der Bereitstellungskonfiguration oder vom Konsolenbildschirm aus können Sie auch detaillierte Metriken für jede Methode in Ihrer REST API aktivieren. Detaillierte Metriken werden auch in Amazon CloudWatch protokolliert und zu CloudWatch-Sätzen abgerechnet.

Ja. Die Details der Metriken werden pro REST API und Stufe angegeben. Außerdem können Sie Metriken für jede Methode in Ihrer REST API aktivieren.

Ja. Amazon API Gateway ist in Amazon CloudWatch Logs integriert. Sie haben auch die Möglichkeit, für jede einzelne Stufe in Ihrer API die Protokollierung zu aktivieren. Für jede Methode in Ihren REST APIs können Sie die Ausführlichkeit der Protokollierung festlegen und ob alle Anforderungs- und Antwortdaten protokolliert werden sollen.

Protokolle, Alarme, Fehlerquoten und andere Metriken werden in Amazon CloudWatch gespeichert und sind nahezu in Echtzeit verfügbar.

Einschränkung der maximalen Bandbreite und Cachedienst

Amazon API Gateway bietet die Möglichkeit zur Einschränkung der maximalen Bandbreite auf verschiedenen Ebenen, etwa global und nach Service-Aufruf. Die Limits für die Einschränkung der maximalen Bandbreite können für Standardraten und Burstraten eingerichtet werden. API-Eigentümer können in ihren REST APIs beispielsweise ein Limit von 1000 Anfragen pro Sekunde für eine spezifische Methode festlegen und Amazon API Gateway so konfigurieren, dass ein Burst von 2000 Anfragen pro Sekunde einige Sekunden lang verarbeitet wird. Amazon API Gateway verfolgt die Anzahl der Anforderungen pro Sekunde. Alle Anfragen, die diesen Grenzwert überschreiten, erhalten die HTTP-Antwort 429. Die von Amazon API Gateway generierten Client-SDKs (außer Javascript) wiederholen die Aufrufe automatisch, wenn sie auf diese Antwort treffen.

Ja. Mit Nutzungsplänen können Sie Einschränkungen der maximalen Bandbreite für einzelne API-Schlüssel festlegen.

Die Einschränkung der maximalen Bandbreite gewährleistet, dass der API-Datenverkehr kontrolliert wird, damit Ihre Backend-Services Leistung und Verfügbarkeit aufrechterhalten.

Die Limits für die Einschränkung der maximalen Bandbreite können auf Methodenebene festgelegt werden. Sie können die Grenzwerte für die Einschränkung der maximalen Bandbreite über die Amazon API Gateway-APIs oder in der Amazon API Gateway-Konsole in Ihren Methodeneinstellungen bearbeiten.

API-Gateway-Drosselungseinstellungen werden in der folgenden Reihenfolge angewendet: 1) Grenzwerte für die Drosselung pro Client und pro Methode, die Sie für eine API-Stufe in einem Nutzungsplan festlegen, 2) Grenzwerte für die Drosselung pro Client, die Sie in einem Nutzungsplan festlegen, 3) Standardgrenzwerte pro Methode und individuelle Grenzwerte pro Methode, die Sie in API-Stufeneinstellungen festlegen, 4) Drosselung auf Kontoebene pro Region.

Ja. Sie können die Zwischenspeicherung der API-Aufrufe hinzufügen, indem Sie einen API Gateway-Zwischenspeicher bereitstellen und dessen Größe in Gigabyte angegeben. Der Zwischenspeicher wird für eine spezifische Stufe Ihrer APIs bereitgestellt. Dies verbessert die Leistung und reduziert den Datenverkehr, der an das Backend gesendet wird. Mithilfe der Cache-Einstellungen können Sie steuern, wie der Cache-Schlüssel aufgebaut ist, sowie die Time-to-Live (TTL) der Daten, die für jede einzelne Methode gespeichert werden. API Gateway bietet auch Management-APIs, mit deren Hilfe Sie den Zwischenspeicher für jede einzelne Stufe deaktivieren können. Zwischenspeicherung ist verfügbar für REST APIs in API Gateway.

Wenn Zwischenspeicherung deaktiviert ist und Einschränkungsgrenzwerte nicht angewendet wurden, werden alle Anforderungen an Ihren Backend-Dienst durchgeleitet, bis die auf Kontoebene befindlichen Einschränkungsgrenzwerte erreicht sind. Wenn die Limits für die Einschränkung der maximalen Bandbreite festgelegt wurden, deaktiviert Amazon API Gateway die erforderliche Anzahl von Anforderungen und sendet nur die definierte Höchstmenge an den Backend-Service. Wird ein Cache konfiguriert, gibt Amazon API Gateway auf duplizierte Anfragen über eine benutzerdefinierte Dauer eine Antwort aus dem Cache zurück, jedoch nur, wenn die konfigurierte Einschränkung der maximalen Bandbreite nicht überschritten wird. Dieses Gleichgewicht zwischen Backend und Client gewährleistet eine optimale Leistung der APIs für die unterstützten Anwendungen. Aufgrund einer Einschränkung zurückgehaltene Anforderungen werden von den clientseitigen SDKs, die von Amazon API Gateway generiert wurden, automatisch wiederholt. Standardmäßig richtet Amazon API Gateway keinen Cache für Ihre API-Methoden ein.

Amazon API Gateway agiert gegenüber den von Ihnen konfigurierten Backend-Operationen als Proxy. Amazon API Gateway skaliert automatisch, sodass der Datenverkehr verarbeitet wird, den Ihre API empfängt. Amazon API Gateway nimmt keine beliebigen Begrenzungen oder Einschränkungen der Aufrufe Ihrer Backend-Operationen vor. Alle Anforderungen, die nicht von den Einstellungen für die Einschränkung der maximalen Bandbreite und für die Zwischenspeicherung in der Amazon API Gateway-Konsole abgefangen werden, werden an Ihre Backend-Operationen gesendet.

Fakturierung

Amazon API Gateway verrechnet pro Million API-Aufrufe und die Kosten für die Datenübertragung in Gigabyte. Wenn Sie sich dafür entscheiden, einen Zwischenspeicher für Ihre API bereitzustellen, werden Stundensätze angewendet. For WebSocket APIs, API Gateway bills based on messages sent and received and the number of minutes a client is connected to the API. Weitere Informationen zu API-Aufrufen, Datenübertragung und Zwischenspeicher-Kosten pro Region finden Sie auf der Preisseite für API Gateway.

Dem API-Eigentümer werden die Aufrufe seiner APIs auf API Gateway in Rechnung gestellt.

Ja. API-Aufrufe werden abrechnungstechnisch gleich behandelt, unabhängig davon, ob die Antwort von Ihren Backend-Operationen oder von Amazon API Gateway-Cache-Operationen stammt.

WebSocket APIs

WebSocket-Weiterleitung in Amazon API Gateway wird verwendet, um Nachrichten zu einer spezifischen Integration weiterzuleiten. You specify a routing key and integration backend to invoke when defining your WebSocket API. The routing key is an attribute in the message body. A default integration can also be set for non-matching routing keys. Weitere Informationen zur Weiterleitung finden Sie in der Dokumentation.

When a new client is connected to the WebSocket API, a unique URL, called the callback URL, is created for that client. You can use this callback URL to send messages to the client from the backend service.

With Amazon API Gateway, you can either use IAM roles and policies or AWS Lambda Authorizers to authorize access to your WebSocket APIs.

When a client is connected or disconnected, a message will be sent from the Amazon API Gateway service to your backend AWS Lambda function or your HTTP endpoint using the $connect and $disconnect routes. You can take appropriate actions like adding or removing the client for the list of connected users.

You can use the callback URL GET method on the connection to identify if the client is connected to the WebSocket connection. Refer to documentation about using a callback URL.

Ja, Sie können einen verbundenen Client von Ihrem Backend-Service mithilfe der Callback-URL trennen.

Die maximale Nachrichtengröße beträgt 128 KB. Refer to the documentation for other limits around WebSocket APIs.

Die Abrechnung erfolgt in 2 Metriken: Verbindungsminuten und Nachrichten.

Verbindungsminuten: Gesamtanzahl an Minuten, die ein Client oder Gerät mit der WebSocket-Verbindung verbunden ist (aufgerundet auf volle Minuten).

Nachrichten: Gesamtanzahl an Nachrichten, die vom verbundenen Client gesendet und empfangen werden. Nachrichten werden in Schritten von 32 KB berechnet. Refer to the pricing page for details about WebSocket API pricing and examples.

No, if messages on the WebSocket connection fail authentication or authorization, they do not count toward your API usage bill.