Я следовал этому руководству https://aws.amazon.com/blogs/devops/aws-building-a-secure-cross-account-continuous-delivery-pipeline/, чтобы настроить развертывание наших лямбд-кросс-аккаунтов с использованием Cloudformation в качестве моего инструмента автоматизации.
В этом репо я использую конвейер: https://github.com/awslabs/aws-refarch-cross-account-pipeline/blob/master/ToolsAcct/code-pipeline.yaml (конвейер начинается в строке 207) , а рассматриваемый конвейер находится в каталоге ToolsAccount/
;
Я могу успешно развернуть первую лямбду;однако любое последующее развертывание заменяет старую лямбду, но я хочу, чтобы lambda_1
и lambda_2
присутствовали в консоли, а не только в самой последней.
Для развертывания второй лямбды из всех 6 шагов изВ этом учебном пособии я перезапущу шаги 4 и 5 учебного пособия, как показано ниже:
4. В учетной записи Tools, в которой находится AWS CodePipeline, выполните этот шаблон CloudFormation.Это создает конвейер, но не добавляет разрешения для перекрестных учетных записей (Dev, Test, and Prod)
aws cloudformation deploy --stack-name sample-lambda-pipeline \
--template-file ToolsAcct/code-pipeline.yaml \
--parameter-overrides DevAccount=ENTER_DEV_ACCT TestAccount=ENTER_TEST_ACCT \
ProductionAccount=ENTER_PROD_ACCT CMKARN=FROM_1st_STEP \
S3Bucket=FROM_1st_STEP--capabilities CAPABILITY_NAMED_IAM
5.В учетной записи Tools выполните этот шаблон CloudFormation, который дает доступ к роли, созданной на шаге 4. ЭтоAWS CodeBuild возьмет на себя роль в расшифровке артефактов в корзине S3.Это тот же самый шаблон, который использовался на шаге 1, но с другими параметрами.
aws cloudformation deploy --stack-name pre-reqs \
--template-file ToolsAcct/pre-reqs.yaml \
--parameter-overrides CodeBuildCondition=true
После выполнения обоих этих шагов для развертывания второй лямбды, он успешно развертывает ее, но заменяет другую лямбду, которая уже быларазвернутый ранее в консоли.*
Как я могу сохранить существующую лямбду при развертывании новых, и чтобы все лямбды присутствовали в консоли, а не только самая последняя , которая была развернута?
* Я полагаю, что при повторном выполнении шагов 4 и 5 я создаю набор изменений ранее развернутой лямбды и, таким образом, она будет продолжать заменять старую лямбду в консоли.Если мои предположения верны, то как я могу повторно использовать один и тот же конвейер, но развернуть с ним разные лямбды, не заменяя ранее развернутые лямбды?
Есть ли какой-то атрибут ресурса конвейера облачной информации, который мне не хватает?