AWS Proton componenti - AWS Proton

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Proton componenti

I componenti sono un tipo di risorsa. AWS Proton Aggiungono flessibilità ai modelli di servizio. I componenti forniscono ai team della piattaforma un meccanismo per estendere i modelli di infrastruttura di base e definire misure di protezione che consentono agli sviluppatori di gestire aspetti della loro infrastruttura applicativa.

In, AWS Proton gli amministratori definiscono l'infrastruttura standard da utilizzare tra i team di sviluppo e le applicazioni. Tuttavia, i team di sviluppo potrebbero dover includere risorse aggiuntive per i loro casi d'uso specifici, come le code di Amazon Simple Queue Service (Amazon SQS) o le tabelle Amazon DynamoDB. Queste risorse specifiche dell'applicazione potrebbero cambiare frequentemente, in particolare durante lo sviluppo iniziale delle applicazioni. Mantenere queste frequenti modifiche nei modelli creati dagli amministratori potrebbe essere difficile da gestire e scalare: gli amministratori avrebbero bisogno di mantenere molti più modelli senza un reale valore aggiunto da parte degli amministratori. Anche l'alternativa, che consente agli sviluppatori di applicazioni di creare modelli per le proprie applicazioni, non è ideale, perché impedisce agli amministratori di standardizzare i principali componenti dell'architettura, come le attività. AWS Fargate È qui che entrano in gioco i componenti.

Con un componente, uno sviluppatore può aggiungere risorse supplementari alla propria applicazione, oltre a quanto definito dagli amministratori nei modelli di ambiente e servizio. Lo sviluppatore collega quindi il componente a un'istanza del servizio. AWS Proton fornisce le risorse dell'infrastruttura definite dal componente proprio come fornisce le risorse per ambienti e istanze di servizio.

Un componente può leggere gli input dell'istanza di servizio e fornire output all'istanza di servizio, per un'esperienza completamente integrata. Ad esempio, se il componente aggiunge un bucket Amazon Simple Storage Service (Amazon S3) per l'utilizzo da parte di un'istanza di servizio, il modello del componente può tenere conto dei nomi delle istanze dell'ambiente e del servizio per denominare il bucket. Quando AWS Proton esegue il rendering del modello di servizio per fornire un'istanza di servizio, l'istanza del servizio può fare riferimento al bucket e utilizzarlo.

I componenti AWS Proton attualmente supportati sono componenti definiti direttamente. Il file Infrastructure as Code (IaC) che definisce l'infrastruttura del componente viene passato direttamente all' AWS Proton API o alla console. È diverso da un ambiente o un servizio, in cui si definisce IaC in un pacchetto modello e si registra il pacchetto come risorsa modello, quindi si utilizza una risorsa modello per creare l'ambiente o il servizio.

Nota

I componenti definiti direttamente consentono agli sviluppatori di definire un'infrastruttura aggiuntiva e di eseguirne il provisioning. AWS Proton esegue il provisioning di tutti i componenti definiti direttamente in esecuzione nello stesso ambiente utilizzando lo stesso ruolo AWS Identity and Access Management (IAM).

Un amministratore può controllare ciò che gli sviluppatori possono fare con i componenti in due modi:

  • Fonti di componenti supportate: un amministratore può consentire il collegamento di componenti alle istanze di servizio in base a una proprietà delle versioni dei modelli di AWS Proton servizio. Per impostazione predefinita, gli sviluppatori non possono collegare componenti alle istanze del servizio.

    Per ulteriori informazioni su questa proprietà, consulta il supportedComponentSourcesparametro dell'azione CreateServiceTemplateVersionAPI nell'AWS Proton API Reference.

    Nota

    Quando si utilizza la sincronizzazione dei modelli di servizio, AWS Proton crea le versioni dei modelli di servizio in modo implicito quando si eseguono modifiche a un pacchetto di modelli di servizio in un repository. In questo caso, anziché specificare le origini dei componenti supportate durante la creazione della versione del modello di servizio, si specifica questa proprietà in un file associato a ogni versione principale del modello di servizio. Per ulteriori informazioni, consulta Modelli di servizio di sincronizzazione.

  • Ruoli dei componenti: un amministratore può assegnare un ruolo componente a un ambiente. AWS Proton assume questo ruolo quando effettua il provisioning dell'infrastruttura definita da un componente definito direttamente nell'ambiente. Pertanto, il ruolo del componente delimita l'infrastruttura che gli sviluppatori possono aggiungere utilizzando componenti definiti direttamente nell'ambiente. In assenza del ruolo del componente, gli sviluppatori non possono creare componenti definiti direttamente nell'ambiente.

    Per ulteriori informazioni sull'assegnazione del ruolo di un componente, consulta il componentRoleArnparametro dell'azione CreateEnvironmentAPI nell'AWS Proton API Reference.

    Nota

    I ruoli dei componenti non vengono utilizzati negli Provisioning autogestito ambienti.

