AWS Proton-Komponenten - AWS Proton

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Proton-Komponenten

Komponenten sind eine Art vonAWS Proton Ressource. Sie verleihen Service-Vorlagen mehr Flexibilität. Komponenten bieten Plattformteams einen Mechanismus zur Erweiterung der Kerninfrastrukturmuster und zur Definition von Schutzmaßnahmen, die es Entwicklern ermöglichen, Aspekte ihrer Anwendungsinfrastruktur zu verwalten.

Definieren Sie inAWS Proton Administratoren eine Standardinfrastruktur, die in allen Entwicklungsteams und Anwendungen verwendet wird. Entwicklungsteams müssen jedoch möglicherweise zusätzliche Ressourcen für ihre spezifischen Anwendungsfälle hinzufügen, wie Amazon Simple Queue Service (Amazon SQS) -Warteschlangen oder Amazon DynamoDB-Tabellen. Diese anwendungsspezifischen Ressourcen können sich häufig ändern, insbesondere während der frühen Anwendungsentwicklung. Die Aufrechterhaltung dieser häufigen Änderungen an von Administratoren erstellten Vorlagen könnte schwierig zu verwalten und zu skalieren sein. Administratoren müssten viel mehr Vorlagen verwalten, ohne dass der Administrator einen echten Mehrwert bietet. Die Alternative, Anwendungsentwickler Vorlagen für ihre Anwendungen erstellen zu lassen, ist ebenfalls nicht ideal, da sie Administratoren die Möglichkeit nimmt, die wichtigsten Architekturkomponenten wieAWS Fargate Aufgaben zu standardisieren. Hier kommen Komponenten ins Spiel.

Mit einer Komponente kann ein Entwickler seiner Anwendung zusätzliche Ressourcen hinzufügen, die über das hinausgehen, was Administratoren in Umgebungs- und Dienstvorlagen definiert haben. Der Entwickler hängt die Komponente dann an eine Dienstinstanz an. AWS Protonstellt Infrastrukturressourcen bereit, die von der Komponente definiert werden, genauso wie sie Ressourcen für Umgebungen und Dienstinstanzen bereitstellt.

Eine Komponente kann Service-Instance-Eingaben lesen und Ausgaben für die Service-Instance bereitstellen, um ein vollständig integriertes Erlebnis zu gewährleisten. Wenn die Komponente beispielsweise einen Amazon Simple Storage Service (Amazon S3) -Bucket zur Verwendung durch eine Service-Instance hinzufügt, kann die Komponentenvorlage die Umgebungs- und Service-Instance-Namen bei der Benennung des Buckets berücksichtigen. WennAWS Proton die Dienstvorlage zur Bereitstellung einer Dienstinstanz gerendert wird, kann die Dienstinstanz auf den Bucket verweisen und ihn verwenden.

Die Komponenten, dieAWS Proton derzeit unterstützt werden, sind direkt definierte Komponenten. Sie übergeben die Infrastructure as Code (IaC) -Datei, die die Infrastruktur der Komponente definiert, direkt an dieAWS Proton API oder Konsole. Dies unterscheidet sich von einer Umgebung oder einem Dienst, bei dem Sie IaC in einem Vorlagenpaket definieren und das Paket als Vorlagenressource registrieren und dann eine Vorlagenressource verwenden, um die Umgebung oder den Dienst zu erstellen.

Anmerkung

Direkt definierte Komponenten ermöglichen es Entwicklern, zusätzliche Infrastrukturen zu definieren und bereitzustellen. AWS Protonstellt alle direkt definierten Komponenten bereit, die in derselben Umgebung laufen und dieselbeAWS Identity and Access Management (IAM-) Rolle verwenden.

