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 von Ressource. AWS Proton Sie verleihen Servicevorlagen mehr Flexibilität. Komponenten bieten Plattformteams einen Mechanismus zur Erweiterung der wichtigsten Infrastrukturmuster und zur Definition von Schutzmaßnahmen, die es Entwicklern ermöglichen, Aspekte ihrer Anwendungsinfrastruktur zu verwalten.

Darin definieren AWS Proton Administratoren eine Standardinfrastruktur, die von Entwicklungsteams und Anwendungen verwendet wird. Entwicklungsteams müssen jedoch möglicherweise zusätzliche Ressourcen für ihre spezifischen Anwendungsfälle hinzufügen, z. B. 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 Beibehaltung dieser häufigen Änderungen in vom Administrator 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 hätte. 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 wie Aufgaben zu standardisieren. AWS Fargate An dieser Stelle 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 fügt die Komponente dann einer Dienstinstanz hinzu. AWS Proton stellt durch die Komponente definierte Infrastrukturressourcen genauso bereit, wie sie Ressourcen für Umgebungen und Dienstinstanzen bereitstellt.

Eine Komponente kann Eingaben von Serviceinstanzen lesen und Ausgaben für die Dienstinstanz bereitstellen, was für ein vollständig integriertes Erlebnis sorgt. 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. Wenn die Service-Vorlage zur Bereitstellung einer Service-Instance AWS Proton gerendert wird, kann die Service-Instance auf den Bucket verweisen und ihn verwenden.

Bei den Komponenten, die AWS Proton derzeit unterstützt werden, handelt es sich um direkt definierte Komponenten. Sie übergeben die Infrastructure as Code (IaC) -Datei, die die Infrastruktur der Komponente definiert, direkt an die AWS Proton API oder Konsole. Dies unterscheidet sich von einer Umgebung oder einem Dienst, in 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 Infrastruktur zu definieren und bereitzustellen. AWS Proton stellt alle direkt definierten Komponenten bereit, die in derselben Umgebung ausgeführt werden und dieselbe AWS 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 Dienstinstanzen auf der Grundlage einer Eigenschaft von AWS Proton Dienstvorlagenversionen zulassen. Standardmäßig können Entwickler keine Komponenten an Serviceinstanzen anhängen.

    Weitere Informationen zu dieser Eigenschaft finden Sie unter dem supportedComponentSourcesParameter der CreateServiceTemplateVersionAPI-Aktion in der AWS Proton API-Referenz.

    Anmerkung

    Wenn Sie die Vorlagensynchronisierung verwenden, werden Dienstvorlagenversionen implizit AWS Proton erstellt, wenn Sie Änderungen an einem Dienstvorlagenpaket in einem Repository festschreiben. In diesem Fall geben Sie diese Eigenschaft in einer Datei an, die jeder Hauptversion der Service-Vorlage zugeordnet ist, anstatt die unterstützten Komponentenquellen bei der Erstellung der Service-Vorlagenversion 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 beschränkt sich die Komponentenrolle auf die Infrastruktur, die Entwickler mithilfe direkt definierter Komponenten in der Umgebung hinzufügen können. In Ermangelung der Komponentenrolle können Entwickler keine direkt definierten Komponenten in der Umgebung erstellen.

    Weitere Informationen zum Zuweisen einer Komponentenrolle finden Sie unter dem componentRoleArnParameter der CreateEnvironmentAPI-Aktion in der AWS Proton API-Referenz.

    Anmerkung

    Komponentenrollen werden in Selbstverwaltete Bereitstellung Umgebungen nicht verwendet.

Wie schneiden Komponenten im Vergleich zu anderen AWS Proton Ressourcen ab?

In vielerlei Hinsicht ähneln Komponenten anderen AWS Proton Ressourcen. Ihre Infrastruktur ist in einer IaC-Vorlagendatei definiert, die entweder im AWS CloudFormation YAML- oder Terraform HCL-Format verfasst wurde. AWS Proton kann die Komponenteninfrastruktur entweder mithilfe einer verwalteten Bereitstellung oder einer selbstverwalteten Bereitstellung bereitstellen.AWS

Komponenten unterscheiden sich jedoch in einigen Punkten von anderen AWS Proton Ressourcen:

  • Getrennter Zustand — Komponenten sind so konzipiert, dass sie an Serviceinstanzen angehängt werden und ihre Infrastruktur erweitern. Sie können sich aber auch in einem getrennten Zustand befinden, in dem sie an keine Dienstinstanz angehängt sind. Weitere Informationen zu Komponentenstatus finden Sie unterStatus der Komponenten.

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

  • Keine vom Kunden verwalteten Komponenten — AWS Proton stellt immer die Komponenteninfrastruktur für Sie bereit. Es gibt keine Version der Komponenten, bei denen Sie Ihre eigenen Ressourcen mitbringen können. Weitere Informationen zu vom Kunden verwalteten Umgebungen finden Sie unterErstellen einer Umgebung.

  • Keine Vorlagenressource — Direkt definierten Komponenten ist keine Vorlagenressource zugeordnet, ähnlich wie bei Umgebungs- und Dienstvorlagen. Sie stellen der Komponente direkt eine IaC-Vorlagendatei zur Verfügung. 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 Bundles an bestimmten Speicherorten zu speichern, und Sie erstellen keine Vorlagenressource AWS Proton aus IaC-Dateien.

  • Keine CodeBuild basierte Bereitstellung — Sie können direkt definierte Komponenten nicht mithilfe Ihres eigenen benutzerdefinierten Bereitstellungsskripts bereitstellen, das als basierte Bereitstellung bezeichnet wird. CodeBuild Weitere Informationen finden Sie unter Wie CodeBuild funktioniert die Bereitstellung.

