AWS лаборатория VP C не удалось создать - PullRequest
1 голос
/ 27 мая 2020

Я просматриваю AWS лабораторные руководства с хорошей архитектурой и занимаюсь автоматическим развертыванием VP C (https://www.wellarchitectedlabs.com/Security/200_Automated_Deployment_of_VPC/Lab_Guide.html).

Инструкции довольно просты, и я загружаю предоставленный шаблон (пробовал как тот, который напрямую связан с инструкциями, так и тот из их репозитория git, который я нашел здесь https://github.com/awslabs/aws-well-architected-labs/blob/master/Security/200_Automated_Deployment_of_VPC/Code/vpc-alb-app-db.yaml) . Но когда он запускается, я продолжаю получать сообщения об ошибках. Эти ошибки говорят о невозможности раскрутить вещи в us-west-1 c:

enter image description here

А это для VP C:

enter image description here

Я вошел в систему с пользователем IAM, у которого был доступ администратора, и попытался очистить yaml, поскольку я обнаружил несколько повторяющихся полей, но ничего не сработало. Просто моя учетная запись не может создать ничего в us-west-1 c, потому что она перегружена или что-то в этом роде, или это какая-то другая проблема?

Заранее благодарим за любую помощь!

1 Ответ

4 голосов
/ 27 мая 2020

Ответ на картинке: CloudFormation не может создать ALB1Subnet3, потому что зона доступности us-west-1c не существует. Когда что-либо в новом стеке выходит из строя, откатывается весь стек.

Как описано здесь , вы можете получить список зон доступности для региона с помощью интерфейса командной строки:

aws ec2 describe-availability-zones --region us-west-1

Вы увидите, что в этом регионе есть только две зоны доступности:

{
    "AvailabilityZones": [
        {
            "State": "available",
            "OptInStatus": "opt-in-not-required",
            "Messages": [],
            "RegionName": "us-west-1",
            "ZoneName": "us-west-1b",
            "ZoneId": "usw1-az3",
            "GroupName": "us-west-1",
            "NetworkBorderGroup": "us-west-1"
        },
        {
            "State": "available",
            "OptInStatus": "opt-in-not-required",
            "Messages": [],
            "RegionName": "us-west-1",
            "ZoneName": "us-west-1c",
            "ZoneId": "usw1-az1",
            "GroupName": "us-west-1",
            "NetworkBorderGroup": "us-west-1"
        }
    ]
}

Обновление

Было указано, что us-west-1c появляется в список моей зоны доступности. Это происходит потому, что зоны доступности my не совпадают с зонами доступности OP. Процитируем документы :

Чтобы обеспечить распределение ресурсов по зонам доступности для региона, мы независимо сопоставляем зоны доступности с именами для каждой учетной записи AWS. Например, зона доступности us-east-1a для вашей учетной записи AWS может не совпадать с местоположением us-east-1a для другой учетной записи AWS.

Итак, для OP, сообщение об ошибке было правильным: нет us-west-1c. И мое объяснение - что us-west-1 имеет только две зоны - также было правильным.

Однако, чтобы довести это до крайности (и отказаться от дальнейших комментариев), если вы посмотрите на AWS Карта глобальной инфраструктуры (примерно на полпути вниз здесь ) и наведите указатель мыши на область us-west-1, вы увидите, что она имеет три зоны доступности. Однако любая учетная запись может не иметь доступа ко всем зонам доступности в регионе.

...