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).
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.
Utilisation du modèle AWS Blockchain pour Hyperledger Fabric
Hyperledger Fabric est un framework de blockchain qui exécute des contrats intelligents appelés chaincode, écrits en Go. Vous pouvez créer un réseau privé avec Hyperledger Fabric, en limitant le nombre de pairs autorisés à se connecter au réseau et à y participer. Pour plus d'informations sur Hyperledger Fabric, consultez la documentation d'Hyperledger
Le modèle AWS Blockchain pour Hyperledger Fabric ne prend en charge qu'une plate-forme de conteneurs locale à Docker, ce qui signifie que les conteneurs Hyperledger Fabric sont déployés sur une seule instance EC2.
Liens pour le lancement
Consultez Getting Started with AWS Blockchain Templates
Modèle de blockchain AWS pour les composants Hyperledger Fabric
Le modèle AWS Blockchain pour Hyperledger Fabric crée une instance EC2 avec Docker et lance un réseau Hyperledger Fabric en utilisant des conteneurs sur cette instance. Le réseau comprend un service de commande et trois organisations, chacune dotée d'un service pair. Le modèle lance également un conteneur Hyperledger Explorer, qui vous permet de parcourir les données de la blockchain. Un conteneur de serveur PostgreSQL est lancé pour prendre en charge Hyperledger Explorer.
Le schéma suivant illustre un réseau Hyperledger Fabric créé à l'aide du modèle :
Conditions préalables
Avant de lancer un réseau Hyperledger Fabric à l'aide d'un modèle, assurez-vous que les exigences suivantes sont satisfaites :
Le principe IAM (utilisateur ou groupe) que vous utilisez doit être autorisé à utiliser tous les services associés.
Vous devez avoir accès à une paire de clés que vous pouvez utiliser pour accéder aux instances EC2 (par exemple, via SSH). La clé doit exister dans la même région que l'instance.
Vous devez disposer d'un profil d'instance EC2 associé à une politique d'autorisation autorisant l'accès à Amazon S3 et à Amazon Elastic Container Registry (Amazon ECR) pour extraire des conteneurs. Pour obtenir un exemple de politique d'autorisations, consultez Exemple d'autorisations IAM pour le profil d'instance EC2.
Vous devez disposer d'un réseau Amazon VPC avec un sous-réseau public ou d'un sous-réseau privé avec une passerelle NAT et une adresse IP élastique pour pouvoir accéder à Amazon S3 CloudFormation et Amazon ECR.
Vous devez disposer d'un groupe de sécurité EC2 avec des règles entrantes autorisant le trafic SSH (port 22) à partir des adresses IP ayant besoin de se connecter à l'instance à l'aide de SSH, idem pour les clients ayant besoin de se connecter à Hyperledger Explorer (port 8080).
Exemple d'autorisations IAM pour le profil d'instance EC2
Vous spécifiez un ARN de profil d'instance EC2 comme l'un des paramètres lorsque vous utilisez le modèle AWS Blockchain pour Hyperledger Fabric. Utilisez la déclaration de stratégie suivante comme point de départ pour la stratégie d'autorisations attachée à ce rôle EC2 et au profil d'instance.
Connexion aux ressources d'Hyperledger Fabric
Une fois que la pile racine que vous créez avec le modèle indique CREATE_COMPLETE, vous pouvez vous connecter aux ressources Hyperledger Fabric sur l'instance EC2. Si vous avez spécifié un sous-réseau public, vous pouvez vous connecter à l'instance EC2 comme n'importe quelle autre instance EC2. Pour plus d'informations, consultez la section Connexion à votre instance Linux à l'aide de SSH dans le guide de l'utilisateur Amazon EC2.
Si vous avez spécifié un sous-réseau privé, vous pouvez configurer et utiliser un hôte bastion pour établir des connexions par proxy aux ressources Hyperledger Fabric. Pour plus d’informations, consultez Connexions proxy utilisant un hôte Bastion ci-dessous.
Note
Vous remarquerez peut-être que le modèle attribue une adresse IP publique à l'instance EC2 hébergeant les services Hyperledger Fabric ; toutefois, cette adresse IP n'est pas accessible au public car les politiques de routage du sous-réseau privé que vous spécifiez n'autorisent pas le trafic entre cette adresse IP et les sources publiques.
Connexions proxy à l'aide d'un hôte Bastion
Dans certaines configurations, les services Hyperledger Fabric peuvent ne pas être accessibles au public. Dans ces cas, vous pouvez vous connecter aux ressources d'Hyperledger Fabric via un hôte bastion. Pour plus d'informations sur les hôtes bastion, consultez Architecture d'hôtes bastion Linux dans le guide Quick Start de l'hôte bastion Linux.
L'hôte du bastion est une instance EC2. Assurez-vous que les conditions suivantes sont remplies :
L'instance EC2 de l'hôte Bastion se trouve dans un sous-réseau public sur lequel l'attribution automatique d'une adresse IP publique est activée et qui possède une passerelle Internet.
L'hôte Bastion possède la paire de clés qui autorise les connexions SSH.
L'hôte Bastion est associé à un groupe de sécurité qui autorise le trafic SSH entrant en provenance des clients qui se connectent.
Le groupe de sécurité attribué aux hôtes Hyperledger Fabric (par exemple, l'Application Load Balancer si ECS est la plate-forme de conteneur, ou l'instance EC2 hôte si docker-local est la plate-forme de conteneur) autorise le trafic entrant sur tous les ports en provenance de sources au sein du VPC.
Une fois qu'un hôte bastion est configuré, assurez-vous que les clients qui se connectent utilisent l'hôte bastion comme proxy. L'exemple suivant montre comment configurer une connexion proxy à l'aide de Mac OS. BastionIPRemplacez-la par l'adresse IP de l'instance EC2 de l'hôte bastion et par le fichier MySshKey.pem de paires de clés que vous avez copié sur l'hôte bastion.
Sur la ligne de commande, tapez ce qui suit :
ssh -imySshKey.pemec2-user@BastionIP-D 9001
Cela configure la redirection de port pour le port 9001 sur la machine locale vers l'hôte Bastion.
Configurez ensuite votre navigateur ou votre système pour utiliser le proxy SOCKS pourlocalhost:9001. Par exemple, à l'aide de Mac OS, sélectionnez System Preferences (Préférences système), Network (Réseau), Advanced (Paramètres avancés), puis sélectionnez SOCKS proxy (Proxy SOCKS) et saisissez localhost:9001
Dans FoxyProxy Standard avec Chrome, sélectionnez Plus d'outils, Extensions. Sous FoxyProxy Standard, sélectionnez Détails, Options d'extension, Ajouter un nouveau proxy. Sélectionnez Manual Proxy Configuration (Configuration manuelle du proxy). Pour Host or IP Address (Hôte ou adresse IP), saisissez localhost et pour Port, saisissez 9001. Sélectionnez SOCKS proxy? (Proxy SOCKS ?), Save (Enregistrer).
Vous devriez maintenant être en mesure de vous connecter aux adresses hôtes Hyperledger Fabric répertoriées dans la sortie du modèle.