

AWS Blockchain Templates è stato interrotto il 30 aprile 2019. Non verranno effettuati ulteriori aggiornamenti a questo servizio o alla presente documentazione di supporto. Per la migliore esperienza di Managed Blockchain su AWS, ti consigliamo di utilizzare [Amazon Managed Blockchain (AMB)](https://aws.amazon.com/managed-blockchain/). Per ulteriori informazioni su come iniziare a usare Amazon Managed Blockchain, consulta il nostro [workshop su Hyperledger Fabric](https://catalog.us-east-1.prod.workshops.aws/workshops/008da2cb-8454-42d0-877b-bc290bff7fcf/en-US) o il nostro [blog sull'implementazione di un](https://aws.amazon.com/blogs/database/deploy-an-ethereum-node-on-amazon-managed-blockchain/) nodo Ethereum. Se hai domande su AMB o hai bisogno di ulteriore assistenza, [contatta o contatta Supporto](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) il team del tuo account. AWS 

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

# Modelli e caratteristiche di AWS Blockchain
<a name="blockchain-template-features"></a>

In questa sezione vengono forniti i link necessari per iniziare a creare subito la rete blockchain, nonché informazioni sulle opzioni di configurazione e i prerequisiti per la configurazione della rete su AWS.

Sono disponibili i seguenti modelli:
+ [Modello AWS Blockchain per Ethereum](https://docs.aws.amazon.com/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html)
+ [Modello AWS Blockchain per Hyperledger Fabric](https://docs.aws.amazon.com/blockchain-templates/latest/developerguide/blockchain-templates-hyperledger.html)

AWS Blockchain Templates è disponibile nelle seguenti regioni:
+ Regione Stati Uniti occidentali (Oregon) (us-west-2)
+ Regione Stati Uniti orientali (Virginia settentrionale) (us-east-1)
+ Regione Stati Uniti orientali (Ohio) (us-east-2)

**Nota**  
L'esecuzione di un modello in una regione non elencata sopra avvia risorse nella regione Stati Uniti orientali (Virginia settentrionale) (us-east-1).

# Utilizzo del modello AWS Blockchain per Ethereum
<a name="blockchain-templates-ethereum"></a>

Ethereum è un framework blockchain che esegue contratti smart tramite Solidity, un linguaggio specifico di Ethereum. Homestead è la versione più recente di Ethereum. [Per ulteriori informazioni, consulta la documentazione di [Ethereum Homestead e la documentazione](http://www.ethdocs.org/en/latest/) di Solidity.](https://solidity.readthedocs.io/en/v0.4.21/#)

## Link per l'avvio
<a name="blockchain-ethereum-launch"></a>

Consulta [Getting Started with AWS Blockchain Templates](https://aws.amazon.com/blockchain/templates/getting-started/) per i link da avviare CloudFormation in regioni specifiche utilizzando i modelli Ethereum.

## Opzioni Ethereum
<a name="blockchain-ethereum-options"></a>

Quando configuri la rete Ethereum utilizzando il modello, puoi effettuare delle scelte che determinano i requisiti successivi:
+ [Scelta della piattaforma dei container](#blockchain-ethereum-platform)
+ [Scelta di una rete Ethereum privata o pubblica](#blockchain-private-public)
+ [Modifica degli account predefiniti e della frase mnemonica](#blockchain-ethereum-mnemonic)

### Scelta della piattaforma dei container
<a name="blockchain-ethereum-platform"></a>

AWS Blockchain Templates utilizza contenitori Docker archiviati in Amazon ECR per distribuire software blockchain. Il modello AWS Blockchain per Ethereum offre due scelte per la **piattaforma container**:
+ **ecs**: specifica che Ethereum viene eseguito su un cluster Amazon ECS di istanze Amazon. EC2
+ **docker-local**: specifica che Ethereum viene eseguito su una singola istanza. EC2

#### Utilizzo della piattaforma container Amazon ECS
<a name="blockchain-ethereum-ecs"></a>

Con Amazon ECS, crei la tua rete Ethereum su un cluster ECS composto da più EC2 istanze, con un Application Load Balancer e risorse correlate. Per ulteriori informazioni sull'uso della configurazione di Amazon ECS, consulta il [Guida introduttiva a AWS Blockchain Templates](blockchain-templates-getting-started.md) tutorial.

Il diagramma seguente mostra una rete Ethereum creata utilizzando il modello con l'opzione della piattaforma container ECS:

![\[AWS diagram showing VPC with public and private subnets, load balancers, and Ethereum nodes in ECS containers.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/ethereum-ecs-arch.png)


#### Utilizzo della piattaforma docker-local
<a name="blockchain-ethereum-docker-local"></a>

In alternativa, puoi avviare contenitori Ethereum all'interno di una singola EC2 istanza Amazon. Tutti i contenitori vengono eseguiti su una singola EC2 istanza. Questa è una configurazione semplificata.

Il diagramma seguente mostra una rete Ethereum creata utilizzando il modello con l'opzione docker-local container platform:

![\[Diagram of Ethereum network on AWS with VPC, EC2 instance, containers, and ECR registry.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/ethereum-docker-local-arch.png)


### Scelta di una rete Ethereum privata o pubblica
<a name="blockchain-private-public"></a>

La scelta di un valore per l'**ID di rete Ethereum** diverso da 1-4 crea nodi Ethereum privati che vengono eseguiti all'interno di una rete che hai definito, utilizzando i parametri della rete privata da te specificati.

Quando scegli un **ID di rete Ethereum compreso** tra 1 e 4, i nodi Ethereum che crei vengono uniti alla rete pubblica Ethereum. Puoi ignorare le impostazioni della rete privata e le relative impostazioni predefinite. Se scegli di unire i nodi Ethereum alla rete Ethereum pubblica, assicurati che i servizi appropriati nella tua rete siano accessibili da Internet.

### Modifica degli account predefiniti e della frase mnemonica
<a name="blockchain-ethereum-mnemonic"></a>

Una frase mnemonica è un insieme casuale di parole che puoi usare per generare portafogli Ethereum (ovvero coppie di chiavi) per gli account associati su qualsiasi rete. private/public La frase mnemonica può essere utilizzata per l'accesso a Ether da parte degli account associati. Abbiamo creato un mnemonico predefinito associato agli account predefiniti utilizzati dal modello Ethereum.

**avvertimento**  
Utilizzare gli account predefiniti e la frase mnemonica associata solo a scopo di test. Non inviare Ether reale utilizzando il set predefinito di account perché chiunque abbia accesso alla frase mnemonica può accedere o rubare Ether dagli account. Specificare invece account personalizzati per scopi di produzione. La frase mnemonica associata all'account predefinito è `outdoor father modify clever trophy abandon vital feel portion grit evolve twist`.

## Prerequisiti
<a name="blockchain-ethereum-prereq"></a>

Quando configuri la tua rete Ethereum utilizzando il modello AWS Blockchain per Ethereum, devono essere soddisfatti i requisiti minimi elencati di seguito. Il modello richiede i AWS componenti elencati per ciascuna delle seguenti categorie:

**Topics**
+ [Prerequisiti per l'accesso alle risorse di Ethereum](#blockchain-ethereum-prereq-access)
+ [Prerequisiti IAM](#blockchain-ethereum-prereq-iam)
+ [Prerequisiti per i gruppi di sicurezza](#blockchain-ethereum-prereq-sec)
+ [Prerequisiti per VPC](#blockchain-ethereum-prereq-vpc)
+ [Esempi di autorizzazioni IAM per il profilo dell' EC2 istanza e il ruolo ECS](#blockchain-ethereum-iam-examples)

### Prerequisiti per l'accesso alle risorse di Ethereum
<a name="blockchain-ethereum-prereq-access"></a>


| Prerequisito | Per la piattaforma ECS | Per docker-local | 
| --- | --- | --- | 
|  Una coppia di EC2 chiavi Amazon che puoi usare per accedere alle EC2 istanze. La chiave deve esistere nella stessa regione del cluster ECS e delle altre risorse.  |  ✔  |  ✔  | 
|  Un componente connesso a Internet, ad esempio un bastion host o un sistema di bilanciamento del carico connesso a Internet, con un indirizzo interno dal quale è consentito il traffico verso l'Application Load Balancer. Questa operazione è necessaria per la piattaforma ECS perché il modello crea un sistema di bilanciamento del carico interno per motivi di sicurezza. Ciò è richiesto con la piattaforma docker-local quando l' EC2 istanza si trova in una sottorete privata, cosa che consigliamo. Per informazioni sulla configurazione di un bastion host, consulta [Per creare un host bastione](blockchain-template-getting-started-prerequisites.md#blockchain-templates-bastion-host).  |  ✔  |  ✔ (con sottorete privata)  | 

### Prerequisiti IAM
<a name="blockchain-ethereum-prereq-iam"></a>


| Prerequisito | Per la piattaforma ECS | Per docker-local | 
| --- | --- | --- | 
|  Un responsabile IAM (utente o gruppo) che dispone delle autorizzazioni per lavorare con tutti i servizi correlati.  |  ✔  |  ✔  | 
|  Un profilo di EC2 istanza Amazon con le autorizzazioni appropriate per consentire alle EC2 istanze di interagire con altri servizi. Per ulteriori informazioni, consulta [To create an EC2 instance profile](blockchain-template-getting-started-prerequisites.md#create-ec2-role).   |  ✔  |  ✔  | 
|  Un ruolo IAM con autorizzazioni per Amazon ECS per interagire con altri servizi. Per ulteriori informazioni, consulta [Creazione del ruolo ECS e delle autorizzazioni](#blockchain-ethereum-ecs-role).  |  ✔  |    | 

### Prerequisiti per i gruppi di sicurezza
<a name="blockchain-ethereum-prereq-sec"></a>


| Prerequisito | Per la piattaforma ECS | Per docker-local | 
| --- | --- | --- | 
| Un gruppo di sicurezza per EC2 istanze, con i seguenti requisiti: | ✔ |  ✔  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html)  | ✔ |  ✔  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html)  | ✔ |  ✔  | 
| [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html) | ✔ |  | 
| [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html) |  | ✔ | 
|  Un gruppo di sicurezza per Application Load Balancer con i seguenti requisiti: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/blockchain-templates-ethereum.html)  |  ✔  |    | 

### Prerequisiti per VPC
<a name="blockchain-ethereum-prereq-vpc"></a>


| Prerequisito | Per la piattaforma ECS | Per docker-local | 
| --- | --- | --- | 
|  Un indirizzo IP elastico, utilizzato per accedere ai servizi Ethereum.  |  ✔  |  ✔  | 
|  Una sottorete per eseguire EC2 le istanze. Ti consigliamo una sottorete privata.  |  ✔  |  ✔  | 
|  Due sottoreti pubblicamente accessibili. Ogni sottorete deve trovarsi in zone di disponibilità diverse l'una dall'altra e, per le istanze, una deve trovarsi nella stessa zona di disponibilità della sottorete. EC2   |  ✔  |    | 

### Esempi di autorizzazioni IAM per il profilo dell' EC2 istanza e il ruolo ECS
<a name="blockchain-ethereum-iam-examples"></a>

Si specifica un ARN del profilo di EC2 istanza come uno dei parametri quando si utilizza il modello. Se utilizzi la piattaforma dei container ECS, puoi anche specificare un ARN del ruolo ECS. Le policy delle autorizzazioni collegate a questi ruoli consentono alle risorse AWS e alle istanze presenti nel cluster di interagire con altre risorse AWS. Per ulteriori informazioni, consulta [Ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*. Utilizza le istruzioni e le procedure delle policy riportate di seguito come punto di partenza per la creazione delle autorizzazioni.

#### Esempio di politica di autorizzazione per il profilo di istanza EC2
<a name="blockchain-ethereum-ec2-instance"></a>

La seguente politica di autorizzazione illustra le azioni consentite per il profilo dell' EC2 istanza quando si sceglie la piattaforma container ECS. Le stesse istruzioni delle policy possono essere utilizzate in una piattaforma di container docker-local, in cui le chiavi di contesto `ecs` sono state rimosse per limitare l'accesso.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:CreateCluster",
                "ecs:DeregisterContainerInstance",
                "ecs:DiscoverPollEndpoint",
                "ecs:Poll",
                "ecs:RegisterContainerInstance",
                "ecs:StartTelemetrySession",
                "ecs:Submit*",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "dynamodb:BatchGetItem",
                "dynamodb:BatchWriteItem",
                "dynamodb:PutItem",
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": "*"
        }
    ]
}
```

#### Creazione del ruolo ECS e delle autorizzazioni
<a name="blockchain-ethereum-ecs-role"></a>

Per le autorizzazioni associate al ruolo ECS, ti consigliamo di iniziare con la policy di EC2 ContainerServiceRole autorizzazione di **Amazon**. Utilizza la procedura seguente per creare un ruolo e collegare questa policy delle autorizzazioni. Utilizza la console IAM per visualizzare la maggior parte delle up-to-date autorizzazioni previste da questa policy.

**Per creare il ruolo IAM per Amazon ECS**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, seleziona **Ruoli**, quindi **Crea nuovo ruolo**.

1. In **Select type of trusted entity** (Seleziona tipo di entità attendibile), scegli **AWS service** (Servizio AWS).

1. In **Choose the service that will use this role (Scegli il servizio che utilizzerà questo ruolo)**, selezionare **Elastic Container Service**.

1. In **Select your use case (Seleziona il tuo caso d'uso)**, seleziona **Elastic Container Service**, **Next:Permissions**.  
![\[AWS console interface for creating a role, with Elastic Container Service selected as the use case.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/ecs-role.png)

1. Per **Politica di autorizzazione**, lascia selezionata la politica predefinita (**Amazon EC2 ContainerServiceRole**) e scegli **Avanti:Revisione**.

1. Per **Nome del ruolo**, inserisci un valore che ti aiuti a identificare il ruolo, ad esempio. *ECSRoleForEthereum* Per **Role Description (Descrizione ruolo)** immetti un breve riepilogo. Annota il nome del ruolo per dopo.

1. Scegli **Crea ruolo**.

1. Dall'elenco, scegli il ruolo che hai appena creato. Se il tuo account ha molti ruoli, puoi cercare il nome del ruolo.  
![\[AWSIAM console showing a role named "ECSRoleForEtherum" with its description.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/ecs-role-list.png)

1. Copia il valore di **Role ARN (ARN ruolo)** e salvalo in modo che sia possibile copiarlo di nuovo. Hai bisogno di questo ARN quando crei la rete Ethereum.  
![\[AWSIAM role summary page showing role ARN, description, and attached policies.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/ecs-role-arn.png)

## Connessione a Ethereum Resources
<a name="blockchain-ethereum-connecting"></a>

Dopo che lo stack principale creato con il modello mostra **CREATE\$1COMPLETE**, puoi connetterti alle risorse Ethereum utilizzando la console. CloudFormation La modalità di connessione dipende dalla piattaforma dei container (ECS o docker-local) che hai scelto:
+ **ECS**: la scheda **Output** dello stack principale fornisce collegamenti ai servizi in esecuzione su Application Load Balancer. Questi non URLs sono accessibili direttamente per motivi di sicurezza. Per connetterti, puoi configurare e utilizzare un *bastion host* per le connessioni proxy. Per ulteriori informazioni, consulta [Connessioni proxy utilizzando un host Bastion](#ethereum-create-bastion-host) di seguito.
+ **docker-local**: ti connetti utilizzando l'indirizzo IP dell' EC2 istanza che ospita i servizi Ethereum come elencato di seguito. Usa la EC2 console per trovare l'istanza *ec2-IP-address* creata dal modello.
  + **EthStats**—Usa http://*ec2-IP-address*
  + **EthExplorer**—Usa http: //:8080 *ec2-IP-address*
  + **EthJsonRpc**—Usa http: //:8545 *ec2-IP-address*

  Se hai specificato una sottorete pubblica per **Ethereum Network Subnet ID (ID sottorete rete Ethereum)** (**List of VPC Subnets to use (Elenco sottoreti VPC da utilizzare)** all'interno del modello), puoi connetterti direttamente. Il client deve essere un'origine di traffico in entrata affidabile per SSH (porta 22) e per le porte elencate. Questo è determinato dal **gruppo EC2 di sicurezza** che hai specificato utilizzando il modello AWS Blockchain per Ethereum.

  Se hai specificato una sottorete privata, puoi impostare e utilizzare un *bastion host* per le connessioni proxy a tali indirizzi. Per ulteriori informazioni, consulta [Connessioni proxy utilizzando un host Bastion](#ethereum-create-bastion-host) di seguito.

### Connessioni proxy utilizzando un host Bastion
<a name="ethereum-create-bastion-host"></a>

Con alcune configurazioni, i servizi Ethereum potrebbero non essere disponibili al pubblico. *In questi casi, puoi connetterti alle risorse di Ethereum tramite un host bastion.* Per ulteriori informazioni sui bastion host, consulta [Architettura dei bastion host di Linux](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html) nella *Guida rapida sui bastion host di Linux*.

Il bastion host è un'istanza. EC2 Assicurati che siano soddisfatti i seguenti requisiti:
+ L' EC2 istanza del bastion host si trova all'interno di una sottorete pubblica con Auto-Assign Public IP abilitato e che dispone di un gateway Internet. 
+ L'host bastion ha la key pair che consente le connessioni ssh.
+ L'host bastion è associato a un gruppo di sicurezza che consente il traffico SSH in entrata dai client che si connettono.
+ Il gruppo di sicurezza assegnato agli host Ethereum (ad esempio, Application Load Balancer se ECS è la piattaforma container, o l'istanza EC2 host se docker-local è la piattaforma container) consente il traffico in entrata su tutte le porte da sorgenti all'interno del VPC.

Con un bastion host configurato, assicurati che i client che si connettono utilizzino l'host bastion come proxy. L'esempio seguente mostra la configurazione di una connessione proxy utilizzando Mac OS. Sostituisci *BastionIP* con l'indirizzo IP dell' EC2 istanza bastion host e *MySshKey.pem* con il file key pair che hai copiato sull'host bastion.

Nella riga di comando, digita quanto segue:

```
ssh -i mySshKey.pem  ec2-user@BastionIP -D 9001
```

Questo imposta il port forwarding per la porta 9001 sul computer locale verso l'host bastion.

Successivamente, configura il browser o il sistema per utilizzare il proxy SOCKS per. `localhost:9001` Ad esempio con Mac OS, seleziona **System Preferences (Preferenze di sistema)**, **Network (Rete)**, **Advanced (Avanzate)**, seleziona **proxy SOCKS** e digita **localhost:9001**.

Utilizzando FoxyProxy Standard con Chrome, seleziona **Altri strumenti**, **Estensioni**. In **FoxyProxy Standard**, seleziona **Dettagli**, **Opzioni di estensione**, **Aggiungi nuovo proxy**. Seleziona **Manual Proxy Configuration (Configurazione proxy manuale)**. In **Host or IP Address (Indirizzo IP o host)**, digita **localhost** e in **Port (Porta)**, digita **9001**. Seleziona **SOCKS proxy?**, **Salva**.

Ora dovresti essere in grado di connetterti agli indirizzi host di Ethereum elencati nell'output del modello.

# Utilizzo del modello AWS Blockchain per Hyperledger Fabric
<a name="blockchain-templates-hyperledger"></a>

Hyperledger Fabric è un framework blockchain che esegue contratti intelligenti chiamati chaincode, scritti in Go. Puoi creare una rete privata con Hyperledger Fabric, limitando il numero di peer che possono connettersi e partecipare alla rete. [Per ulteriori informazioni su Hyperledger Fabric, consulta la documentazione di Hyperledger Fabric.](https://hyperledger-fabric.readthedocs.io/en/release-1.1/) [Per ulteriori informazioni su chaincode, consulta l'argomento [Chaincode for](https://hyperledger-fabric.readthedocs.io/en/release-1.1/chaincode4ade.html) Developers nella documentazione di Hyperledger Fabric.](https://hyperledger-fabric.readthedocs.io/en/release-1.1/)

Il modello AWS Blockchain per Hyperledger Fabric supporta solo una piattaforma container *docker locale*, il che significa che i contenitori Hyperledger Fabric vengono distribuiti su una singola istanza EC2.

## Link per l'avvio
<a name="blockchain-hyperledger-launch"></a>

Consulta [Getting Started with AWS Blockchain Templates](https://aws.amazon.com/blockchain/templates/getting-started/) per i link da avviare CloudFormation in regioni specifiche utilizzando i modelli Hyperledger Fabric.

## Modello AWS Blockchain per componenti Hyperledger Fabric
<a name="blockchain-hyperledger-architecture"></a>

Il modello AWS Blockchain per Hyperledger Fabric crea un'istanza EC2 con Docker e avvia una rete Hyperledger Fabric utilizzando contenitori su quell'istanza. La rete include un servizio di gestione degli ordini e tre organizzazioni, ognuna con un servizio peer. Il modello inoltre avvia un container Hyperledger Explorer, che consente di esplorare i dati della blockchain. Per supportare Hyperledger Explorer, viene avviato un container del server PostgreSQL.

Il diagramma seguente mostra una rete Hyperledger Fabric creata utilizzando il modello:

![\[AWS architecture diagram showing EC2 instance with containers in a VPC, connected to ECR and S3.\]](http://docs.aws.amazon.com/it_it/blockchain-templates/latest/developerguide/images/hyperledger-docker-local-arch.png)


## Prerequisiti
<a name="blockchain-hyperledger-prerequisites"></a>

Prima di avviare una rete Hyperledger Fabric utilizzando un modello, assicurati che siano soddisfatti i seguenti requisiti: 
+ Il principio IAM (utente o gruppo) che utilizzi deve disporre dell'autorizzazione per funzionare con tutti i servizi correlati.
+ È necessario avere accesso a una coppia di chiavi utilizzabile per accedere alle istanze EC2, ad esempio tramite SSH. La chiave deve esistere nella stessa regione dell'istanza.
+ È necessario disporre di un profilo di istanza EC2 con una politica di autorizzazioni allegata che consenta l'accesso ad Amazon S3 e ad Amazon Elastic Container Registry (Amazon ECR) per estrarre i contenitori. Per un esempio di policy delle autorizzazioni, consulta [Esempi di autorizzazioni IAM per il profilo di istanza EC2](#blockchain-hyperledger-ec2profile).
+ È necessario disporre di una rete Amazon VPC con una sottorete pubblica o una sottorete privata con un gateway NAT e un indirizzo IP elastico per poter accedere ad Amazon S3 CloudFormation e Amazon ECR.
+ È necessario disporre di un gruppo di sicurezza EC2 con regole in entrata che consentono il traffico SSH (porta 22) dagli indirizzi IP che devono connettersi all'istanza tramite SSH. Lo stesso requisito è valido per i client che devono connettersi a Hyperledger Explorer (porta 8080).

### Esempi di autorizzazioni IAM per il profilo di istanza EC2
<a name="blockchain-hyperledger-ec2profile"></a>

Quando usi AWS Blockchain Template per Hyperledger Fabric, specifichi un ARN del profilo di istanza EC2 come uno dei parametri. Utilizza la seguente istruzione come punto di partenza per la policy delle autorizzazioni collegata al profilo dell'istanza e del ruolo EC2 in questione.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:DescribeImages",
                "ecr:BatchGetImage",
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Connessione alle risorse di Hyperledger Fabric
<a name="blockchain-hyperledger-connecting"></a>

Dopo che lo stack principale creato con il modello mostra **CREATE\$1COMPLETE**, puoi connetterti alle risorse Hyperledger Fabric sull'istanza EC2. Se hai specificato una sottorete pubblica, puoi connetterti a tale istanza seguendo la stessa procedura utilizzata per qualsiasi altra istanza EC2. Per ulteriori informazioni, consulta [Connessione all'istanza Linux tramite SSH nella Guida per l'utente](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) di *Amazon EC2*.

Se hai specificato una sottorete privata, puoi configurare e utilizzare un *bastion host* per eseguire il proxy delle connessioni alle risorse Hyperledger Fabric. Per ulteriori informazioni, consulta [Connessioni proxy utilizzando un host Bastion](blockchain-templates-ethereum.md#ethereum-create-bastion-host) di seguito.

**Nota**  
Potresti notare che il modello alloca un indirizzo IP pubblico all'istanza EC2 che ospita i servizi Hyperledger Fabric; tuttavia, questo indirizzo IP non è accessibile al pubblico perché le politiche di routing nella sottorete privata specificata non consentono il traffico tra questo indirizzo IP e le fonti pubbliche.

### Connessioni proxy che utilizzano un host Bastion
<a name="hyperledger-create-bastion-host"></a>

Con alcune configurazioni, i servizi Hyperledger Fabric potrebbero non essere disponibili al pubblico. *In questi casi, puoi connetterti alle risorse di Hyperledger Fabric tramite un host bastion.* Per ulteriori informazioni sui bastion host, consulta [Architettura dei bastion host di Linux](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html) nella *Guida rapida sui bastion host di Linux*.

L'host bastion è un'istanza EC2. Assicurati che siano soddisfatti i seguenti requisiti:
+ L'istanza EC2 per l'host bastion si trova all'interno di una sottorete pubblica con Auto-Assign Public IP abilitato e che dispone di un gateway Internet. 
+ L'host bastion ha la key pair che consente le connessioni ssh.
+ L'host bastion è associato a un gruppo di sicurezza che consente il traffico SSH in entrata dai client che si connettono.
+ Il gruppo di sicurezza assegnato agli host Hyperledger Fabric (ad esempio, Application Load Balancer se ECS è la piattaforma container, o l'istanza EC2 host se docker-local è la piattaforma container) consente il traffico in entrata su tutte le porte da sorgenti all'interno del VPC.

Con un bastion host configurato, assicurati che i client che si connettono utilizzino l'host bastion come proxy. L'esempio seguente mostra la configurazione di una connessione proxy utilizzando Mac OS. Sostituisci *BastionIP* con l'indirizzo IP dell'istanza EC2 del bastion host e *MySshKey.pem* con il file key pair che hai copiato sull'host bastion.

Nella riga di comando, digita quanto segue:

```
ssh -i mySshKey.pem  ec2-user@BastionIP -D 9001
```

Questo imposta il port forwarding per la porta 9001 sul computer locale verso l'host bastion.

Successivamente, configura il browser o il sistema per utilizzare il proxy SOCKS per. `localhost:9001` Ad esempio con Mac OS, seleziona **System Preferences (Preferenze di sistema)**, **Network (Rete)**, **Advanced (Avanzate)**, seleziona **proxy SOCKS** e digita **localhost:9001**.

Utilizzando FoxyProxy Standard con Chrome, seleziona **Altri strumenti**, **Estensioni**. In **FoxyProxy Standard**, seleziona **Dettagli**, **Opzioni di estensione**, **Aggiungi nuovo proxy**. Seleziona **Manual Proxy Configuration (Configurazione proxy manuale)**. In **Host or IP Address (Indirizzo IP o host)**, digita **localhost** e in **Port (Porta)**, digita **9001**. Seleziona **SOCKS proxy?**, **Salva**.

Ora dovresti essere in grado di connetterti agli indirizzi host di Hyperledger Fabric elencati nell'output del modello.