Come si confrontano i componenti con altre AWS Proton risorse?

Per molti aspetti, i componenti sono simili ad altre AWS Proton risorse. La loro infrastruttura è definita in un file modello IAc, creato in formato AWS CloudFormation YAML o Terraform HCL. AWS Proton può fornire l'infrastruttura dei componenti utilizzando il provisioning gestito o AWS il provisioning autogestito.

I componenti sono tuttavia diversi dalle altre AWS Proton risorse per alcuni aspetti:

  • Stato distaccato: i componenti sono progettati per essere collegati alle istanze di servizio e per estenderne l'infrastruttura, ma possono anche trovarsi in uno stato distaccato, in cui non sono collegati a nessuna istanza di servizio. Per ulteriori informazioni sugli stati dei componenti, vedere. Stati dei componenti

  • Nessuno schema: i componenti non hanno uno schema associato come i pacchetti di modelli. Gli input dei componenti sono definiti da un servizio. Un componente può consumare input quando è collegato a un'istanza di servizio.

  • Nessun componente gestito dal cliente: fornisce AWS Proton sempre l'infrastruttura dei componenti per te. Non esiste una versione dei componenti basata sull'utilizzo delle risorse proprie. Per ulteriori informazioni sugli ambienti gestiti dai clienti, consulta. Creazione di un ambiente

  • Nessuna risorsa modello: ai componenti definiti direttamente non è associata una risorsa modello simile ai modelli di ambiente e servizio. Fornisci un file modello IAc direttamente al componente. Analogamente, fornite direttamente un manifesto che definisce il linguaggio dei modelli e il motore di rendering per il provisioning dell'infrastruttura del componente. La creazione del file modello e del manifesto è simile alla creazione di un pacchetto di modelli. Tuttavia, con i componenti definiti direttamente, non è necessario archiviare i file IAc come pacchetti in posizioni particolari e non si crea una risorsa modello all'interno AWS Proton di file IaC esterni.

  • Nessun provisioning CodeBuild basato: non è possibile effettuare il provisioning di componenti definiti direttamente utilizzando uno script di provisioning personalizzato, noto come provisioning basato. CodeBuild Per ulteriori informazioni, consulta Come funziona il CodeBuild provisioning.

Componenti nella console AWS Proton

Usa la AWS Proton console per creare, aggiornare, visualizzare e utilizzare AWS Proton i componenti.

Le seguenti pagine della console sono relative ai componenti. Includiamo collegamenti diretti alle pagine di console di primo livello.

  • Componenti: visualizza l'elenco dei componenti del tuo AWS account. Puoi creare nuovi componenti e aggiornare o eliminare i componenti esistenti. Scegliete il nome di un componente dall'elenco per visualizzarne la pagina dei dettagli.

    Elenchi simili sono disponibili anche nelle pagine dei dettagli dell'ambiente e dei dettagli dell'istanza del servizio. Questi elenchi mostrano solo i componenti associati alla risorsa visualizzata. Quando si crea un componente da uno di questi elenchi, AWS Proton preseleziona l'ambiente associato nella pagina Crea componente.

  • Dettagli del componente: per visualizzare la pagina dei dettagli del componente, scegliete il nome di un componente nell'elenco Componenti.

    Nella pagina dei dettagli, visualizza i dettagli e lo stato del componente e aggiorna o elimina il componente. Visualizza e gestisci gli elenchi di output (ad esempio, risorse assegnate ARNs), AWS CloudFormation stack assegnati e tag assegnati.

  • Crea componente: crea un componente. Immettete il nome e la descrizione del componente, scegliete le risorse associate, specificate il file IAc di origine del componente e assegnate i tag.

  • Aggiorna componente: per aggiornare un componente, selezionalo nell'elenco Componenti e quindi, nel menu Azioni, scegli Aggiorna componente. In alternativa, nelle pagine dei dettagli del componente, scegli Aggiorna.

    Puoi aggiornare la maggior parte dei dettagli del componente. Non è possibile aggiornare il nome del componente. E puoi scegliere se ridistribuire o meno il componente dopo un aggiornamento riuscito.

  • Configurazione dell'ambiente: quando si crea o si aggiorna un ambiente, è possibile specificare il ruolo del componente. Questo ruolo controlla la capacità di eseguire componenti definiti direttamente nell'ambiente e fornisce le autorizzazioni per il loro provisioning.

  • Crea una nuova versione del modello di servizio: quando si crea una versione del modello di servizio, è possibile specificare le origini dei componenti supportate per la versione del modello. Ciò controlla la capacità di collegare componenti alle istanze di servizio dei servizi basati su questa versione del modello.

