

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

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