Skip to content

Is there way for users in china to access my s3, ec2 and api gateways?

0

We have an extensive network of AWS services that support our application. But currently users from China can not reliably access the browser facing endpoints of our service (on EC2, S3 and API Gateway). Some days they can. Some days they can't. We are set up in 13 different AWS regions currently, and usually recommend users in China choose either our Singapore or Tokyo regions. But thats not working out.

We have investigated setting up our services on an AWS region in China, but it seems to mean maintaining an entirely parallel network of AWS services. And we don't really have the business in China to justify that much effort and cost. Our clients are schools and their users are students. So asking them to use a VPN is not really a solution.

So my question: Is there way for users in China to access our AWS services without us setting up a parallel AWS infrastucture in China? Have others done this? Is there an AWS region that always works for users in China?

4 Answers
2

Unfortunately, there's no reliable way for users in China to consistently access AWS services like S3, EC2, and API Gateway unless you set up infrastructure within the AWS China region. Even nearby regions like Singapore or Tokyo can’t guarantee access due to how China’s internet works. Setting up in AWS China means running a separate account with different rules, which isn’t always worth it if your user base is small.

This article explains the tradeoffs really well: https://mev.com/blog/7-things-i-wish-i-knew-before-deploying-a-project-with-aws-in-china

answered 6 months ago
1

This is the nature of the Internet: There are many different networks that make up the global internet; many different operators; many different country borders; many different regulatory divisions. It's not under anyone's single control so there is a limited amount of influence that you or even AWS can have in situations like this.

For reliable service in China, you will need to run services in the AWS China regions. And that means working within the regulatory frameworks in that country.

Edit: Also see this handy blog post - it doesn't really answer the question above but might help some people out there.

AWS
EXPERT
answered 3 years ago
  • Thanks for your reply. But that's a political response to a technical question.

  • No, that's a technical response too. If you can't control it then there's not much you can do. You've already outlined the two paths that are open to you: Continue the way that you are operating; or launch resources in China.

0

We have faced the same problem and finally we decided to set up the instance in AWS China (either Beijing or Ningxia region). Otherwise you have to set up Direct Connect or VPN.

answered 3 years ago
0

Thanks for the replies from the other posters, they are really good information. I will also reply here to my own post to update what I eventually did (3 years later)

The literal answer was "No." There is no other AWS region outside of the two China ones (Ningxia and Beijing) that will provide regularly good access to AWS services.

As I said we just did not have the business (or prospect of enough business) in China to justify the expense and effort of setting and maintaining a parallel stack. I tried various things like CDNs and offloading some of the tasks that required connecting across the firewall to servers (not browsers) and using async tasks that did not cause users to have to wait for a response. But it was not very successful. It was hard to test. And I felt like I was avoiding the obvious. (Though I do know of other services that were successful with CDNs ). So we just told users in China that the service was not great there, and gave them realistic expectations before they signed up.

A few years later we did pick up enough business to reconsider the project. Not much had changed from the business side of things. We needed to get an ICP certification, and use a service in China who acted as our agent. We used a service called CloudX, and they were great. They have the parent AWS account and give us a sub account. It is possible to have your own AWS account, and not use an agent, but its a much longer process with quite rigorous requirements. Having an agent really makes it easier to go through the steps you need to go through. Because a lot of the difficulty in the whole process is not really knowing what is the right way to do things. It was not too expensive.

Interestingly enough the agents that we had been talking with 3 years ago, seemed to be gone, or out of business. I wonder what would have happened to our accounts if we had used them.

It took about 3 weeks from signing up to being able to login to our accounts, and a little longer for the ICP to come through. Before the ICP comes through you can not use port 80 or 443 on your servers. Technically it might be possible, but you would risk being shut down before you started. I was not brave enough to try that.

Once we had access to our AWS account most things were quite familiar. The services and UI and settings and API for the most part were exactly the same. But there were cases when things were not quite the same. And that is where I burned a lot of time. It was not clear if I had just configured something wrong, or AWS China was different in a way I did not know, or if there was some block on my account till my ICP was through.

An example of this was trying to access the AWS transcribe service. No matter what I did, I kept getting DNS errors. Up until that point all the API endpoints followed the standard pattern and there was no indication that AWS transcribe would be different. I was using:

transcribe.cn-northwest-1.amazonaws.com.cn

It turns out that the correct endpoint was non standard. It was :

cn.transcribe.cn-northwest-1.amazonaws.com.cn

That also shows up another point where you can go astray. The documentation is in Chinese, and it even says "it has not been translated into English." So you use the browsers translate to English function. However the documentation is almost all simply a machine translation of the English documentation. And where there are differences in the services it will not be documented there. And there are differences.

Those are laid out in other documents, and you should look for those early on. This was the one that would have helped me: https://docs.amazonaws.cn/aws/latest/userguide/endpoints-Ningxia.html

Other differences I ran into were:

  • No function URLs in Lambda
  • No ACM certificates in CloudFront (that was hard )
  • Available Polly TTS voices were limited
  • No accelerated upload endpoints for S3

Also, perhaps it helps someone, though you will mostly read that you cannot transfer EC2 images across regions, I found it was actually pretty easy to use the AWS CLI to do just that. How to backup, and then restore, is documented on this page. That is all you need to do: https://repost.aws/knowledge-center/ec2-export-ami-s3-bucket

Testing was also hard. Without being in China it is hard to know if its working or not. Perhaps you could do something with VNC and a machine in China. I did have our client in China test things and report back, but communication was a problem, and it was just not practical. So in the end I actually went to Shanghai and tested from a hotel there. In my case Shanghai is very close so it was worth doing. And it was good to be able to test and fix in the same session. But if you do that and you have not been there before, you should prepare the resources that you need in advance because some of the services that you rely on might be blocked. Those include Google drive, Gmail, and Github.

After all that, we are now up and running in China and its going great.

answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.