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à.
Fase 4: crea un profilo di IAM istanza per le tue EC2 istanze Amazon
Nota
Se utilizzi la piattaforma di calcolo Amazon ECS o AWS Lambda, salta questo passaggio.
Le tue EC2 istanze Amazon necessitano dell'autorizzazione per accedere ai bucket GitHub o ai repository Amazon S3 in cui sono archiviate le applicazioni. Per avviare EC2 istanze Amazon compatibili con CodeDeploy, devi creare un IAM ruolo aggiuntivo, un profilo di istanza. Queste istruzioni mostrano come creare un profilo di IAM istanza da collegare alle tue EC2 istanze Amazon. Questo ruolo consente all' CodeDeploy agente di accedere ai bucket o ai GitHub repository Amazon S3 in cui sono archiviate le applicazioni.
Puoi creare un profilo di IAM istanza con AWS CLI, la IAM console o il. IAM APIs
Nota
Puoi collegare un profilo di IAM istanza a un'EC2istanza Amazon al momento del lancio o a un'istanza lanciata in precedenza. Per ulteriori informazioni, consulta Profili di istanza.
Argomenti
Crea un profilo di IAM istanza per le tue EC2 istanze Amazon () CLI
In queste fasi, presumiamo che tu abbia già seguito le istruzioni per le prime tre fasi di Guida introduttiva con CodeDeploy.
-
Nella macchina di sviluppo, creare un file di testo denominato
CodeDeployDemo-EC2-Trust.json
. Incolla il seguente contenuto, che consente EC2 ad Amazon di lavorare per tuo conto:{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Nella stessa directory, crea un file di testo denominato
CodeDeployDemo-EC2-Permissions.json
. Incolla il contenuto seguente:{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] }
Nota
Ti consigliamo di limitare questa politica solo ai bucket Amazon S3 a cui devono accedere le tue EC2 istanze Amazon. Assicurati di consentire l'accesso ai bucket Amazon S3 che contengono l'agente. CodeDeploy In caso contrario, potrebbe verificarsi un errore quando l' CodeDeploy agente viene installato o aggiornato sulle istanze. Per concedere al profilo dell'IAMistanza l'accesso solo ad alcuni bucket del kit di CodeDeploy risorse in Amazon S3, utilizza la seguente policy, ma rimuovi le righe relative ai bucket a cui desideri impedire l'accesso:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
Nota
Se desideri utilizzare l'IAMautorizzazione o gli endpoint Amazon Virtual Private Cloud (VPC) con CodeDeploy, dovrai aggiungere altre autorizzazioni. Per ulteriori informazioni, consulta Utilizzo CodeDeploy con Amazon Virtual Private Cloud.
-
Dalla stessa directory, chiama il create-role comando per creare un IAM ruolo denominato
CodeDeployDemo-EC2-Instance-Profile
, in base alle informazioni contenute nel primo file:Importante
Assicurarsi di includere
file://
prima del nome del file. Questo è obbligatorio in questo comando.aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document file://CodeDeployDemo-EC2-Trust.json
-
Dalla stessa directory chiama il comando put-role-policy per concedere a un ruolo denominato
CodeDeployDemo-EC2-Instance-Profile
le autorizzazioni in base alle informazioni del secondo file:Importante
Assicurarsi di includere
file://
prima del nome del file. Questo è obbligatorio in questo comando.aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document file://CodeDeployDemo-EC2-Permissions.json
-
Chiamalo attach-role-policy per concedere al ruolo le autorizzazioni di Amazon EC2 Systems Manager in modo che SSM possa installare l' CodeDeploy agente. Questa politica non è necessaria se prevedi di installare l'agente dal bucket pubblico di Amazon S3 con la riga di comando. Ulteriori informazioni sull'installazione dell'agente CodeDeploy .
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
-
Chiama il create-instance-profile comando seguito dal add-role-to-instance-profile comando per creare un profilo di IAM istanza denominato.
CodeDeployDemo-EC2-Instance-Profile
Il profilo dell'istanza consente EC2 ad Amazon di passare il IAM ruolo denominatoCodeDeployDemo-EC2-Instance-Profile
a un'EC2istanza Amazon al primo avvio dell'istanza:aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile aws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile
Se hai bisogno di ottenere il nome del profilo dell'IAMistanza, consulta list-instance-profiles-for-role nella IAM sezione del AWS CLI Reference.
Ora hai creato un profilo di IAM istanza da collegare alle tue EC2 istanze Amazon. Per ulteriori informazioni, consulta IAMi ruoli per Amazon EC2 nella Amazon EC2 User Guide.
Crea un profilo di IAM istanza per le tue EC2 istanze Amazon (console)
Accedi AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nella IAM console, nel riquadro di navigazione, scegli Politiche, quindi scegli Crea politica.
-
Nella pagina Specificare le autorizzazioni, scegli JSON.
Rimuovi il
JSON
codice di esempio.Incolla il codice seguente:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] }
Nota
Ti consigliamo di limitare questa politica solo ai bucket Amazon S3 a cui devono accedere le tue EC2 istanze Amazon. Assicurati di consentire l'accesso ai bucket Amazon S3 che contengono l'agente. CodeDeploy In caso contrario, potrebbe verificarsi un errore quando l' CodeDeploy agente viene installato o aggiornato sulle istanze. Per concedere al profilo dell'IAMistanza l'accesso solo ad alcuni bucket del kit di CodeDeploy risorse in Amazon S3, utilizza la seguente policy, ma rimuovi le righe relative ai bucket a cui desideri impedire l'accesso:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
Nota
Se desideri utilizzare l'IAMautorizzazione o gli endpoint Amazon Virtual Private Cloud (VPC) con CodeDeploy, dovrai aggiungere altre autorizzazioni. Per ulteriori informazioni, consulta Utilizzo CodeDeploy con Amazon Virtual Private Cloud.
-
Scegli Next (Successivo).
-
Nella pagina Rivedi e crea, nella casella Nome della politica, digita
CodeDeployDemo-EC2-Permissions
. -
(Facoltativo) In Description (Descrizione) inserire una descrizione per la policy.
-
Scegli Create Policy (Crea policy).
Nel pannello di navigazione, scegliere Roles (Ruoli) e quindi Create role (Crea ruolo).
-
In Caso d'uso, scegli il caso EC2d'uso.
Scegli Next (Successivo).
-
Nell'elenco delle politiche, seleziona la casella di controllo accanto alla politica appena creata (CodeDeployDemo- EC2 -Autorizzazioni). Se necessario, utilizzare la casella di ricerca per trovare la policy.
-
Per utilizzare Systems Manager per installare o configurare l' CodeDeploy agente, selezionare la casella di controllo accanto a mazonSSMManagedInstanceCoreA. Questa policy AWS gestita consente a un'istanza di utilizzare le funzionalità principali del servizio Systems Manager. Se necessario, utilizzare la casella di ricerca per trovare la policy. Questa politica non è necessaria se prevedi di installare l'agente dal bucket pubblico di Amazon S3 con la riga di comando. Ulteriori informazioni sull'installazione dell'agente CodeDeploy.
-
Scegli Next (Successivo).
-
Nella pagina Nome, revisione e creazione, in Nome ruolo, inserisci un nome per il ruolo di servizio (ad esempio,
CodeDeployDemo-EC2-Instance-Profile
), quindi scegli Crea ruolo.Puoi anche inserire una descrizione per questo ruolo di servizio nella descrizione del ruolo.
Ora hai creato un profilo di IAM istanza da collegare alle tue EC2 istanze Amazon. Per ulteriori informazioni, consulta IAMi ruoli per Amazon EC2 nella Amazon EC2 User Guide.