Ein Administrator kann auf zwei Arten steuern, was Entwickler mit Komponenten tun können:

  • Unterstützte Komponentenquellen — Ein Administrator kann das Anhängen von Komponenten an Service-Instanzen auf der Grundlage einer Eigenschaft vonAWS Proton Service-Template-Versionen zulassen. Standardmäßig können Entwickler keine Komponenten an Service-Instanzen anhängen.

    Weitere Informationen zu dieser Eigenschaft finden Sie im supportedComponentSourcesParameter der CreateServiceTemplateVersionAPI-Aktion in der AWS ProtonAPI-Referenz.

    Anmerkung

    Wenn Sie die Vorlagensynchronisierung verwenden, werden automatisch Service-Template-VersionenAWS Proton erstellt, wenn Sie Änderungen an einem Service-Template-Paket in einem Repository übertragen. In diesem Fall geben Sie diese Eigenschaft in einer Datei an, die jeder Service-Template-Hauptversion zugeordnet ist, anstatt unterstützte Komponentenquellen bei der Erstellung der Service-Template-Version anzugeben. Weitere Informationen finden Sie unter Synchronisieren von Dienstvorlagen.

  • Komponentenrollen — Ein Administrator kann einer Umgebung eine Komponentenrolle zuweisen. AWS Protonübernimmt diese Rolle, wenn es eine Infrastruktur bereitstellt, die durch eine direkt definierte Komponente in der Umgebung definiert ist. Daher umfasst die Komponentenrolle die Infrastruktur, die Entwickler mithilfe direkt definierter Komponenten in der Umgebung hinzufügen können. Ohne die Komponentenrolle können Entwickler keine direkt definierten Komponenten in der Umgebung erstellen.

    Weitere Informationen zum Zuweisen einer Komponentenrolle finden Sie im componentRoleArnParameter der CreateEnvironmentAPI-Aktion in der AWS ProtonAPI-Referenz.

    Anmerkung

    Komponentenrollen werden inSelbstverwaltetes Provisioned Umgebungen nicht verwendet.

Wie schneiden Komponenten im Vergleich zu anderenAWS Proton Ressourcen ab?

In vielerlei Hinsicht ähneln Komponenten anderenAWS Proton Ressourcen. Ihre Infrastruktur ist in einer IaC-Vorlagendatei definiert, die entweder imAWS CloudFormation YAML- oder Terraform-HCL-Format verfasst wurde. AWS Protonkann die Komponenteninfrastruktur entweder mithilfe von AWS-Managed Provisioning oder Self-Managed Provisioning bereitstellen.

Komponenten unterscheiden sich jedoch in einigen Punkten von anderenAWS Proton Ressourcen:

  • Getrennter Zustand — Komponenten sind so konzipiert, dass sie an Service-Instances angefügt werden und ihre Infrastruktur erweitern, können sich aber auch in einem getrennten Zustand befinden, in dem sie keiner Service-Instance zugeordnet sind. Weitere Informationen zum Komponenten-Status finden Sie unterKomponenten-Zustände.

  • Kein Schema — Komponenten haben kein zugeordnetes Schema, wie es bei Vorlagenpaketen der Fall ist. Komponenteneingaben werden durch einen Service definiert. Eine Komponente kann Eingaben verbrauchen, wenn sie an eine Service-Instance angehängt ist.

  • Keine vom Kunden verwalteten Komponenten —AWS Proton stellt immer die Komponenteninfrastruktur für Sie bereit. Es gibt keine „Bring Your Own Resources“ -Version von Komponenten. Weitere Informationen über vom Kunden verwaltete Umgebungen finden Sie unterErstellen einer Umgebung.

  • Keine Vorlagenressource — Direkt definierten Komponenten ist keine Vorlagenressource zugeordnet, ähnlich wie Umgebungs- und Dienstvorlagen. Sie stellen eine IAc-Vorlagendatei direkt für die Komponente bereit. In ähnlicher Weise stellen Sie direkt ein Manifest bereit, das die Vorlagensprache und die Rendering-Engine für die Bereitstellung der Infrastruktur der Komponente definiert. Sie erstellen die Vorlagendatei und das Manifest auf ähnliche Weise wie beim Erstellen eines Vorlagenpakets. Bei direkt definierten Komponenten ist es jedoch nicht erforderlich, IaC-Dateien als Pakete an bestimmten Speicherorten zu speichern, und Sie erstellen keine VorlagenressourceAWS Proton aus IaC-Dateien.

  • Keine CodeBuild basierte Bereitstellung — Sie können keine direkt definierten Komponenten mithilfe Ihres eigenen benutzerdefinierten Bereitstellungsskripts bereitstellen, das als CodeBuildbasiertes Provisioning bezeichnet wird. Weitere Informationen finden Sie unter So CodeBuild funktioniert die Bereitstellung.

