Aggiungere una risorsa a un progetto - AWS CodeStar

Il 31 luglio 2024, Amazon Web Services (AWS) interromperà il supporto per la creazione e la visualizzazione AWS CodeStar di progetti. Dopo il 31 luglio 2024, non potrai più accedere alla AWS CodeStar console o creare nuovi progetti. Tuttavia, le AWS risorse create da AWS CodeStar, inclusi gli archivi di origine, le pipeline e le build, non saranno influenzate da questa modifica e continueranno a funzionare. AWS CodeStar Le connessioni e AWS CodeStar le notifiche non saranno influenzate da questa interruzione.

 

Se desideri monitorare il lavoro, sviluppare codice e creare, testare e distribuire le tue applicazioni, Amazon CodeCatalyst offre un processo introduttivo semplificato e funzionalità aggiuntive per gestire i tuoi progetti software. Scopri di più sulle funzionalità e sui prezzi di Amazon CodeCatalyst.

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à.

Aggiungere una risorsa a un progetto

Ogni AWS CodeStar modello per tutti i progetti viene fornito con un AWS CloudFormation file che modella le dipendenze di AWS runtime dell'applicazione, come le tabelle del database e le funzioni Lambda. Esso è memorizzato nel repository del codice sorgente del progetto nel file /template.yml.

Nota

Puoi utilizzare questi passaggi per i seguenti progetti, creati con le seguenti modifiche di supporto progetto:

  • Qualsiasi progetto Lambda.

  • Per i progetti Amazon EC2 o Elastic Beanstalk creati dopo il 3 agosto 2018AWS CodeStar, è stato effettuato il provisioning di un file nel repository del progetto. /template.yml

È possibile modificare questo file aggiungendo risorse AWS CloudFormation alla sezione Resources. La modifica del file template.yml permette a AWS CodeStar e AWS CloudFormation di aggiungere la nuova risorsa al progetto. Alcune risorse richiedono l'aggiunta di altre autorizzazioni alla politica per il ruolo di lavoratore del progetto. CloudFormation Per informazioni sugli elementi e sulla formattazione del modello, consulta AWSResource Types Reference.

Dopo aver determinato quali risorse è necessario aggiungere al progetto, questi sono i passaggi di alto livello da seguire per personalizzare un modello. Per un elenco delle AWS CloudFormation risorse e delle relative proprietà richieste, vedere AWSResource Types Reference.

Utilizza i passaggi di questa sezione per modificare il modello di AWS CodeStar progetto per aggiungere una risorsa e quindi espandere le autorizzazioni del ruolo di CloudFormation lavoratore del progetto in IAM. In questo esempio, la AWS::SQS::Queuerisorsa viene aggiunta al template.yml file. La modifica avvia una risposta automatica AWS CloudFormation che aggiunge una coda Amazon Simple Queue Service al progetto.

Fase 1: Modifica il ruolo del CloudFormation lavoratore in IAM

Per eseguire le fasi da 1 a 5, è necessario avere effettuato l'accesso come amministratore.

Nota

Puoi saltarla se il tuo progetto è dotato di una policy per il limite di autorizzazioni.

Per i progetti creati dopo il 6 dicembre 2018 PDT, AWS CodeStar hai dotato il progetto di una politica sui limiti delle autorizzazioni.

  1. Accedi AWS Management Console e apri la AWS CodeStar console all'indirizzo https://console.aws.amazon.com/codestar/.

  2. Creare un progetto o scegliere un progetto esistente con un template.yml file, quindi aprire la pagina Project resources (Risorse del progetto).

  3. In Project Resources, individua il ruolo IAM creato per il AWS CloudFormation ruolo CodeStarWorker/nell'elenco delle risorse. Il nome del ruolo segue questo formato: role/CodeStarWorker-Project_name-CloudFormation.

  4. Il ruolo si apre nella console IAM. Nella scheda Permissions (Autorizzazioni), alla voce Inline Policies (Policy inline), espandere la riga della policy del ruolo del servizio e scegliere Edit Policy (Modifica policy).

  5. Scegliere la scheda JSON per modificare la policy.

    Nota

    La policy associata al ruolo worker è CodeStarWorkerCloudFormationRolePolicy.

  6. Nel campo JSON, aggiungere la seguente dichiarazione della policy all'interno dell'elemento Statement.

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  7. Scegliere Review policy (Esamina policy) per garantire che la policy non contenga errori e quindi scegliere Save changes (Salva modifiche).

