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 diAWS Proton risorsa. 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.

AWS ProtonGli amministratori definiscono l'infrastruttura standard che viene utilizzata nei team di sviluppo e nelle 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 delle applicazioni 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 dovrebbero gestire molti più modelli senza un reale valore aggiunto da parte dell'amministratore. Anche l'alternativa, consentire agli sviluppatori di applicazioni di creare modelli per le loro applicazioni, non è l'ideale, perché toglie agli amministratori la capacità di standardizzare i componenti principali dell'architettura, comeAWS Fargate le attività. È qui che entrano in gioco i componenti.

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

Un componente può leggere gli input delle istanze di servizio e fornire output all'istanza del servizio, per un'esperienza completamente integrata. Ad esempio, se il componente aggiunge un bucket Amazon Simple Storage Service (Amazon S3) da utilizzare da un'istanza di servizio, il modello di componente può tenere conto dei nomi dell'ambiente e delle istanze del servizio per la denominazione del bucket. QuandoAWS 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 componentiAWS Proton attualmente supportati sono componenti definiti direttamente. Si passa il file Infrastructure as Code (iAC) che definisce l'infrastruttura del componente direttamente all'AWS ProtonAPI o alla console. È diverso da un ambiente o servizio, in cui si definisce iAc in un pacchetto di modelli 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 fornirla. AWS Protonfornisce tutti i componenti definiti direttamente in esecuzione nello stesso ambiente utilizzando lo stesso ruoloAWS Identity and Access Management (IAM).

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

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

    Per ulteriori informazioni su questa proprietà, consulta il supportedComponentSourcesparametro dell'azione CreateServiceTemplateVersionAPI nel RiferimentoAWS Proton API.

    Nota

    Quando si utilizza la sincronizzazione dei modelli,AWS Proton crea 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, invece di specificare le fonti dei componenti supportate durante la creazione della versione del modello di servizio, si specifica questa proprietà in un file associato alla versione principale di ogni 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 Protonassume questo ruolo quando fornisce un'infrastruttura definita da un componente definito direttamente nell'ambiente. Pertanto, il ruolo del componente riguarda 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 nel RiferimentoAWS Proton API.

    Nota

    I ruoli dei componenti non vengono utilizzati negliAssegnamento ambienti.

Come si confrontano i componenti con le altreAWS Proton risorse?

In molti modi, i componenti sono simili ad altreAWS Proton risorse. La loro infrastruttura è definita in un file modello IaC, creato in formatoAWS CloudFormation YAML o Terraform HCL. AWS Protonpuò fornire l'infrastruttura dei componenti utilizzando il provisioningAWS gestito o il provisioning autogestito.

I componenti, tuttavia, sono diversi dalle altreAWS Proton risorse per alcuni aspetti:

  • Stato indipendente: i componenti sono progettati per essere collegati alle istanze del servizio e per estenderne l'infrastruttura, ma possono anche trovarsi in uno stato indipendente, in cui non sono collegati a nessuna istanza del servizio. Per ulteriori informazioni sugli stati dei componenti, consultaStati 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: fornisceAWS Proton sempre l'infrastruttura dei componenti per te. Non esiste una versione Bring Your Own Resources dei componenti. Per ulteriori informazioni sugli ambienti gestiti dal cliente, consultaCreazione di un ambiente.

  • Nessuna risorsa modello: i componenti definiti direttamente non hanno una risorsa modello associata simile ai modelli di ambiente e servizio. Fornisci un file modello iAc direttamente al componente. Allo stesso modo, fornisci direttamente un manifesto che definisce il linguaggio del modello e il motore di rendering per il provisioning dell'infrastruttura del componente. Crei il file modello e il manifesto in modo simile alla creazione di un pacchetto di modelli. Tuttavia, con componenti definiti direttamente, non è necessario archiviare i file iAc come pacchetti in posizioni particolari e non si crea una risorsa modello all'internoAWS Proton dei file iAc.

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

Componenti dellaAWS Proton console

Usa laAWS Proton console per creare, aggiornare, visualizzare e utilizzareAWS Proton i componenti.

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

  • Componenti: visualizza l'elenco dei componenti del tuoAWS account. È possibile creare nuovi componenti e aggiornare o eliminare componenti esistenti. Scegliere un nome per visualizzare la pagina dei dettagli.

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

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

    Nella pagina dei dettagli, visualizza i dettagli e lo stato del componente e aggiorna o elimina il componente. Visualizza e gestisci elenchi di output (ad esempio, ARN di risorse assegnate),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, seleziona il componente nell'elenco Componenti e quindi, nel menu Azioni, scegli Aggiorna componente. In alternativa, nelle pagine dei dettagli del componente, scegli Aggiorna.

    È possibile 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.

  • Configurare l'ambiente: quando crei o aggiorni un ambiente, puoi specificare un 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 in base a questa versione del modello.

Componenti dell'AWS ProtonAPI eAWS CLI

Usa l'AWS ProtonAPI o ilAWS CLI per creare, aggiornare, visualizzare e utilizzareAWS Proton componenti.

Le seguenti azioni API gestiscono direttamente le risorseAWS Proton dei componenti.

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

  • CreateEnvironment, UpdateEnvironment— Consente dicomponentRoleArn specificare l'Amazon Resource Name (ARN) del ruolo del servizio IAMAWS 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 del 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 essere in uno stato collegato o distaccato. Sono progettati per essere collegati a un'istanza di servizio e per migliorarne l'infrastruttura per la maggior parte del tempo. I componenti separati si trovano in uno stato di transizione 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 riesco a eliminare i componenti allegati?

Soluzione: per eliminare un componente collegato, aggiorna il componente per staccarlo 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 risorse dell'infrastruttura, potrebbe compromettere l'istanza del servizio collegata.

Come misura di sicurezza aggiuntiva,AWS Proton richiede l'aggiornamento del componente e lo scolleghi dalla relativa istanza di servizio prima di poterlo eliminare. È quindi possibile convalidare l'istanza del servizio per garantire 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. Se sei sicuro che l'istanza del servizio non dipenda da alcun tipo di componente, puoi eliminarla 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 staccarlo dall'istanza del servizio, convalida la stabilità del componente e dell'istanza del servizio, quindi collega il componente alla nuova istanza del servizio.

Perché è necessario? Un componente è progettato per essere collegato a un'istanza di servizio. Il componente potrebbe utilizzare gli input delle istanze 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 collegati? ). Ad esempio, potrebbe causare la ridenominazione e forse anche la sostituzione delle risorse definite nel modello iAC del componente.

Come misura di sicurezza aggiuntiva,AWS Proton richiede l'aggiornamento del componente e il suo 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 del servizio.