Überspringen zum Hauptinhalt

AWS-Lösungsportfolio

Leitfaden für das Backend-Hosting von benutzerdefinierten Spielen in AWS

Übersicht

Dieser Leitfaden zeigt, wie Sie ein benutzerdefiniertes, leichtes plattformübergreifendes Spiele-Identitätssystem bereitstellen, zusätzlich zu den Backend-Features für Spiele wie Gameserver-Hosting mit Amazon GameLift, Chat mit WebSockets sowie Freundeslisten und Empfehlungen mit Amazon Neptune. Das Identitätssystem unterstützt eine Reihe von Authentifizierungsoptionen, darunter Gast, Amazon Cognito, Steam, Anmeldung bei Apple, Google Play und Facebook. Sie können den Leitfaden auch ganz einfach anpassen, um zusätzliche Plattformen wie Konsolen zu unterstützen. Der Leitfaden ist so konzipiert, dass er leicht mit benutzerdefinierten Backend-Features erweitert werden kann und enthält Vorlagen sowohl für Serverless- als auch für containerisierte Backend-Komponenten.

Darüber hinaus enthält diese Anleitung Software Development Kits (SDKs) und Beispielcode für Unreal Engine 5, Unity 2021 (und neuere Versionen) und Godot 4-Game-Engines. Die SDKs lassen sich in die Identitätskomponente und die Beispiel-Backend-Features integrieren.

Funktionsweise

Dieses Architekturdiagramm veranschaulicht, wie eine benutzerdefinierte, schlanke und skalierbare plattformübergreifende Spielidentitätskomponente bereitgestellt wird und wie die Identitäten verwendet werden, um sich gegen benutzerdefinierte Spiel-Backend-Komponenten auf AWS zu authentifizieren.

Mit Zuversicht bereitstellen

Bereit zum Bereitstellen? Sehen Sie sich den Beispielcode in GitHub an, um detaillierte Bereitstellungsanweisungen zu erhalten, mit denen Sie den Code unverändert bereitstellen oder an Ihre Anforderungen anpassen können. 

Zum Beispielcode

Well-Architected-Säulen

Das obige Architekturdiagramm ist ein Beispiel für eine Lösung, die unter Berücksichtigung der bewährten Methoden von Well-Architected erstellt wurde. Um eine vollständige Well-Architected-Lösung zu erhalten, sollten Sie so viele bewährte Methoden von Well-Architected wie möglich befolgen.

Die benutzerdefinierte Identitätskomponente in dieser Anleitung verwendet AWS X-Ray, das Benutzeranfragen verfolgt, und nutzt Lambda Powertools, um detaillierte Informationen aus der Backend-Logik heraus bereitzustellen. Darüber hinaus verwenden alle Komponenten dieser Anleitung Amazon CloudWatch, um Protokolle von Virtual Private Cloud (VPC) -Flows, API-Gateway-Zugriffen, Amazon S3-Zugriffen, Lambda-Abschlüssen und AWS Fargate-Aufgaben zu verfolgen. Schließlich ermöglicht AWS CDK kontrollierte Änderungen und eine konsistente Konfiguration in allen Umgebungen, sodass Sie Ihre Sicherheits- und Compliance-Anforderungen erfüllen können.

Whitepaper zur betrieblichen Exzellenz lesen

Zur Unterstützung einer robusten Identitätsverwaltung verwaltet die benutzerdefinierte Identitätskomponente dieser Anleitung Spieleridentitäten und Authentifizierung. Alle anderen Feature dieser Anleitung sichern den Zugriff durch die Validierung von JSON-Web-Tokens anhand öffentlicher Schlüssel, die von der Identitätskomponente bereitgestellt werden. Die benutzerdefinierte Identitätskomponente wird durch AWS WAF geschützt, eine Webanwendungs-Firewall, die Anwendungen vor gängigen Web-Exploits schützt. Außerdem werden alle Daten sowohl im Ruhezustand als auch während der Übertragung verschlüsselt.

Whitepaper zur Sicherheit lesen

