Разное

Небольшая ремарка по terraform и dynamodb

31.03.2022

Наткнулся на странное поведение терраформа с dynamodb базой. Периодически, при коллективной работе (Mac + Linux разные версии либ или ещё из-за чего-то ещё), из динамо не убираются записи локов, при этом тераформ лок как бы даже и снимает. Появляется следующая ошибка:

Что надо сделать:

<REDION> — aws регион, где хранится стейт (к примеру eu-west-2)
<DYNAMO_TABLE> — имя таблицы в DynamoDB (к примеру terraform-lock)
<BUCKET> — название бакета s3 (к примеру aws-cloud-infrastructure)
<KEY> — ключ стейта в бакете (к прмиеру eks/staging/state)


1) чекаем нашу динамоДБ

aws --region <REDION> dynamodb get-item --table-name <DYNAMO_TABLE>   --key '{ "LockID": { "S": "<BUCKET>/<KEY>-md5" } }'

Мы получим примерно такой ответ:

{
    "Item": {
        "Digest": {
            "S": "846403546c510f4d26b5b93117be39f3"
        },
        "LockID": {
            "S": "aws-cloud-infrastructure/eks/staging/state-md5"
        }
    }
}

теперь нам необходимо удалить этот хеш с бд

aws --region <REDION> dynamodb delete-item --table-name <DYNAMO_TABLE>   --key '{ "LockID": { "S": "<BUCKET>/<KEY>-md5" } }'

Терь всё работает. И не ругается на странные хеши.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *