

AWS Blockchain Templates a été abandonné le 30 avril 2019. Aucune autre mise à jour de ce service ou de cette documentation justificative ne sera apportée. Pour une expérience optimale de Managed Blockchain AWS, nous vous recommandons d'utiliser [Amazon Managed Blockchain (AMB).](https://aws.amazon.com/managed-blockchain/) Pour en savoir plus sur les premiers pas avec Amazon Managed Blockchain, consultez notre [atelier sur Hyperledger Fabric](https://catalog.us-east-1.prod.workshops.aws/workshops/008da2cb-8454-42d0-877b-bc290bff7fcf/en-US) ou notre [blog sur le déploiement d'un nœud Ethereum](https://aws.amazon.com/blogs/database/deploy-an-ethereum-node-on-amazon-managed-blockchain/). Si vous avez des questions sur AMB ou si vous avez besoin d'une assistance supplémentaire, [contactez Support](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) l'équipe chargée de votre AWS compte.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration des prérequis
<a name="blockchain-template-getting-started-prerequisites"></a>

Le modèle AWS Blockchain pour la configuration Ethereum que vous spécifiez dans ce didacticiel nécessite que vous fassiez ce qui suit :
+ [Créer un VPC et des sous-réseaux](#blockchain-templates-create-a-vpc)
+ [Créer des groupes de sécurité](#blockchain-templates-create-security-group)
+ [Création d'un rôle IAM pour Amazon ECS et d'un profil d' EC2 instance](#blockchain-templates-iam-roles)
+ [Création d'un hôte bastion](#blockchain-templates-bastion-host)

## Créer un VPC et des sous-réseaux
<a name="blockchain-templates-create-a-vpc"></a>

Le modèle AWS Blockchain pour Ethereum lance des ressources dans un réseau virtuel que vous définissez à l'aide d'Amazon Virtual Private Cloud (Amazon VPC). La configuration que vous spécifiez dans ce didacticiel crée un équilibreur de charge d'application qui nécessite deux sous-réseaux publics dans des zones de disponibilité distinctes. En outre, un sous-réseau privé est requis pour les instances de conteneur et le sous-réseau doit se trouver dans la même zone de disponibilité que l'équilibreur de charge d'application. Vous utilisez d'abord l'Assistant VPC pour créer un sous-réseau public et un sous-réseau privé dans la même zone de disponibilité. Vous créez ensuite un second sous-réseau public dans ce VPC dans une autre zone de disponibilité.

Pour de plus amples informations, veuillez consulter [Qu'est-ce qu'Amazon VPC ?](https://docs.aws.amazon.com/vpc/latest/userguide/) dans le *Guide de l'utilisateur Amazon VPC*.

Utilisez la console Amazon VPC ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) pour créer l'adresse IP élastique, le VPC et le sous-réseau, comme décrit ci-dessous.

**Pour créer une adresse IP Elastic**

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Choisissez **Elastic IPs**, **Allouer une nouvelle adresse**, **Allouer**.

1. Notez l'adresse IP Elastic (EIP) que vous créez, puis choisissez **Close (Fermer)**.

1. Dans la liste des adresses IP Elastic (EIP), recherchez l'**Allocation ID (ID d'allocation)** de l'adresse IP Elastic (EIP) créée précédemment. Vous l'utiliserez lorsque vous créerez le VPC.

**Pour créer le VPC**

1. Dans la barre de navigation, sélectionnez une région pour le VPC. VPCs sont spécifiques à une région, alors sélectionnez la même région dans laquelle vous avez créé votre paire de clés et dans laquelle vous lancez la pile Ethereum. Pour de plus amples informations, veuillez consulter [Créer une paire de clés](blockchain-templates-setting-up.md#blockchain-templates-create-a-key-pair).

1. Dans le tableau de bord VPC, choisissez **Démarrer l'assistant VPC**.

1. Sur la page **Step 1: Select a VPC Configuration (Étape 1 : Sélectionner une configuration de VPC)**, choisissez **VPC with Public and Private Subnets (VPC avec sous-réseaux publics et privés)**, puis **Select (Sélectionner)**.

1. Sur la page **Étape 2 : VPC avec sous-réseaux publics et privés**, conservez les valeurs par défaut du bloc **IPv4 CIDR et du bloc IPv6 ** **CIDR.** Pour **VPC name (Nom du VPC)**, saisissez un nom convivial.

1. Pour le ** IPv4 CIDR du sous-réseau public**, laissez la valeur par défaut. Pour **Availability Zone (Zone de disponibilité)**, choisissez une zone. Pour **Public subnet name (Nom du sous-réseau public)**, saisissez un nom convivial.

   Vous spécifiez ce sous-réseau en tant que le premier sous-réseau des deux sous-réseaux de l'équilibreur de charge d'application lorsque vous utilisez le modèle.

   Notez la zone de disponibilité de ce sous-réseau, car vous sélectionnez la même zone de disponibilité pour le sous-réseau privé et une différente pour l'autre sous-réseau public.

1. Pour le ** IPv4 CIDR du sous-réseau privé**, laissez la valeur par défaut. Pour **Availability Zone (Zone de disponibilité)**, sélectionnez la même zone de disponibilité que lors de l'étape précédente. Pour **Private subnet name (Nom du sous-réseau privé)**, saisissez un nom convivial.

1. Dans le champ **Elastic IP Allocation ID (ID d'allocation d'adresses IP Elastic)**, choisissez l'ID de l'adresse IP Elastic que vous avez créée précédemment.

1. Conservez les valeurs par défaut pour les autres paramètres.

1. Sélectionnez **Create VPC** (Créer un VPC).

   **L'exemple ci-dessous montre un VPC **EthereumNetworkVPC** avec un sous-réseau public **EthereumPubSub1 et un sous-réseau privé 1**. EthereumPvtSub** Le sous-réseau public utilise la zone de disponibilité **us-west-2a**.  
![\[VPC configuration form with public and private subnet details for EthereumVPC.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/VPC.png)

**Pour créer le second sous-réseau public dans une autre zone de disponibilité**

1. Choisissez **Subnets (Sous-réseaux)**, puis sélectionnez le sous-réseau public que vous avez créé précédemment dans la liste. Sélectionnez l'onglet **Route Table (Table de routage)** et notez l'ID de la **Route table (Table de routage**. Vous spécifiez cette même table de routage pour le deuxième sous-réseau public ci-dessous.

1. Choisissez **Create Subnet**.

1. Pour **Name tag (Balise de nom)**, entrez un nom pour le sous-réseau. Vous utilisez ce nom plus tard lorsque vous créez l'hôte bastion dans ce réseau.

1. Dans le champ **VPC**, sélectionnez le VPC que vous avez créé précédemment.

1. Pour **Availability Zone (Zone de disponibilité)**, sélectionnez une autre zone à partir de la zone choisie pour le premier sous-réseau public.

1. Pour le **bloc IPv4 CIDR**, entrez **10.0.2.0/24**.

1. Choisissez **Yes, Create**. Le sous-réseau est ajouté à la liste des sous-réseaux.

1. Une fois le sous-réseau sélectionné dans la liste, choisissez **Subnet Actions (Actions de sous-réseau)**, **Modify auto assign IP settings (Modifier l'affectation automatique des paramètres IP)**. Sélectionnez **Attribuer automatiquement IPs**, **Enregistrer**, **Fermer**. Cela permet à l'hôte bastion d'obtenir une adresse IP publique lorsque vous le créez dans ce sous-réseau.

1. Sous l'onglet **Route Table (Table de routage)**, choisissez **Edit (Modifier)**. Sous **Change to (Remplacer par)**, sélectionnez l'ID de la table de routage que vous avez noté précédemment et choisissez **Save (Enregistrer)**.

Vous devriez maintenant voir trois sous-réseaux pour le VPC que vous avez créé précédemment. Notez les noms des sous-réseaux IDs afin de pouvoir les spécifier à l'aide du modèle.

![\[VPC Dashboard showing three subnets with their IDs, states, and IPv4 CIDR ranges.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/subnets-listing.png)


## Créer des groupes de sécurité
<a name="blockchain-templates-create-security-group"></a>

Les groupes de sécurité agissent comme des pare-feux, contrôlant le trafic entrant et sortant vers les ressources. Lorsque vous utilisez le modèle pour créer un réseau Ethererum sur un cluster Amazon ECS, vous spécifiez deux groupes de sécurité :
+ Un groupe de sécurité pour les EC2 instances qui contrôle le trafic à destination et en provenance EC2 des instances du cluster
+ Groupe de sécurité pour l'Application Load Balancer qui contrôle le trafic entre l'Application Load Balancer EC2 , les instances et l'hôte Bastion. Vous associez également ce groupe de sécurité à l'hôte bastion.

Chaque groupe de sécurité possède des règles qui autorisent la communication entre l'Application Load Balancer et les EC2 instances, ainsi que d'autres règles minimales. Cela nécessite que les groupes de sécurité se réfèrent les uns aux autres. Pour cette raison, vous devez d'abord créer les groupes de sécurité, puis les mettre à jour avec les règles appropriées.

**Pour créer deux groupes de sécurité**

1. Ouvrez la EC2 console Amazon à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Security Groups**, **Create Security Group**.

1. Dans le **champ Nom du groupe** de sécurité, entrez un nom facile à identifier pour le différencier des autres, tel que *Ethereum EC2 -SG ou *EthereumAlb-SG**. Vous utiliserez ces noms plus tard. Sous **Description**, saisissez un résumé.

1. Dans le champ **VPC**, sélectionnez le VPC que vous avez créé précédemment.

1. Choisissez **Créer**.

1. Répétez les étapes ci-dessus pour créer un autre groupe de sécurité.

**Ajouter des règles entrantes au groupe de sécurité pour les instances EC2**

1. Sélectionnez le groupe de sécurité pour les EC2 instances que vous avez créées précédemment

1. Dans l'onglet **Entrant**, choisissez **Modifier**.

1. Pour **Type**, sélectionnez **All traffic** (Tout le trafic). Pour **Source**, laissez l'option **Personnaliser** sélectionnée, puis choisissez le groupe de sécurité que vous êtes en train de modifier dans la liste, par exemple *Ethereum EC2 -SG*. Cela permet aux EC2 instances du groupe de sécurité de communiquer entre elles.

1. Choisissez **Add Rule** (Ajouter une règle).

1. Pour **Type**, sélectionnez **Tout le trafic**. Pour **Source**, laissez **Custom (Personnalisé)** sélectionné, puis choisissez le groupe de sécurité de l'équilibreur de charge d'application à partir de la liste, par exemple, *EthereumALB-SG*. Cela permet aux EC2 instances du groupe de sécurité de communiquer avec l'Application Load Balancer.

1. Choisissez **Enregistrer**.

**Ajouter des données entrantes et modifier des règles sortantes pour le groupe de sécurité de l'équilibreur de charge d'application**

1. Sélectionner le groupe de sécurité des équilibreurs de charge d'application créés précédemment

1. Dans l'onglet **Inbound (Entrant)**, choisissez **Edit (Modifier)**, puis ajoutez les règles entrantes suivantes :

   1. Pour **Type**, sélectionnez **All traffic** (Tout le trafic). Pour **Source**, laissez **Custom (Personnalisé)** sélectionné, puis choisissez le groupe de sécurité que vous modifiez actuellement dans la liste, par exemple, *EthereumALB-SG*. Cela permet à l'équilibreur de charge d'application de communiquer avec lui-même et avec l'hôte bastion.

   1. Choisissez **Add Rule** (Ajouter une règle).

   1. Pour **Type**, sélectionnez **Tout le trafic**. Pour **Source**, laissez l'option **Personnaliser** sélectionnée, puis choisissez le groupe de sécurité pour les EC2 instances dans la liste, par exemple *Ethereum EC2 -SG*. Cela permet aux EC2 instances du groupe de sécurité de communiquer avec l'Application Load Balancer et l'hôte Bastion.

   1. Choisissez **Add Rule** (Ajouter une règle).

   1. Pour **Type**, choisissez **SSH**. Dans **Source**, sélectionnez **My IP (Mon adresse IP)**, qui détecte l’adresse IP CIDR de votre ordinateur et la fournit.
**Important**  
Cette règle permet à l'hôte du bastion d'accepter le trafic SSH en provenance de votre ordinateur, ce qui permet à celui-ci d'utiliser l'hôte du bastion pour afficher les interfaces Web et se connecter aux EC2 instances du réseau Ethereum. Pour permettre à d'autres personnes de se connecter au réseau Ethereum, ajoutez-les en tant que sources dans cette règle. Autoriser uniquement le trafic entrant vers des sources approuvées.

   1. Choisissez **Enregistrer**.

1. Sous l'onglet **Outbound (Sortant)**, choisissez **Edit (Modifier)** et supprimer la règle qui a été créée automatiquement pour autoriser le trafic sortant pour toutes les adresses IP.

1. Choisissez **Add Rule** (Ajouter une règle).

1. Pour **Type**, sélectionnez **Tout le trafic**. Pour **Destination**, laissez l'option **Personnaliser** sélectionnée, puis choisissez le groupe de sécurité pour les EC2 instances dans la liste. Cela permet des connexions sortantes depuis l'Application Load Balancer et l'hôte Bastion EC2 vers des instances du réseau Ethereum.

1. Choisissez **Add Rule** (Ajouter une règle).

1. Pour **Type**, sélectionnez **Tout le trafic**. Pour **Destination**, laissez **Custom (Personnalisé)** sélectionné, puis choisissez le groupe de sécurité que vous modifiez actuellement dans la liste, par exemple, *EthereumALB-SG*. Cela permet à l'équilibreur de charge d'application de communiquer avec lui-même et avec l'hôte bastion.

1. Choisissez **Enregistrer**.

## Création d'un rôle IAM pour Amazon ECS et d'un profil d' EC2 instance
<a name="blockchain-templates-iam-roles"></a>

Lorsque vous utilisez ce modèle, vous spécifiez un rôle IAM pour Amazon ECS et un profil d' EC2 instance. Les politiques d'autorisation associées à ces rôles permettent aux ressources et aux instances AWS de votre cluster d'interagir avec d'autres ressources AWS. Pour plus d'informations, veuillez consulter [Rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dans le *Guide de l'utilisateur IAM*. Vous configurez le rôle IAM pour Amazon ECS et le profil d' EC2 instance à l'aide de la console IAM () [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

**Pour créer le rôle IAM pour Amazon ECS**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, choisissez **Rôles**, puis **Créer un rôle**.

1. Sous **Select type of trusted entity (Sélectionner le type d'entité de confiance)**, choisissez **AWS service (Service AWS)**.

1. Sous **Choisir le service qui utilisera ce rôle**, choisissez **Elastic Container Service**.

1. Sous **Select your use case (Sélectionnez votre cas d'utilisation)**, choisissez **Elastic Container Service**, **Next:Permissions (Suivant : Autorisations)**.  
![\[AWS console interface for creating a role, with Elastic Container Service selected as the use case.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ecs-role.png)

1. Pour la **politique d'autorisations**, laissez la politique par défaut (**Amazon EC2 ContainerServiceRole**) sélectionnée et choisissez **Next:Review**.

1. Dans **Nom du rôle**, entrez une valeur qui vous aide à identifier le rôle, telle que *ECSRoleForEthereum*. Pour **Role Description (Description du rôle)**, saisissez un résumé. Notez le nom du rôle pour plus tard.

1. Choisissez **Créer un rôle**.

1. Sélectionnez le rôle que vous venez de créer dans la liste. Si votre compte comporte de nombreux rôles, vous pouvez rechercher le nom du rôle.  
![\[AWSIAM console showing a role named "ECSRoleForEtherum" with its description.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ecs-role-list.png)

1. Copiez la valeur **Role ARN (ARN du rôle)** et enregistrez-la afin de pouvoir la copier à nouveau. Vous aurez besoin de cet ARN lorsque vous créerez le réseau Ethereum.  
![\[AWSIAM role summary page showing role ARN, description, and attached policies.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ecs-role-arn.png)

Le profil d' EC2 instance que vous spécifiez dans le modèle est utilisé par les EC2 instances du réseau Ethereum pour interagir avec d'autres AWS services. Vous créez une stratégie d'autorisation pour le rôle, puis créez le rôle (qui crée automatiquement un profil d'instance du même nom), et enfin vous attachez la stratégie d'autorisation au rôle.

**Pour créer un profil d' EC2 instance**

1. Dans le panneau de navigation, choisissez **Policies** (Politiques), puis **Create policy** (Créer une politique).

1. Choisissez **JSON** et remplacez la déclaration de stratégie par défaut par le code JSON suivant :

   ```
   {
       "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": "*"
           }
       ]
   }
   ```

1. Choisissez **Examiner une politique**.

1. Dans **Nom**, entrez une valeur qui vous aide à identifier cette politique d'autorisation, par exemple *EthereumPolicyForEC2*. Sous **Description**, saisissez un résumé. Choisissez **Create Policy** (Créer une politique).  
![\[AWS console showing Create policy page with name, description, and service permissions.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ec2-perms-policy.png)

1. Choisissez **Roles (Rôles)**, **Create role (Créer un rôle)**.

1. Choisissez **EC2**, **Suivant : Autorisations**.

1. Dans le champ **Rechercher**, entrez le nom de la politique d'autorisation que vous avez créée précédemment, par exemple *EthereumPolicyForEC2*.

1. Sélectionnez la case à cocher de la stratégie que vous avez créée précédemment, puis choisissez **Next: Review (Suivant : Vérification)**.  
![\[AWS console showing Create role page with EthereumPolicyForEC2 policy selected.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ec2-select-policy.png)

1. Dans **Nom du rôle**, entrez une valeur qui vous aide à identifier le rôle, par exemple *EC2RoleForEthereum*. Pour **Role description (Description du rôle**, saisissez un résumé. Choisissez **Create role (Créer un rôle)**.

1. Sélectionnez le rôle que vous venez de créer dans la liste. Si votre compte possède de nombreux rôles, vous pouvez saisir le nom du rôle dans le champ **Search (Recherche)**.  
![\[AWSIAM interface showing a role named EC2RoleforEther with associated description and trusted entity.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ec2-select-role.png)

1. Copiez la valeur de l'**Instance Profile ARN (ARN de profil d'instance)** et enregistrez-le afin de pouvoir le copier à nouveau. Vous aurez besoin de cet ARN lorsque vous créerez le réseau Ethereum.  
![\[AWSIAM role summary page showing Role ARN and Instance Profile ARNs fields.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/ec2-role-arn.png)

## Création d'un hôte bastion
<a name="blockchain-templates-bastion-host"></a>

Dans ce didacticiel, vous créez un bastion host (hôte bastion). Il s'agit d'une EC2 instance que vous utilisez pour vous connecter aux interfaces Web et aux instances de votre réseau Ethereum. Son seul but est de transférer le trafic SSH de clients approuvés à l’extérieur du VPC, afin qu'ils puissent accéder aux ressources du réseau Ethereum.

Vous configurez l'hôte bastion, car l'équilibreur de charge d'application créé par le modèle est interne, ce qui signifie qu'il achemine uniquement les adresses IP internes. L'hôte bastion :
+ Dispose d'une adresse IP interne que l'équilibreur de charge d'application reconnaît, car vous la lancez dans le deuxième sous-réseau public que vous avez créé précédemment.
+ Dispose d'une adresse IP publique que le sous-réseau attribue, accessible par des sources approuvées hors du VPC.
+ Est associé au groupe de sécurité de l'équilibreur de charge d'application que vous avez créé précédemment, qui dispose d'une règle entrante qui autorise le trafic SSH (port 22) à partir de clients approuvés.

Pour pouvoir accéder au réseau Ethereum, les clients de approuvés doivent être configurés pour se connecter via l'hôte bastion. Pour de plus amples informations, veuillez consulter [Se connecter à l'hôte Bastion EthStats et l' EthExplorer utiliser](blockchain-bastion-host-connect.md). Un hôte bastion est une approche. Vous pouvez utiliser n'importe quelle approche qui fournit l'accès des clients approuvés aux ressources privées dans un VPC.

**Création d'un hôte bastion**

1. Suivez les cinq premières étapes pour [lancer une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) dans le *guide de EC2 l'utilisateur Amazon*.

1. Choisissez **Modifier les détails de l'instance**. Pour **Network (Réseau)**, choisissez le VPC que vous avez créé précédemment. Pour **Subnet (Sous-réseau)**, sélectionnez le deuxième sous-réseau public que vous avez créé précédemment. Conservez les valeurs par défaut de tous les autres paramètres.

1. Confirmez la modification lorsque vous y êtes invité, puis choisissez **Review and Launch (Vérifier et lancer)**.

1. Sélectionnez **Edit security groups (Modifier les groupes de sécurité)**. Pour **Attribuer un groupe de sécurité**, choisissez **Select an existing security group (Sélectionner un groupe de sécurité existant)**.

1. Dans la liste des groupes de sécurité, sélectionnez le groupe de sécurité pour l'équilibreur de charge d'application que vous avez créé précédemment, puis choisissez **Review and Launch (Vérifier et lancer)**.

1. Choisissez **Lancer**.

1. Notez l'ID de l'instance. Vous en aurez besoin plus tard quand vous [Se connecter à l'hôte Bastion EthStats et l' EthExplorer utiliser](blockchain-bastion-host-connect.md).  
![\[Green checkmark indicating successful instance launch with partially obscured instance ID.\]](http://docs.aws.amazon.com/fr_fr/blockchain-templates/latest/developerguide/images/bastion-instance.png)