Diese Anleitung nutzt hauptsächlich vollständig verwaltete Services, die standardmäßig über mehrere Availability Zones (AZ) innerhalb einer AWS-Region hochverfügbar sind. Für Fargate wird eine Multi-AZ-Konfiguration für hohe Verfügbarkeit verwendet, und alle Datenbanktabellen in DynamoDB sind durch Point-in-Time-Recovery geschützt.

Whitepaper zur Zuverlässigkeit lesen

Diese Anleitung kombiniert eine Reihe verschiedener Ansätze, um verschiedene Feature zur Leistungssteigerung zu ermöglichen. Erstens sind die für diese Anleitung ausgewählten Services so konzipiert, dass sie bei Spielstarts und anderen Spitzen im Datenverkehr skalierbar sind, indem sie die automatisch skalierenden Komponenten der Serverless-Services nutzen. Als Nächstes ermöglichen die X-Ray-Daten, die von der benutzerdefinierten Identitätskomponente bereitgestellt werden, den Entwickler, Staus zu finden und die Guidance an ihre Bedürfnisse anzupassen, um die Leistung zu optimieren. Schließlich werden die öffentlichen Schlüssel, die die JSON-Web-Tokens validieren, über CloudFront bereitgestellt, um die Latenz für Backend-Komponenten zu optimieren.

Whitepaper zur Leistung und Effizienz lesen

Diese Anleitung nutzt nach Möglichkeit Serverless-Komponenten, sodass Sie nur für genau die Ressourcen bezahlen, die Sie verwenden. Um die Kosten weiter zu senken, sollten Sie AWS-Sparpläne in Betracht ziehen, mit denen Sie die Kosten sowohl für Lambda als auch für Fargate optimieren können. Wenn Sie von DynamoDB-Tabellen auf On-Demand-Tabellen zur automatischen Skalierung der bereitgestellten Kapazität umsteigen, können Sie außerdem die reservierte DynamoDB-Kapazität verwenden, um die Kosten zu senken, wenn der Basisdatenverkehr bekannt ist.

Alle in dieser Anleitung verwendeten Dienste sind so konfiguriert, dass sie je nach Bedarf skaliert werden, einschließlich API Gateway, Lambda, DynamoDB, Amazon S3, Fargate, Secrets Manager und AWS WAF, wodurch sichergestellt wird, dass nur die Mindestressourcen benötigt werden. 

Whitepaper zur Kostenoptimierung lesen

Die Komponenten der Serverless-Services in diesem Leitfaden werden automatisch skaliert, so dass die Komponenten bei kontinuierlicher Übereinstimmung mit der Auslastung mit nur den minimal benötigten Ressourcen skalieren können. Dadurch werden die Umweltauswirkungen der Infrastruktur reduziert, da die Bereitstellung ungenutzter Kapazitäten vermieden wird.

Whitepaper zur Nachhaltigkeit lesen

Haftungsausschluss

Der Beispielcode, die Softwarebibliotheken, die Befehlszeilentools, die Machbarkeitsnachweise, die Vorlagen oder andere zugehörige Technologien (einschließlich derjenigen, die von unseren Mitarbeitern bereitgestellt werden) werden Ihnen als AWS-Inhalte im Rahmen der AWS-Kundenvereinbarung oder der entsprechenden schriftlichen Vereinbarung zwischen Ihnen und AWS (je nachdem, was zutrifft) zur Verfügung gestellt. Sie sollten diese AWS-Inhalte nicht in Ihren Produktionskonten oder für Produktions- oder andere kritische Daten verwenden. Sie sind verantwortlich für das Testen, Sichern und Optimieren des AWS-Inhalts, z. B. des Beispielcodes, für die Verwendung in der Produktion auf der Grundlage Ihrer spezifischen Qualitätskontrollverfahren und -standards. Bei der Bereitstellung von AWS-Inhalten können AWS-Gebühren für die Erstellung oder Nutzung von kostenpflichtigen AWS-Ressourcen anfallen, z. B. für den Betrieb von Amazon-EC2-Instances oder die Nutzung von Amazon-S3-Speicher.

Haben Sie die gewünschten Informationen gefunden?

Ihr Beitrag hilft uns, die Qualität der Inhalte auf unseren Seiten zu verbessern.