Как принудительно выполнить развертывание cdk, даже если ранее развернутый ресурс не найден?

У нас есть стек, в котором один из ресурсов (контейнер) застрял, и нам пришлось вручную удалить этот ресурс из ECS.

Теперь команда cdk deploy всегда откатывается со следующей ошибкой,

Обработчик ресурсов вернул сообщение: «Ресурс типа «AWS::ECS::Service» с идентификатором «arn:aws:ecs:us-east-1::service/cdkStackCluster/MyCdkStack-myService1Service54FA7D70-ax55DVPOJUIj» не найден». (RequestToken: XXXXXXXX-7251-339f-21dd-f89a94b916d1, HandlerErrorCode: NotFound)

Есть ли способ сказать CDK игнорировать эту ошибку и двигаться дальше?

Связанные (плохие новости): github.com/aws/aws-cdk/issues/16769 . Возможно, вы могли бы исследовать удаление ресурса из своего приложения CDK, повторно развернуть, а затем повторно добавить ресурс. В качестве альтернативы можно вручную создать ресурс, импортировать его в соответствующий стек, созданный CDK, а затем повторно развернуть. Я не уверен ни в одном из подходов, так как я этого не делал, поэтому будьте осторожны.

jarmod 05.04.2023 14:50

Альтернативный метод @jarmod. В зависимости от того, что такое стек, вы можете уничтожить его и повторно развернуть, что должно исправить, но уничтожит весь стек и оставит кучу потерянных ресурсов, если у них есть политика сохранения удаления. Вы также можете удалить службу ECR из своего кода, а затем развернуть ее; после успешного развертывания вы можете добавить его обратно и снова развернуть весь стек.

Trygvi Laksafoss 05.04.2023 16:34

Спасибо вам обоим. Я попробовал ваше предложение, и оно сработало. Ресурс удален из приложения CDK и развернут. Затем повторно добавил ресурс и снова развернул.

Pankaj Jangid 05.04.2023 21:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
216
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я попробовал предложение @jarmod и @TrygviLaksafoss.

По сути, я удалил часть кода CDK, создавшую службу ECS, которая была удалена вручную. И развернут (cdk deploy). Это очистило компонент, который вызывал проблему.

Затем я восстановил код, который был удален на предыдущем шаге, и снова развернул его. Это восстановило все службы, как и ожидалось.

Другие вопросы по теме