ibm-cloud-architecture / terraform-icp-aws

This Terraform configurations uses the AWS provider to provision virtual machines on AWS to prepare VMs and deploy IBM Cloud Private on them. This Terraform template automates best practices learned from installing ICP on AWS at numerous client sites in production.
9 stars 30 forks source link

Has this been tested in AWS China region? #16

Open mlu-ibm opened 5 years ago

mlu-ibm commented 5 years ago

Tried to deploy it in cn-northwest-1 region and hit several issues. Looks like all AWS/Terraform issues, but if any one has a solution please help.

First one is the EC2 endpoint, the one used by Terraform seems to be ec2.cn-northwest-1.amazonaws.com, but the correct one is ec2.cn-northwest-1.amazonaws.com.cn . I explicitly added the endpoint in aws.tf and passed that.

Now I am hitting this an apiVersion not found issue, for example:

* data.aws_vpc_endpoint_service.s3: 1 error(s) occurred:

* data.aws_vpc_endpoint_service.s3: data.aws_vpc_endpoint_service.s3: Error fetching VPC Endpoint Services: NoSuchVersion: The requested version (2016-11-15) of service ManagedProxyService does not exist
    status code: 400, request id: bd701e5a-13e7-4ddf-bf20-5e06cfa3e0a9

I did find that in autoscaling/lambda/common.js there is a reference to this apiVersion:

var ec2 = new aws.EC2({apiVersion: '2016-11-05'});

But I don't think that's the cause of my problem, and I even tried to modify it and re-initialize terraform, same results.

Looks like AWS China is quite different from the AWS in rest of the world. If anyone knows how to explicitly set the apiVersion used by Terraform please help.