如何在 Lambda 上为 REST API 解析对等节点、排序节点和 CA 主机名
How to resolve peer, orderer and CA hostnames for REST API on Lambda
因此我们在 AWS EC2 上设置了一个多组织、多通道结构 v2.2 网络。为了从本地进行测试,我们定义了“/etc/hosts”文件来解析对等点、订购者和证书颁发机构的主机名,如下所示:
/etc/hosts
[ec2-public-ip] peer0.org1.com
[ec2-public-ip] orderer0.orderer.com
[ec2-public-ip] ca.org1.com
连接配置文件如下所示:
ccp-org1.json
{
"name" : "org1",
"version" : "1.0.0",
"client" : {
"organization" : "org1",
"connection" : {
"timeout" : {
"peer" : {
"endorser" : "300"
}
}
}
},
"organizations" : {
"tracexOrg" : {
"mspid" : "org1MSP",
"peers" : [
"peer0.org1.com"
],
"certificateAuthorities" : [
"ca.org1.com"
]
}
},
"peers" : {
"peer0.tracextech.com" : {
"url" : "grpcs://[ec2-public-ip]:7051",
"tlsCACerts" : {
"pem" : "pem-file"
},
"grpcOptions" : {
"ssl-target-name-override" : "peer0.org1.com",
"hostnameOverride" : "peer0.org1.com"
}
}
},
"certificateAuthorities" : {
"ca.org1.com" : {
"url" : "https://[ec2-public-ip]:7054",
"caName" : "ca.org1.com",
"tlsCACerts" : {
"pem" : [
"pem-file"
]
},
"httpOptions" : {
"verify" : false
}
}
}
}
但是现在,我们已经在 Lambda 上部署了我们的 express API,我无法弄清楚 Lambda 将如何解析私有主机名?有没有办法为 Lambda 定义“etc/hosts”文件,或者是否有其他程序?
谢谢。
刚刚找到答案:
所以 AWS 在 Private Hosted Zones 的 Route 53 中有一项服务,允许您为域名定义自定义 DNS 条目,例如“example.com”,并且您可以将该区域关联到特定的 VPC您的 Fabric 实例所在的位置。
然后,您可以为该私有区域中的对等节点、排序节点等定义 dns 条目,以解析为 Fabric 实例的 IP。确保您还在该 VPC 的私有子网中设置了 Lambda,等等!
因此我们在 AWS EC2 上设置了一个多组织、多通道结构 v2.2 网络。为了从本地进行测试,我们定义了“/etc/hosts”文件来解析对等点、订购者和证书颁发机构的主机名,如下所示:
/etc/hosts
[ec2-public-ip] peer0.org1.com
[ec2-public-ip] orderer0.orderer.com
[ec2-public-ip] ca.org1.com
连接配置文件如下所示:
ccp-org1.json
{
"name" : "org1",
"version" : "1.0.0",
"client" : {
"organization" : "org1",
"connection" : {
"timeout" : {
"peer" : {
"endorser" : "300"
}
}
}
},
"organizations" : {
"tracexOrg" : {
"mspid" : "org1MSP",
"peers" : [
"peer0.org1.com"
],
"certificateAuthorities" : [
"ca.org1.com"
]
}
},
"peers" : {
"peer0.tracextech.com" : {
"url" : "grpcs://[ec2-public-ip]:7051",
"tlsCACerts" : {
"pem" : "pem-file"
},
"grpcOptions" : {
"ssl-target-name-override" : "peer0.org1.com",
"hostnameOverride" : "peer0.org1.com"
}
}
},
"certificateAuthorities" : {
"ca.org1.com" : {
"url" : "https://[ec2-public-ip]:7054",
"caName" : "ca.org1.com",
"tlsCACerts" : {
"pem" : [
"pem-file"
]
},
"httpOptions" : {
"verify" : false
}
}
}
}
但是现在,我们已经在 Lambda 上部署了我们的 express API,我无法弄清楚 Lambda 将如何解析私有主机名?有没有办法为 Lambda 定义“etc/hosts”文件,或者是否有其他程序?
谢谢。
刚刚找到答案:
所以 AWS 在 Private Hosted Zones 的 Route 53 中有一项服务,允许您为域名定义自定义 DNS 条目,例如“example.com”,并且您可以将该区域关联到特定的 VPC您的 Fabric 实例所在的位置。 然后,您可以为该私有区域中的对等节点、排序节点等定义 dns 条目,以解析为 Fabric 实例的 IP。确保您还在该 VPC 的私有子网中设置了 Lambda,等等!