Komponenten in der Konsole AWS Proton

Verwenden Sie die AWS Proton Konsole, um AWS Proton Komponenten zu erstellen, zu aktualisieren, anzuzeigen und zu verwenden.

Die folgenden Konsolenseiten beziehen sich auf Komponenten. Wir enthalten direkte Links zu Konsolenseiten der obersten Ebene.

  • Komponenten — Sehen Sie sich die Liste der Komponenten in Ihrem AWS Konto an. Sie können neue Komponenten erstellen und vorhandene Komponenten aktualisieren oder löschen. Wählen Sie einen Komponentennamen in der Liste aus, um die zugehörige Detailseite aufzurufen.

    Ähnliche Listen gibt es auch auf den Seiten mit den Umgebungsdetails und den Serviceinstanzen. In diesen Listen werden nur die Komponenten angezeigt, die der aufgerufenen Ressource zugeordnet sind. Wenn Sie eine Komponente aus einer dieser Listen erstellen, AWS Proton wählt Sie die zugehörige Umgebung auf der Seite Komponente erstellen vorab aus.

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

    Sehen Sie sich auf der Detailseite die Komponentendetails und den Status an und aktualisieren oder löschen Sie die Komponente. Sie können Listen mit Ausgaben (z. B. bereitgestellte Ressourcen ARNs), bereitgestellten AWS 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 klicken Sie dann im Menü Aktionen auf Komponente aktualisieren. Sie können auch auf den Seiten mit den Komponentendetails die Option Aktualisieren auswählen.

    Sie können die meisten Details der Komponente aktualisieren. Sie können den Komponentennamen 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 bietet Berechtigungen für deren Bereitstellung.

  • Neue Dienstvorlagenversion erstellen — Wenn Sie eine Dienstvorlagenversion erstellen, können Sie Unterstützte Komponentenquellen für die Vorlagenversion angeben. Dadurch wird die Fähigkeit gesteuert, Komponenten an Dienstinstanzen von Diensten anzuhängen, die auf dieser Vorlagenversion basieren.

Komponenten in der AWS Proton API und AWS CLI

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

Mit den folgenden API-Aktionen werden AWS Proton Komponentenressourcen direkt verwaltet.

  • CreateComponent— Erstellen Sie eine AWS Proton Komponente.

  • DeleteComponent— Löscht eine AWS Proton Komponente.

  • GetComponent— Ruft detaillierte Daten für eine Komponente ab.

  • ListComponentOutputs— Ruft eine Liste der Ausgaben der Komponente Infrastructure as Code (IaC) ab.

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

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

Die folgenden API-Aktionen anderer AWS 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 Umgebung AWS Proton verwendet wird. Er bestimmt den Umfang der Infrastruktur, den eine direkt definierte Komponente bereitstellen kann.

  • CreateServiceTemplateVersion— Wird verwendetsupportedComponentSources, um unterstützte Komponentenquellen anzugeben. Komponenten mit unterstützten Quellen können auf der Grundlage dieser Dienstvorlagenversion an Dienstinstanzen angehängt werden.

Häufig gestellte Fragen zu Komponenten

Was ist der Lebenszyklus einer Komponente?

Komponenten können sich in einem angehängten oder abgetrennten Zustand befinden. Sie sind so konzipiert, dass sie an eine Dienstinstanz angehängt 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 kontrolliert und sicher zu löschen oder an eine andere Dienstinstanz anzuhängen. Weitere Informationen finden Sie unter Status der Komponenten.

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? Angeschlossene Komponenten bieten zusätzliche Infrastruktur, die Ihre Anwendung zur Ausführung ihrer Laufzeitfunktionen benötigt. 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ßnahme AWS Proton müssen Sie die Komponente aktualisieren und sie von ihrer Dienstinstanz trennen, bevor Sie sie löschen können. Anschließend können Sie Ihre Dienstinstanz validieren, um sicherzustellen, dass sie weiterhin bereitgestellt wird und ordnungsgemäß 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 Serviceinstanz frei von jeglicher Abhängigkeit von der Komponente ist, können Sie die Komponente problemlos löschen.

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

Lösung: Um den Anhang zu ändern, aktualisieren Sie die Komponente, um sie von der Serviceinstanz zu trennen, überprüfen Sie die Stabilität der Komponente und der Dienstinstanz 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 Eingaben von Dienstinstanzen für die Benennung und Konfiguration von Infrastrukturressourcen. Das Ändern der angehängten Dienstinstanz könnte die Komponente stören (zusätzlich zu einer möglichen Unterbrechung der Dienstinstanz), wie in den vorherigen häufig gestellten Fragen, Warum kann ich meine angehängten Komponenten nicht löschen? beschrieben. ). 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ßnahme AWS Proton müssen Sie die Komponente aktualisieren und sie von ihrer Dienstinstanz trennen, bevor Sie sie an eine andere Dienstinstanz anhängen können. Anschließend können Sie die Stabilität sowohl der Komponente als auch der Dienstinstanz überprüfen, bevor Sie die Komponente an die neue Dienstinstanz anhängen.