gpt4 book ai didi

amazon-web-services - 从 Hyperledger 模板创建 CloudFormation Stack 时 CREATE_FAILED

转载 作者:行者123 更新时间:2023-12-03 07:28:40 24 4
gpt4 key购买 nike

我正在使用此模板来创建堆栈:

https://aws-blockchain-templates-us-east-1.s3.us-east-1.amazonaws.com/hyperledger/fabric/templates/simplenetwork/latest/hyperledger.template.yaml

在关注 AWS 的这篇博文时,我收到错误。

博客 - 帖子链接:

https://aws.amazon.com/blockchain/templates/getting-started/

区域:us-east-1

错误消息:

以下资源无法创建:[FabricEC2CommonStack]。 。用户请求回滚。CREATE_FAILED AWS::CloudFormation::Stack FabricEC2CommonStack 嵌入式堆栈 arn:aws:cloudformation:us-east-1:>:stack/FabricStack-FabricEC2CommonStack-NNFUD6RJCZB1/<> 未成功创建:以下资源创建失败: [EC2InstanceForDev]。

我已满足所有先决条件。

此错误的原因可能是什么以及如何纠正?

此后,我得到 ROLLBACK_IN_PROGRESS 和 ROLLBACK_COMPLETE。

最佳答案

适用于 Hyperledger Fabric 的官方 AWS 区 block 链云形成模板是一个嵌套模板(我们的基本模板调用另一个模板,该模板在自己创建的 EC2 实例上执行所有设置)。

但问题是它在 EC2 实例上执行所有操作,除了安装 docker-compose 之外,它会抛出一个错误,指出最后找不到 docker-compose 命令,这会导致 CloudFormation 模板中断(EC2InstanceForDev)并进行回滚。因此,我们可以在 EC2 实例上手动运行相同的脚本,并进行一些小的更改,而不是使用 CloudFormation Template。变化是预先安装docker-compose。休息设置保持不变,即 - 1。创建 VPC,2. 创建公共(public)子网,3. 创建 EIP(如果您想稍后附加),4. 创建 SSH key 对,5. 创建 IAM 角色和策略,6. 创建具有入站 8080(TCP) 的安全组& 22(SSH), 7. 使用步骤 (1to6) 中创建的资源启动 EC2 实例。

首选 AMI 是 -

  1. ami-1853ac65 代表 us-east-1
  2. ami-25615740 代表 us-east-2
  3. ami-dff017b8 代表 us-west-2

Docker 镜像存储库 -

  1. 354658284331 代表 us-east-1
  2. 763976151875 代表 us-east-2
  3. 712425161857 代表 us-west-2

在 EC2 上运行的脚本(为脚本提供 chmod 777 和 chmod +x)-

#!/bin/bash -x
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
res=$?
echo $res
mkdir /tmp/fabric-install/
cd /tmp/fabric-install/
wget https://aws-blockchain-templates-us-east-1.s3.us-east-1.amazonaws.com/hyperledger/fabric/templates/simplenetwork/latest/HyperLedger-BasicNetwork.tgz -O /home/ec2-user/HyperLedger-BasicNetwork.tgz
cd /home/ec2-user
tar xzvf HyperLedger-BasicNetwork.tgz
rm /home/ec2-user/HyperLedger-BasicNetwork.tgz
chown -R ec2-user:ec2-user HyperLedger-BasicNetwork
chmod +x /home/ec2-user/HyperLedger-BasicNetwork/artifacts/first-run-standalone.sh
/home/ec2-user/HyperLedger-BasicNetwork/artifacts/first-run-standalone.sh us-east-1 example.com org1 org2 org3 mychannel 354658284331.dkr.ecr.us-east-1.amazonaws.com/ 354658284331
res=$?
echo $res

我附加到角色的 IAM 策略 -

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

注意 -请替换上述脚本和脚本中适合您所在区域和适当 AWS 区域的 AWS ECR 帐号 (example.com org1 org2 org3 mychannel),请根据要求也更改此值。它与我们在 CF 模板中输入的 RootDomain、Org1SubDomain、Org2SubDomain、Org3SubDomain、ChannelName 相同)。

整个过程在 us-east-1 区域进行了测试。该脚本可以直接部署在 us-east-1 区域。访问 Hyperledger Web 监控界面 (http://EC2-DNS OR EIP:8080)

关于amazon-web-services - 从 Hyperledger 模板创建 CloudFormation Stack 时 CREATE_FAILED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com