AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
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à.
Accesso alle istanze senza ingresso con EC2 AWS Systems Manager
Un' «EC2istanza senza ingresso» creata per un EC2 ambiente consente di connettersi AWS Cloud9 alla relativa EC2 istanza Amazon senza la necessità di aprire alcuna porta in entrata su quell'istanza. Puoi selezionare l'opzione no-ingress quando crei un EC2 ambiente utilizzando la console, l'interfaccia a riga di comando o uno stack.AWS CloudFormation Per ulteriori informazioni su come creare un ambiente utilizzando la console o l'interfaccia a riga di comando, vedere. Fase 1: creazione di un ambiente
Importante
Non sono previsti costi aggiuntivi per l'utilizzo di Systems Manager Session Manager per gestire le connessioni all'EC2istanza.
Quando si seleziona un tipo di ambiente nella pagina Crea ambiente della console, è possibile scegliere una nuova EC2 istanza che richiede connettività in ingresso o una nuova EC2 istanza senza ingresso che non richiede quanto segue:
-
Nuova EC2 istanza: con questa configurazione, il gruppo di sicurezza dell'istanza ha una regola per consentire il traffico di rete in entrata. Il traffico di rete in entrata è limitato a Indirizzi IP approvati per connessioni AWS Cloud9. Una porta in entrata aperta consente di connettersi AWS Cloud9 SSH alla relativa istanza. Se utilizzi AWS Systems Manager Session Manager, puoi accedere alla tua EC2 istanza Amazon SSM senza aprire le porte in ingresso (nessun ingresso). Questo metodo è applicabile solo per le nuove EC2 istanze Amazon. Per ulteriori informazioni, consulta Vantaggi dell'utilizzo di Systems Manager per EC2 ambienti.
-
Elaborazione esistente: con questa configurazione, si accede a un'EC2istanza Amazon esistente che richiede dettagli di SSH accesso per i quali l'istanza deve disporre di una regola del gruppo di sicurezza in entrata. Se utilizzi questa opzione, viene creato automaticamente un ruolo di servizio. Puoi vedere il nome del ruolo di servizio in una nota in fondo alla schermata di configurazione.
Se crei un ambiente utilizzando AWS CLI, puoi configurare un'EC2istanza senza ingresso impostando l'--connection-type CONNECT_SSM
opzione quando chiami il comando. create-environment-ec2
Per ulteriori informazioni sulla creazione del ruolo del servizio richiesto e del profilo dell'istanza, consulta Gestione dei profili di istanza per Systems Manager con AWS CLI.
Dopo aver completato la creazione di un ambiente che utilizza un'EC2istanza senza ingresso, confermate quanto segue:
-
Systems Manager Session Manager dispone delle autorizzazioni per eseguire azioni sull'EC2istanza per conto dell'utente. Per ulteriori informazioni, consulta Gestione delle autorizzazioni di Systems Manager.
-
AWS Cloud9 gli utenti possono accedere all'istanza gestita da Session Manager. Per ulteriori informazioni, consulta Fornire agli utenti l'accesso a istanze gestite da Session Manager.
Vantaggi dell'utilizzo di Systems Manager per EC2 ambienti
Consentire a Session Manager di gestire la connessione sicura tra AWS Cloud9 e la relativa EC2 istanza offre due vantaggi chiave:
-
Nessun requisito per aprire le porte in ingresso per l'istanza
-
Possibilità di avviare l'istanza in una sottorete pubblica o privata
Gestione delle autorizzazioni di Systems Manager
Per impostazione predefinita, Systems Manager non dispone dell'autorizzazione per eseguire azioni sulle EC2 istanze. L'accesso viene fornito tramite un profilo di istanza AWS Identity and Access Management (IAM). (Un profilo di istanza è un contenitore che trasmette le informazioni sul IAM ruolo a un'EC2istanza al momento dell'avvio.)
Quando create l'EC2istanza no-ingress utilizzando la AWS Cloud9 console, sia il service role (AWSCloud9SSMAccessRole
) che il profile dell'IAMistanza (AWSCloud9SSMInstanceProfile
) vengono creati automaticamente. (È possibile visualizzare AWSCloud9SSMAccessRole
nella console di IAM gestione. I profili delle istanze non vengono visualizzati nella IAM console.)
Importante
Se crei un EC2 ambiente senza ingresso per la prima volta con AWS CLI, devi definire in modo esplicito il ruolo di servizio e il profilo di istanza richiesti. Per ulteriori informazioni, consulta Gestione dei profili di istanza per Systems Manager con AWS CLI.
Importante
Se stai creando un AWS Cloud9 ambiente e utilizzi Amazon EC2 Systems Manager con AWSCloud9Administrator
o le AWSCloud9User
policy allegate, devi anche allegare una policy personalizzata con IAM autorizzazioni specifiche, vediIAMPolitica personalizzata per la creazione dell'ambiente SSM. Ciò è dovuto a un problema di autorizzazioni con le policy AWSCloud9Administrator
andAWSCloud9User
.
Per una maggiore protezione della sicurezza, il ruolo AWS Cloud9 collegato al servizio presenta una PassRole
restrizione nella sua politica. AWSServiceRoleforAWSCloud9
AWSCloud9ServiceRolePolicy
Quando si assegna un IAM ruolo a un servizio, si consente a tale servizio di assumere il ruolo ed eseguire azioni per conto dell'utente. In questo caso, l'PassRole
autorizzazione garantisce che sia AWS Cloud9 possibile passare solo il AWSCloud9SSMAccessRole
ruolo (e la relativa autorizzazione) a un'EC2istanza. Ciò limita le azioni che possono essere eseguite sull'EC2istanza solo a quelle richieste da AWS Cloud9.
Nota
Se non è più necessario utilizzare Systems Manager per accedere a un'istanza, puoi eliminare il ruolo di ruolo di servizio AWSCloud9SSMAccessRole
. Per ulteriori informazioni, vedere Eliminazione di ruoli o profili di istanza nella Guida per l'IAMutente.
Gestione dei profili di istanza per Systems Manager con AWS CLI
È inoltre possibile creare un EC2 ambiente senza ingresso con. AWS CLI Quando chiami create-environment-ec2
, imposta l'opzione --connection-type
a CONNECT_SSM
.
Se utilizzi questa opzione, il ruolo di servizio AWSCloud9SSMAccessRole
e AWSCloud9SSMInstanceProfile
non vengono creati automaticamente. Pertanto, per creare il profilo del servizio richiesto e il profilo dell'istanza, procedi in uno dei seguenti modi:
-
Crea un EC2 ambiente utilizzando la console una volta ottenuto il ruolo di
AWSCloud9SSMAccessRole
servizio eAWSCloud9SSMInstanceProfile
creato automaticamente in seguito. Dopo la creazione, il ruolo di servizio e il profilo dell'istanza sono disponibili per tutti EC2 gli ambienti aggiuntivi creati utilizzando. AWS CLI -
Esegui i seguenti AWS CLI comandi per creare il ruolo di servizio e il profilo dell'istanza.
aws iam create-role --role-name AWSCloud9SSMAccessRole --path /service-role/ --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com","cloud9.amazonaws.com"] },"Action": "sts:AssumeRole"}]}' aws iam attach-role-policy --role-name AWSCloud9SSMAccessRole --policy-arn arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile aws iam create-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --path /cloud9/ aws iam add-role-to-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --role-name AWSCloud9SSMAccessRole
Fornire agli utenti l'accesso a istanze gestite da Session Manager
Per aprire un AWS Cloud9 ambiente connesso a un'EC2istanza tramite Systems Manager, un utente deve disporre dell'autorizzazione per l'APIoperazione,StartSession
. Questa operazione avvia una connessione all'EC2istanza gestita per una sessione di Session Manager. È possibile concedere l'accesso agli utenti utilizzando una politica gestita AWS Cloud9 specifica (consigliata) o modificando una IAM politica e aggiungendo le autorizzazioni necessarie.
Metodo | Descrizione |
---|---|
Utilizza una AWS Cloud9 politica gestita specifica |
Si consiglia di utilizzare policy AWS gestite per consentire agli utenti di accedere alle EC2 istanze gestite da Systems Manager. Le policy gestite forniscono una serie di autorizzazioni per casi AWS Cloud9 d'uso standard e possono essere facilmente associate a un'IAMentità. Tutte le politiche gestite includono anche le autorizzazioni per eseguire l'
ImportanteSe stai creando un AWS Cloud9 ambiente e utilizzi Amazon EC2 Systems Manager con Per ulteriori informazioni, consulta AWS politiche gestite per AWS Cloud9. |
Modifica una IAM politica e aggiungi le dichiarazioni politiche richieste |
Per modificare una politica esistente, è possibile aggiungere le autorizzazioni per. Durante la modifica della politica, aggiungi policy statement (vedi quanto segue) che consente l'esecuzione dell' |
È possibile utilizzare le seguenti autorizzazioni per eseguire l'StartSession
APIoperazione. La chiave ssm:resourceTag
condition specifica che è possibile avviare una sessione di Session Manager per qualsiasi istanza (Resource: arn:aws:ec2:*:*:instance/*
) a condizione che l'istanza sia un ambiente di AWS Cloud9 EC2 sviluppo (aws:cloud9:environment
).
Nota
Le seguenti policy gestite includono anche queste istruzioni di policy: AWSCloud9Administrator
, AWSCloud9User
e AWSCloud9EnvironmentMember
.
{ "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }
Utilizzo AWS CloudFormation per creare ambienti senza ingresso EC2
Quando usi un AWS CloudFormation modello per definire un ambiente di EC2 sviluppo Amazon senza ingresso, procedi come segue prima di creare lo stack:
-
Crea un ruolo di servizio
AWSCloud9SSMAccessRole
e un profilo dell'istanzaAWSCloud9SSMInstanceProfile
. Per ulteriori informazioni, consulta Creazione del ruolo di servizio e del profilo dell'istanza con un AWS CloudFormation modello. -
Aggiorna la policy per l'entità che chiama. IAM AWS CloudFormation In questo modo, l'entità può avviare una sessione di Session Manager che si connette all'EC2istanza. Per ulteriori informazioni, consulta Aggiungere le autorizzazioni di Systems Manager a una policy IAM.
Creazione del ruolo di servizio e del profilo dell'istanza con un AWS CloudFormation modello
È necessario creare il ruolo di servizio AWSCloud9SSMAccessRole
e il profilo dell'istanza AWSCloud9SSMInstanceProfile
per consentire a Systems Manager di gestire l'EC2istanza che supporta l'ambiente di sviluppo.
Se in precedenza è stato creato AWSCloud9SSMAccessRole
e AWSCloud9SSMInstanceProfile
creato un EC2 ambiente senza ingresso with the console o l'esecuzione di AWS CLI comandi, il ruolo di servizio e il profilo dell'istanza sono già disponibili per l'uso.
Nota
Supponiamo di tentare di creare uno AWS CloudFormation stack per un EC2 ambiente senza ingresso ma di non aver prima creato il ruolo di servizio e il profilo di istanza richiesti. Lo stack non viene creato e viene visualizzato il seguente messaggio di errore:
Il profilo di istanza AWSCloud9SSMInstanceProfile non esiste nell'account.
Quando si crea un EC2 ambiente senza ingresso per la prima volta che lo si utilizza AWS CloudFormation, è possibile definire le IAM risorse AWSCloud9SSMAccessRole
e AWSCloud9SSMInstanceProfile
come nel modello.
Questo estratto di modello di esempio mostra come definire queste risorse. L'AssumeRole
azione restituisce credenziali di sicurezza che forniscono l'accesso sia all' AWS Cloud9 ambiente che alla sua istanza. EC2
AWSTemplateFormatVersion: 2010-09-09 Resources: AWSCloud9SSMAccessRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - cloud9.amazonaws.com - ec2.amazonaws.com Action: - 'sts:AssumeRole' Description: 'Service linked role for AWS Cloud9' Path: '/service-role/' ManagedPolicyArns: - arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile RoleName: 'AWSCloud9SSMAccessRole' AWSCloud9SSMInstanceProfile: Type: "AWS::IAM::InstanceProfile" Properties: InstanceProfileName: AWSCloud9SSMInstanceProfile Path: "/cloud9/" Roles: - Ref: AWSCloud9SSMAccessRole
Aggiungere le autorizzazioni di Systems Manager a una policy IAM
Dopo aver definito un ruolo di servizio e un profilo di istanza nel AWS CloudFormation modello, assicurati che l'IAMentità che crea lo stack sia autorizzata ad avviare una sessione di Session Manager. Una sessione è una connessione effettuata all'EC2istanza utilizzando Session Manager.
Nota
Se non si aggiungono le autorizzazioni per avviare una sessione di Session Manager prima di creare uno stack per un EC2 ambiente senza ingresso, viene restituito un AccessDeniedException
errore.
Aggiungi le seguenti autorizzazioni alla politica per l'entità chiamando. IAM AWS CloudFormation
{ "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloudformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }
Configurazione degli VPC endpoint per Amazon S3 per scaricare le dipendenze
Se l'EC2istanza del tuo AWS Cloud9 ambiente non ha accesso a Internet, crea un VPC endpoint per un bucket Amazon S3 specificato. Questo bucket contiene le dipendenze necessarie per mantenere le tue. IDE up-to-date
La configurazione di un VPC endpoint per Amazon S3 implica anche la personalizzazione della politica di accesso. per permettere l'accesso solo al bucket attendibile che contiene le dipendenze da scaricare.
Nota
Puoi creare e configurare VPC endpoint utilizzando AWS Management Console AWS CLI, o Amazon VPCAPI. La procedura seguente mostra come creare un VPC endpoint utilizzando l'interfaccia della console.
Crea e configura un VPC endpoint per Amazon S3
-
Nel AWS Management Console, vai alla pagina della console di AmazonVPC.
-
Nella barra di navigazione, scegli Endpoints (Endpoint).
-
Nella pagina Endpoints (Endpoint), scegli Create Endpoint (Crea endpoint).
-
Nella pagina Create Endpoint (Crea endpoint), immetti "s3" nel campo di ricerca e premi Invio per elencare gli endpoint disponibili per Amazon S3 nella Regione AWS corrente.
-
Dall'elenco degli endpoint Amazon S3 restituiti, seleziona il tipo di Gateway.
-
Quindi, scegli l'istanza VPC che contiene l'EC2istanza del tuo ambiente.
-
Ora scegli VPC la tabella delle rotte. In questo modo, le sottoreti associate possono accedere all'endpoint. L'EC2istanza del tuo ambiente si trova in una di queste sottoreti.
-
Nella sezione Policy, scegli l'opzione Custom (Personalizza) e sostituisci la policy standard con quella riportata di seguito.
{ "Version": "2008-10-17", "Statement": [ { "Sid": "Access-to-C9-bucket-only", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::{bucket_name}/content/dependencies/*" } ] }
Per l'elemento
Resource
, sostituisci{bucket_name}
con il nome effettivo del bucket disponibile nella Regione AWS. Ad esempio, se utilizzi AWS Cloud9 nella regione Europa (Irlanda), specifichi quanto segue:."Resource": "arn:aws:s3:::static-eu-west-1-prod-static-hld3vzaf7c4h/content/dependencies/
La tabella seguente elenca i nomi dei bucket per la cartella Regioni AWS where AWS Cloud9 è disponibile.
Bucket Amazon S3 nelle regioni AWS Cloud9 Regione AWS Nome bucket Stati Uniti orientali (Ohio)
static-us-east-2-prod-static-1c3sfcvf9hy4m
Stati Uniti orientali (Virginia settentrionale)
static-us-east-1-prod-static-mft1klnkc4hl
US West (Oregon)
static-us-west-2-prod-static-p21mksqx9zlr
Stati Uniti occidentali (California settentrionale)
static-us-west-1-prod-static-16d59zrrp01z0
Africa (Città del Capo)
static-af-south-1-prod-static-v6v7i5ypdppv
Asia Pacific (Hong Kong)
static-ap-east-1-prod-static-171xhpfkrorh6
Asia Pacific (Mumbai) static-ap-south-1-prod-static-ykocre202i9d
Asia Pacific (Osaka) static-ap-northeast-3-prod-static-ivmxqzrx2ioi
Asia Pacific (Seul) static-ap-northeast-2-prod-static-1wxyctlhwiajm
Asia Pacifico (Singapore) static-ap-southeast-1-prod-static-13ibpyrx4vk6d
Asia Pacifico (Sydney)
static-ap-southeast-2-prod-static-1cjsl8bx27rfu
Asia Pacifico (Tokyo)
static-ap-northeast-1-prod-static-4fwvbdisquj8
Canada (Centrale)
static-ca-central-1-prod-static-g80lpejy486c
Europa (Francoforte)
static-eu-central-1-prod-static-14lbgls2vrkh
Europa (Irlanda)
static-eu-west-1-prod-static-hld3vzaf7c4h
Europa (Londra)
static-eu-west-2-prod-static-36lbg202837x
Europa (Milano)
static-eu-south-1-prod-static-1379tzkd3ni7d
Europa (Parigi)
static-eu-west-3-prod-static-1rwpkf766ke58
Europa (Stoccolma)
static-eu-north-1-prod-static-1qzw982y7yu7e
Medio Oriente (Bahrein)
static-me-south-1-prod-static-gmljex38qtqx
Sud America (San Paolo)
static-sa-east-1-prod-static-1cl8k0y7opidt
Israele (Tel Aviv)
static-il-central-1-prod-static-k02vrnhcesue
-
Scegliere Create Endpoint (Crea endpoint).
Se le informazioni di configurazione fornite sono corrette, viene visualizzato un messaggio con l'ID dell'endpoint creato.
-
Per verificare di IDE poter accedere al bucket Amazon S3, avvia una sessione di terminale scegliendo Finestra, Nuovo terminale nella barra dei menu. Quindi, esegui il comando seguente, sostituendo
{bucket_name}
con il nome effettivo del bucket nella tua regione.ping {bucket_name}.s3.{region}.amazonaws.com.
Ad esempio, se hai creato un endpoint per un bucket S3 nella regione Stati Uniti orientali (Virginia settentrionale), esegui il comando riportato di seguito.
ping static-us-east-1-prod-static-mft1klnkc4hl.s3.us-east-1.amazonaws.com
Se il ping riceve una risposta, ciò conferma che è IDE possibile accedere al bucket e alle sue dipendenze.
Per ulteriori informazioni su questa funzionalità, consulta Endpoints for Amazon S3 nella AWS PrivateLink Guida.
Configurazione degli VPC endpoint per la connettività privata
Quando si avvia un'istanza in una sottorete con l'opzione di accesso tramite Systems Manager, il gruppo di sicurezza non dispone di una regola di ingresso per permettere il traffico di rete in entrata. Il gruppo di sicurezza, tuttavia, dispone di una regola di uscita che permette il traffico in uscita dall'istanza. Ciò è necessario per scaricare i pacchetti e le librerie necessari per mantenerli aggiornati. AWS Cloud9 IDE
Per impedire il traffico in uscita e in entrata per l'istanza, crea e configura gli VPC endpoint Amazon per Systems Manager. Con un VPC endpoint di interfaccia (interfaccia endpoint), puoi connetterti ai servizi forniti da. AWS PrivateLink AWS PrivateLink è una tecnologia che può essere utilizzata per accedere in modo privato ad Amazon EC2 e Systems Manager APIs utilizzando indirizzi IP privati. Per configurare gli VPC endpoint per l'utilizzo di Systems Manager, segui le istruzioni fornite da questa risorsa del Knowledge Center
avvertimento
Supponi di voler configurare un gruppo di sicurezza che non permette il traffico di rete in ingresso o in uscita. Quindi, l'EC2istanza che supporta il tuo AWS Cloud9 IDE non ha accesso a Internet. È necessario creare un endpoint Amazon S3 per consentire l'accesso alle dipendenze contenute in un bucket S3 affidabile. VPC Inoltre, alcuni, ad esempio Servizi AWS AWS Lambda, potrebbero non funzionare come previsto senza accesso a Internet.
Con AWS PrivateLink, sono previsti costi di elaborazione dei dati per ogni gigabyte elaborato tramite l'VPCendpoint. indipendentemente dall'origine o dalla destinazione del traffico. Per ulteriori informazioni, consulta Prezzi di AWS PrivateLink