Komponenten in derAWS Proton Konsole

Verwenden Sie dieAWS Proton Konsole, umAWS Proton Komponenten zu erstellen, zu aktualisieren, anzuzeigen und zu verwenden.

Die folgenden Konsolenseiten beziehen sich auf Komponenten. Wir fügen direkte Links zu Konsolenseiten der obersten Ebene hinzu.

  • Komponenten — Sehen Sie sich die Liste der Komponenten in IhremAWS Konto an. Sie können neue Komponenten erstellen und vorhandene Komponenten aktualisieren oder löschen. Wählen Sie einen Komponenten-Namen in der Liste, um die Detailseite anzuzeigen.

    Ähnliche Listen gibt es auch auf den Seiten Umgebungsdetails und Service-Instanz-Details. In diesen Listen werden nur die Komponenten angezeigt, die der betrachteten Ressource zugeordnet sind. Wenn Sie eine Komponente aus einer dieser Listen erstellen, wählen Sie dieAWS Proton zugehörige Umgebung auf der Seite Komponente erstellen vorab aus.

  • Komponentendetails — Um die Seite mit den Komponentendetails anzuzeigen, wählen Sie einen Komponentennamen in der Komponentenliste aus.

    Sehen Sie sich auf der Detailseite die Komponentendetails und den Status an und aktualisieren oder löschen Sie die Komponente. Listen mit Ausgaben (z. B. bereitgestellten Ressourcen-ARNs), bereitgestelltenAWS CloudFormation Stacks und zugewiesenen Tags anzeigen und verwalten.

  • Komponente erstellen — Erstellen Sie eine Komponente. Geben Sie den Namen und die Beschreibung der Komponente ein, wählen Sie die zugehörigen Ressourcen aus, geben Sie die IaC-Quelldatei der Komponente an und weisen Sie Tags zu.

  • Komponente aktualisieren — Um eine Komponente zu aktualisieren, wählen Sie die Komponente in der Komponentenliste aus und wählen Sie dann im Menü Aktionen die Option Komponente aktualisieren aus. Wählen Sie alternativ auf den Seiten mit den Komponentendetails die Option Aktualisieren aus.

    Sie können die meisten Details der Komponente aktualisieren. Sie können den Komponenten-Namen nicht aktualisieren. Und Sie können wählen, ob Sie die Komponente nach einem erfolgreichen Update erneut bereitstellen möchten oder nicht.

  • Umgebung konfigurieren — Wenn Sie eine Umgebung erstellen oder aktualisieren, können Sie eine Komponentenrolle angeben. Diese Rolle steuert die Fähigkeit, direkt definierte Komponenten in der Umgebung auszuführen, und gewährt Berechtigungen für deren Bereitstellung.

  • Neue Service-Vorlagenversion erstellen — Wenn Sie eine Service-Template-Version erstellen, können Sie Unterstützte Komponentenquellen für die Vorlagenversion angeben. Dies steuert die Fähigkeit, Komponenten an Dienstinstanzen von Diensten anzuhängen, die auf dieser Vorlagenversion basieren.

Komponenten in derAWS Proton API undAWS CLI

Verwenden Sie dieAWS Proton API oder die,AWS CLI umAWS Proton Komponenten zu erstellen, zu aktualisieren, anzuzeigen und zu verwenden.

Mit den folgenden API-Aktionen werdenAWS Proton Komponentenressourcen direkt verwaltet.

  • CreateComponent— Erstellen Sie eineAWS Proton Komponente.

  • DeleteComponent— Löscht eineAWS Proton Komponente.

  • GetComponent— Holen Sie sich detaillierte Daten für eine Komponente.

  • ListComponentOutputs— Ruft eine Liste der Komponentenausgaben (Infrastructure as Code) ab.

  • ListComponentProvisionedResources— Listet bereitgestellte Ressourcen für eine Komponente mit Details auf.

  • ListComponents— Listet Komponenten mit zusammenfassenden Daten auf. Sie können die Ergebnisliste nach Umgebung, Dienst oder einer einzelnen Dienstinstanz filtern.