Componenti nell' AWS Proton API e AWS CLI

Utilizza l' AWS Proton API o il AWS CLI per creare, aggiornare, visualizzare e utilizzare AWS Proton i componenti.

Le seguenti azioni API gestiscono direttamente le risorse AWS Proton dei componenti.

Le seguenti azioni API di altre AWS Proton risorse hanno alcune funzionalità relative ai componenti.

  • CreateEnvironment, UpdateEnvironmentcomponentRoleArn Da utilizzare per specificare l'Amazon Resource Name (ARN) del ruolo del servizio IAM AWS Proton utilizzato per il provisioning di componenti definiti direttamente in questo ambiente. Determina l'ambito dell'infrastruttura che un componente definito direttamente può fornire.

  • CreateServiceTemplateVersionsupportedComponentSources Da utilizzare per specificare le sorgenti dei componenti supportate. I componenti con fonti supportate possono essere collegati alle istanze di servizio in base a questa versione del modello di servizio.

Domande frequenti sui componenti

Qual è il ciclo di vita di un componente?

I componenti possono trovarsi in uno stato collegato o distaccato. Sono progettati per essere collegati a un'istanza di servizio e migliorarne l'infrastruttura per la maggior parte del tempo. I componenti scollegati si trovano in uno stato transitorio che consente di eliminare un componente o collegarlo a un'altra istanza del servizio in modo controllato e sicuro. Per ulteriori informazioni, consulta Stati dei componenti.

Perché non posso eliminare i componenti allegati?

Soluzione: per eliminare un componente allegato, aggiorna il componente per scollegarlo dall'istanza del servizio, convalida la stabilità dell'istanza del servizio e quindi elimina il componente.

Perché è necessario? I componenti collegati forniscono l'infrastruttura aggiuntiva di cui l'applicazione ha bisogno per eseguire le sue funzioni di runtime. L'istanza del servizio potrebbe utilizzare gli output dei componenti per rilevare e utilizzare le risorse di questa infrastruttura. L'eliminazione del componente, con conseguente rimozione delle relative risorse infrastrutturali, potrebbe causare interruzioni dell'istanza di servizio collegata.

Come misura di sicurezza aggiuntiva, AWS Proton richiede l'aggiornamento del componente e lo scollegamento dalla relativa istanza di servizio prima di poterlo eliminare. È quindi possibile convalidare l'istanza del servizio per assicurarsi che continui a essere distribuita e a funzionare correttamente. Se rilevi un problema, puoi ricollegare rapidamente il componente all'istanza del servizio, quindi lavorare per risolvere il problema. Quando sei sicuro che la tua istanza di servizio sia libera da qualsiasi dipendenza dal componente, puoi eliminare il componente in tutta sicurezza.

Perché non posso modificare direttamente l'istanza del servizio collegata a un componente?

Soluzione: per modificare l'allegato, aggiorna il componente per scollegarlo dall'istanza del servizio, convalida la stabilità del componente e dell'istanza del servizio, quindi collega il componente alla nuova istanza di servizio.

Perché è necessario? Un componente è progettato per essere collegato a un'istanza di servizio. Il componente potrebbe utilizzare gli input dell'istanza di servizio per la denominazione e la configurazione delle risorse dell'infrastruttura. La modifica dell'istanza del servizio collegata potrebbe causare interruzioni per il componente (oltre alla possibile interruzione dell'istanza del servizio), come descritto nelle domande frequenti precedenti, Perché non posso eliminare i componenti allegati? ). Ad esempio, potrebbe causare la ridenominazione e possibilmente anche la sostituzione delle risorse definite nel modello IaC del componente.

Come misura di sicurezza aggiuntiva, AWS Proton richiede l'aggiornamento del componente e lo scollegamento dalla relativa istanza di servizio prima di poterlo collegare a un'altra istanza del servizio. È quindi possibile convalidare la stabilità sia del componente che dell'istanza del servizio prima di collegare il componente alla nuova istanza di servizio.