Fase 2: modificare il file template.yml

  1. Apri la AWS CodeStar console all'indirizzo https://console.aws.amazon.com/codestar/.

  2. Scegliere il progetto serverless esistente e aprire la pagina Code (Codice). Nel livello principale del repository, annotare la posizione di template.yml.

  3. Utilizzare un IDE, la console o la riga di comando nel repository locale per modificare il file template.yml sul repository. Incollare la risorsa nella sezione Resources. In questo esempio, quando il seguente testo viene copiato, viene aggiunta la sezione Resources.

    Resources: TestQueue: Type: AWS::SQS::Queue

    Questo esempio illustra un modello modificato:

Fase 3: eseguire il commit e l'applicazione della modifica al modello

  • Eseguire il commit e applicare le modifiche al file template.yml salvato nella fase 2.

    Nota

    Questo avvia la pipeline. Se le modifiche vengono confermate prima di aggiornare le autorizzazioni IAM, la pipeline viene avviata e l'aggiornamento dello stack di AWS CloudFormation genererà degli errori che comporteranno il rollback dell'aggiornamento. In questo caso, riavviare la pipeline dopo aver corretto le autorizzazioni.

Fase 4: monitorare l'aggiornamento dello stack di AWS CloudFormation

  1. Quando la pipeline del progetto avvia la fase di Deploy, parte l'aggiornamento dello stack AWS CloudFormation. Per visualizzare lo stato dell'aggiornamento dello stack, selezionare la fase AWS CloudFormation della pipeline nel pannello di controllo di AWS CodeStar.

    Risoluzione dei problemi

    Se mancano le necessarie autorizzazioni sulle risorse, l'aggiornamento dello stack ha esito negativo. Visualizzare l'errore nella visualizzazione del pannello di controllo di AWS CodeStar per la pipeline del progetto.

    Scegli il CloudFormationlink nella fase di distribuzione della pipeline per risolvere l'errore nella console. AWS CloudFormation All'interno dell'elenco Events (Eventi) della console, scegliere il progetto per visualizzare i dettagli della creazione dello stack. È presente un messaggio con i dettagli dell'errore. In questo esempio, risulta mancante l'autorizzazione sqs:CreateQueue.

    Aggiungere tutte le autorizzazioni mancanti modificando la policy associata al ruolo worker del progetto AWS CloudFormation. Per informazioni, consulta Fase 1: Modifica il ruolo del CloudFormation lavoratore in IAM.

  2. Dopo un'esecuzione corretta della pipeline, le risorse vengono create nello stack AWS CloudFormation. Nell'elenco Resources (Risorse) in AWS CloudFormation, visualizzare la risorsa creata per il progetto. In questo esempio, la TestQueue coda è elencata nella sezione Risorse.

    L'URL della coda è disponibile in AWS CloudFormation. L'URL della coda segue il seguente formato:

    https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}

    Per ulteriori informazioni, consulta Inviare un messaggio Amazon SQS, Ricevere un messaggio da una coda Amazon SQS ed Eliminare un messaggio da una coda Amazon SQS.

Fase 5: Aggiungere autorizzazioni a livello di risorsa con un policy inline

È possibile consentire l'accesso alla nuova risorsa ai membri del team aggiungendo al ruolo dell'utente le opportune policy inline. Non tutte le risorse necessitano dell'aggiunta di autorizzazioni. Per eseguire i seguenti passaggi, è necessario aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita o equivalente.

Per utilizzare l'editor della policy JSON per creare una policy.
  1. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione a sinistra, seleziona Policies (Policy).

    Se è la prima volta che si seleziona Policies (Policy), verrà visualizzata la pagina Welcome to Managed Policies (Benvenuto nelle policy gestite). Seleziona Get Started (Inizia).

  3. Nella parte superiore della pagina scegliere Create policy (Crea policy).

  4. Nella sezione Editor di policy, scegli l'opzione JSON.

  5. Inserisci il documento di policy JSON seguente:

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  6. Seleziona Successivo.

    Nota

    È possibile alternare le opzioni dell'editor Visivo e JSON in qualsiasi momento. Se tuttavia si apportano modifiche o si seleziona Successivo nell'editor Visivo, IAM potrebbe ristrutturare la policy in modo da ottimizzarla per l'editor visivo. Per ulteriori informazioni, consulta Modifica della struttura delle policy nella Guida per l'utente di IAM.

  7. Nella pagina Rivedi e crea, inserisci un valore in Nome policy e Descrizione (facoltativo) per la policy in fase di creazione. Rivedi Autorizzazioni definite in questa policy per visualizzare le autorizzazioni concesse dalla policy.

  8. Selezionare Create policy (Crea policy) per salvare la nuova policy.