[ 4] local 172.31.14.50 port 5001 connected with 77.120.103.20 port 36174
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-53.3 sec 384 KBytes 59.1 Kbits/sec
59.1 Kbits/sec? Где-то такое уже видели, только 56к:
На самом деле скорость варьируется — иногда всё работает более-менее живо, иногда — отмирает напрочь.
ICP license
Ещё один немаловажный (критический, я бы сказал момент) — это ICP license.
Вопросами лицензии занимались менеджеры, потому деталей не знаю, но хороший обзор на эту тему есть тут>>>.
Кратко говоря — вы не можете запустить вебсайт (вообще любой сервис, который работает по портам 80, 443, пока не знаю по поводу 8080 и использует доменное имя), не получив разрешения от властей Китая, а именно — от Ministry of Industry and Information Technology. Не в курсе — как на счёт других сервисов (почта, базы и т.д.), но что касается веб — без лицензии не обойтись.
Пример лицензии можно увидеть тут — http://bj.58.com, слева внизу:
Или даже на странице самого китайского AWS Console:
An error occurred (Unsupported) when calling the RunInstances operation: The requested configuration is currently not supported. Please check the documentation for supported configurations.
Первое, что требуется проверить — скорость загрузки образов с серверов JFrog Artifactory, которые расположены в Европе.
Планируется использование уже имеющегося Jenkins в Европе, который будет собирать образы и пушить их в Artifactory, после чего скрипт на китайских инстансах будет делать docker pull и переключать Blue и Green окружения.
Устанавливаем Docker:
time wget -qO- https://get.docker.com/ | sh
Скорость… При apt-get update, даже несмотря на то, что большая часть данных тянется из китайского репозитория Ubuntu (http://cn-north-1b.clouds.archive.ubuntu.com/ubuntu) — update выполнялся минут 10, а весь процесс установки Docker из этого скрипта — минут 30.
Ждём, несколько раз отлавливая ошибки вида:
…
E: Failed to fetch https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_17.04.0~ce-0~ubuntu-xenial_amd64.deb Operation too slow. Less than 10 bytes/sec transferred the last 120 seconds
…
Собственно — попытка pull:
root@ip-172-31-14-50:~# time docker pull engineering-tag-docker.jfrog.io/tag-configuration:production-rc_2017april-24
production-rc_2017april-24: Pulling from tag-configuration
* data.aws_ami.eureka_green: data.aws_ami.eureka_green: AuthFailure: AWS was not able to validate the provided access credentials
status code: 401, request id: 76509ce4-e07c-42b2-bdbf-a4e80e877d1c
Странно, но ок — добавляем AIM роль AdministratorAccess, пробуем снова (прим. — роль администратора не помогла, см. ниже).
Вторая ошибка — из-за соединения. Работа из Киева в Китай будет аукаться ещё много раз:
…
* aws_security_group.http_out: Error waiting for Security Group (sg-e7fa5f83) to become available: timeout while waiting for state to become ‘exists’ (timeout: 1m0s)
…
Перезапускаем.
Проблемы
Ещё одна ошибка:
Просто консоль не сумела подгрузить данные. Ну, ок…
Вот ещё — Connection reset:
Ещё ошибка:
А ещё можем так:
Так мы и закончили первый день… 🙂
Ещё несколько раз выскакивала ошибка вида:
…
* data.aws_ami.eureka_green: data.aws_ami.eureka_green: AuthFailure: AWS was not able to validate the provided access credentials
status code: 401, request id: c534dca9-d35f-408c-a310-86bf1bfc53dc
…
Но перезапуск помогал. Причём появляется она рандомно, независимо от типа ресурса — иногда при создании VPC, иногда — EC2 интанса.