AWS [China]: часть вторая

By | 05/19/2017
 

AWS China – начало

Устав в первый день бороться с ошибками из-за соединения (запускал из Киева) – завёл в Китае ещё один интанс, и выполнял всё оттуда. Получается намного быстрее.

Тем не менее – ошибок хватает.

Пробуем обновить репозиторий, который выкачали 5 минут назад из Европы:

git pull
fatal: unable to access 'https://user@bitbucket.domain.net/scm/lontag/tag-server-api-infrastructure.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
git pull
fatal: unable to access 'https://user@bitbucket.domain.net/scm/lontag/tag-server-api-infrastructure.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

Terraform вдруг выдал ещё такую ошибку:


* aws_instance.nat: Error launching source instance: UnsupportedOperation: Specifying tags during instance launch is not supported in this region.
status code: 400, request id: f9952c16-7ef6-453a-b71e-4a99d06b00b7

В Европе – теги добавляются без проблем.

Что интересно – ошибка с тегами появилась только относительно NAT-интанса.

Тег добавляется в описании модуля:

resource "aws_instance" "nat" {
  ami = "${var.ami}"
  instance_type = "${var.instance_type}"
  vpc_security_group_ids = ["${split(",", var.security_groups)}"]
  subnet_id = "${var.subnet_id}"
  associate_public_ip_address = true
  source_dest_check = false
  key_name = "${var.key_name}"
  user_data = "${file("${var.user_data}")}"

  tags {
    Name = "${var.name}"
  }
}

Закомментил tags – всё завелось:


aws_route_table_association.private_1b: Creation complete (ID: rtbassoc-5acac73f)
module.nat.aws_eip.nat: Creation complete (ID: eipalloc-8e0f74b4)

Apply complete! Resources: 5 added, 2 changed, 0 destroyed.


Через несколько дней, когда начали уже запускать само приложение – таки столкнулись с ICP лицензией:

ports="8083 80 483 8080 8083 8084 8090 9999"
for i in $ports; do nc -z -w 5 dev-cn-api-elb-1823469915.cn-north-1.elb.amazonaws.com.cn $i; echo port $i - $?; done
port 8083 - 0
port 80 - 1
port 483 - 1
port 8080 - 1
port 8083 - 0
port 8084 - 0
port 8090 - 0
port 9999 - 0

Все стандартные HTTP порты закрыты, хотя лицензия у нас вроде как есть. Опять таки – решали вопрос китайские коллеги, поэтому как именно порты были разблокированы – увы, не знаю.


Кроме всего – оказалось, что в Китае нет CDN от AWSCloudFront:

Amazon CloudFront edge locations are currently not available inside of China.

https://www.amazonaws.cn/en/content-delivery/


Хостинг сайта на S3 тоже не работает, пока не откроют порты по лицензии:

Yes, regarding S3 static web hosting error, S3 static web hosting port is blocked by default for BJS region due to China Law, you need customer support team to help you to open the web hosting on S3 too. In the end, all your question back to our support team as only they have the privilege to monitor the port status and unblock it.

При чём ошибка была не типа “connection refused“, а:

curl http://dev-cn-test.s3-website.cn-north-1.amazonaws.com.cn/index.html
<html>
<head><title>401 Unauthorized</title></head>
<body>
<h1>401 Unauthorized</h1>
<ul>
<li>Code: UnauthorizedAccess</li>
<li>Message: You are not authorized to perform this operation</li>
...

Порты открыли – всё заработало.

А в целом – на этом приключения и закончились. Ожидал намного больше сложностей.

Суммируя – кроме портов и лицензии, да проблем со скоростью – особых отличий по работе с Китайским Amazon Web Services не обнаружилось. Пока что.