Die folgenden API-Aktionen andererAWS Proton Ressourcen haben einige Funktionen, die sich auf Komponenten beziehen.

  • CreateEnvironment, UpdateEnvironment— Wird verwendet,componentRoleArn um den Amazon-Ressourcennamen (ARN) der IAM-Servicerolle anzugeben, die bei der Bereitstellung direkt definierter Komponenten in dieser UmgebungAWS Proton verwendet wird. Sie bestimmt den Umfang der Infrastruktur, die eine direkt definierte Komponente bereitstellen kann.

  • CreateServiceTemplateVersion— Wird verwendetsupportedComponentSources, um unterstützte Komponentenquellen anzugeben. Komponenten mit unterstützten Quellen können auf Basis dieser Service-Template-Version an Service-Instanzen angehängt werden.

Häufig gestellte Fragen zur Komponente

Was ist der Lebenszyklus einer Komponente?

Komponenten können sich in einem angeschlossenen oder getrennten Zustand befinden. Sie sind so konzipiert, dass sie an eine Service-Instance angefügt werden können und deren Infrastruktur in den meisten Fällen verbessern. Getrennte Komponenten befinden sich in einem Übergangszustand, der es Ihnen ermöglicht, eine Komponente zu löschen oder sie auf kontrollierte und sichere Weise an eine andere Service-Instance anzuhängen. Weitere Informationen finden Sie unter Komponenten-Zustände.

Warum kann ich meine angehängten Komponenten nicht löschen?

Lösung: Um eine angehängte Komponente zu löschen, aktualisieren Sie die Komponente, um sie von der Dienstinstanz zu trennen, überprüfen Sie die Stabilität der Dienstinstanz und löschen Sie dann die Komponente.

Warum ist das erforderlich? Angehängte Komponenten bieten zusätzliche Infrastruktur, die Ihre Anwendung benötigt, um ihre Laufzeitfunktionen auszuführen. Die Dienstinstanz verwendet möglicherweise Komponentenausgaben, um Ressourcen dieser Infrastruktur zu erkennen und zu nutzen. Das Löschen der Komponente und damit das Entfernen ihrer Infrastrukturressourcen könnte die angehängte Dienstinstanz stören.

Als zusätzliche SicherheitsmaßnahmeAWS Proton müssen Sie die Komponente aktualisieren und von ihrer Dienstinstanz trennen, bevor Sie sie löschen können. Anschließend können Sie Ihre Dienstinstanz validieren, um sicherzustellen, dass sie weiterhin ordnungsgemäß bereitgestellt und funktioniert. Wenn Sie ein Problem feststellen, können Sie die Komponente schnell wieder an die Dienstinstanz anhängen und dann daran arbeiten, das Problem zu beheben. Wenn Sie sicher sind, dass Ihre Service-Instance keine Abhängigkeit von der Komponente hat, können Sie die Komponente problemlos löschen.

Warum kann ich die angehängte Dienstinstanz einer Komponente nicht direkt ändern?

Lösung: Um den Anhang zu ändern, aktualisieren Sie die Komponente, um sie von der Dienstinstanz zu trennen, überprüfen Sie die Stabilität von Komponenten und Dienstinstanzen und hängen Sie die Komponente dann an die neue Dienstinstanz an.

Warum ist das erforderlich? Eine Komponente ist so konzipiert, dass sie an eine Dienstinstanz angehängt werden kann. Ihre Komponente verwendet möglicherweise Dienstinstanzeingaben für die Benennung und Konfiguration von Infrastrukturressourcen. Das Ändern der angefügten Service-Instance könnte die Komponente unterbrechen (zusätzlich zu einer möglichen Störung der Service-Instance, wie in den vorherigen häufig gestellten Fragen beschrieben, Warum kann ich meine angeschlossenen Komponenten nicht löschen? ). Dies kann beispielsweise dazu führen, dass Ressourcen, die in der IaC-Vorlage der Komponente definiert sind, umbenannt und möglicherweise sogar ersetzt werden.

Als zusätzliche SicherheitsmaßnahmeAWS Proton müssen Sie die Komponente aktualisieren und von ihrer Dienstinstanz trennen, bevor Sie sie an eine andere Service-Instance anhängen können. Sie können dann die Stabilität sowohl der Komponente als auch der Dienstinstanz überprüfen, bevor Sie die Komponente an die neue Dienstinstanz anhängen.