AWS Windows EC2 не удается подключиться к AWS Managed AD с использованием SSM.

Вопрос или проблема

У меня есть сервер Windows, который находится в VPC без доступа в интернет. Но у него есть VPC конечные точки для SSM, ec2messages, ssmmessages и ec2 api.

Когда я пытаюсь подключить его к домену, используя ssm api,

aws ssm create-association --instance-id <id> --name <ssm document>

процесс завершается с ошибкой.

1 из 1 плагинов обработано, 0 успешно, 1 с ошибкой, 0 таймаутов, 0 пропущено. Операция aws:domainJoin не удалась, так как не удалось создать учетную запись домена для компьютера 'Servername', Сообщение=Было выброшено исключение WebException со статусом ConnectFailure, ErrorCode=, ErrorType=Sender, StatusCode=0 Amazon.Runtime.AmazonServiceException: Бросается исключение WebException со статусом ConnectFailure. ---> System.Net.WebException: Не удается подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: Ошибка подключения --вывод усечен--

Этот сервер имеет соединение с AD. На самом деле, если я пробую подключить его к домену вручную, это тоже работает.

С другой стороны, у меня есть другой сервер, который может подключиться к тому же домену. Единственное отличие в том, что у него есть подключение к интернету. Но так как у нового сервера также есть конечная точка SSM, я не понимаю, почему это происходит. Роли IAM тоже точно такие же. Буду признателен за любую помощь.

Публикую ответ здесь, на случай, если кто-то столкнется с этой проблемой.
Присоединение к домену также требует подключения к конечной точке службы каталога (ds..amazonaws.com), и на данный момент для этой службы нет конечной точки VPC. Это означает, что если у сервера нет исходящего интернет-доступа, присоединение к домену с использованием SSM невозможно.

Необходимо создать конечную точку VPC для конечной точки службы каталога. Найдите ds в разделе Services в мастере создания конечной точки VPC. Она появится как com.amazonaws.<region>.ds

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

  • Входящий трафик HTTPS/443 из VPC_CIDR
  • Исходящий трафик HTTPS/443 в VPC_CIDR

Ответ или решение

Когда возникает необходимость присоединения Windows-сервера в Amazon EC2 к управляемому AWS Active Directory, могут возникнуть определенные сложности, особенно если ваш сервер размещен в виртуальной частной сети (VPC) без доступа к интернету. Однако в вашем случае, вы уже предприняли некоторые шаги для обеспечения связи, такие как настройка VPC endpoints для служб SSM (AWS Systems Manager), ec2messages, ssmmessages и ec2 API.

Теория

AWS Managed Microsoft AD представляет собой служебный каталог, полностью совместимый с локальной службой Microsoft Active Directory. Он облегчает управление доменными подключениями и предоставляет различные функции Active Directory в облаке. Однако, чтобы Windows-сервер в AWS мог успешно подключиться к этому управляемому каталогу без прямого интернет-доступа, требуется обеспечение определённой сетевой архитектуры, позволяющей установление соединений с необходимыми сервисами.

При использовании SSM для автоматизации процесса присоединения к домену часто возникают ошибки, такие как «ConnectFailure» или проблемы с созданием учётной записи компьютера в домене. Это связано с тем, что SSM, взаимодействуя с AD, также нуждается в доступе к определённым сервисам, таким как AWS Directory Service через специфические точки подключения.

Пример

Как вы уже упоминали, если попытаться вручную подключить сервер к домену, это работает, что свидетельствует о базовой сетевой связности с AD. Однако, когда автоматизация через SSM терпит неудачу, следует учитывать требования для доступа к определённым API и сервисам AWS, которые необходимы для выполнения полного цикла доменного присоединения.

На практике это означает, что вам необходимо правильно настроить интерфейсные VPC endpoints. В частности, необходимо добавить VPC endpoint для службы Directory Service (ds.amazonaws.com), так как без этого server не сможет выполнить все необходимые вызовы API для успешного присоединения к домену через SSM.

Применение

Для решения проблемы вам необходимо выполнить следующие шаги:

  1. Создание VPC Endpoint для Directory Service:

    • Перейдите в консоль Amazon VPC.
    • Выберите «Endpoints» и нажмите «Create Endpoint».
    • В разделе «Service Name» введите ds и выберите com.amazonaws.<регион>.ds.
    • Выберите тип интерфейса, так как endpoint Directory Service доступен только в этом виде.
  2. Настройка правил безопасности:

    • Убедитесь, что endpoint защищен соответствующей группой безопасности.
    • Настройте входящие и исходящие правила:
      • Входящие: Разрешите HTTPS (443) от вашего VPC CIDR.
      • Исходящие: Разрешите HTTPS (443) к вашему VPC CIDR.
  3. Проверка IAM роли:

    • Убедитесь, что IAM роль, связанная с EC2-инстансом, имеет все необходимые разрешения для взаимодействия с SSM и Directory Service.
  4. Использование AWS CLI и SSM API:

    • Теперь снова попробуйте выполнить команду aws ssm create-association для доменного присоединения. Убедитесь в правильности указания инстанса и документа SSM.

Убедившись в наличии всех перечисленных шагов, ваш сервер должен успешно подключиться к AWS Managed AD без необходимости в непосредственном интернет-доступе. Это настройка позволяет использовать встроенные сетевые возможности AWS для обеспечения безопасности и доступности всех необходимых компонентов и сервисов, требуемых для бесперебойного функционирования доменных присоединений.

Заключение

Решение задач в сложных распределенных сетевых системах требует глубинного понимания взаимодействий между различными компонентами инфраструктуры. В ситуациях, подобных описанной, важно обеспечить, чтобы каждый необходимый сервис был доступен через интерфейсы VPC endpoints, особенно когда решение предполагает безинтернетный доступ. Такое решение не только повышает безопасность, но и позволяет достичь высокой степени автоматизации и отказоустойчивости операций в облачной среде AWS.

Оцените материал
Добавить комментарий

Капча загружается...