J'ai essayé de passer de CloudFormation à AWS CDK et la construction a bien échoué aujourd'hui, alors prenez note de la solution.
Je voulais juste créer un exemple AWS ...! !! https://github.com/aws-samples/aws-cdk-examples/tree/master/python/ecs/fargate-load-balanced-service
Contrairement à CloudFormation, l'abstraction est intense, vous pouvez donc créer un VPC en une seule ligne. Au lieu de cela, je ne connais pas du tout le contenu.
vpc = ec2.Vpc(
self, "MyVpc",
max_azs=2
)
$ cdk deploy
~ Abréviation ~
Do you wish to deploy these changes (y/n)? y
~ Abréviation ~
9/36 | 7:11:35 AM | CREATE_COMPLETE | AWS::EC2::VPC | MyVpc (MyVpcF9F0CA6F)
~ Abréviation ~
10/36 | 7:11:38 AM | CREATE_FAILED | AWS::EC2::Subnet | MyVpc/PublicSubnet1/Subnet (MyVpcPublicSubnet1SubnetF123456) Value (ap-northeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: ap-northeast-1d, ap-northeast-1c, ap-northeast-1b. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx)
Subnets can currently only be created in the following availability zones:
ap-northeast-1d, ap-northeast-1c, ap-northeast-1b.
Oui. J'ai été habitué à être influencé par la zone de disponibilité lors de la création d'un sous-réseau depuis les jours de CloudFormation. Dès que je m'y suis habitué, je veux le résoudre rapidement, mais je suis perdu car je ne sais pas quoi faire. Je comprends que j'étais en colère quand j'ai essayé de faire pour ap-nord-est-1a. Pour le dire autrement, je ne sais pas vraiment pourquoi j'ai essayé d'y arriver.
Il y a une spécification des zones de disponibilité dans le fichier cdk.context.json, donc s'il y a ʻap-north-1a`, supprimez-le. Si non spécifié, ajoutez le contenu suivant.
cdk.out/cdk.context.json
"availability-zones:account=123456789999:region=ap-northeast-1": [
"ap-northeast-1b",
"ap-northeast-1c",
"ap-northeast-1d"
]
J'étais inquiet environ 3 heures ... C'était difficile ... Je n'arrive toujours pas à m'entendre avec CDK.
En passant, en regardant gitignore, il semble que cdk.context.json est ignoré, mais je serais reconnaissant si un homme sage qui sait où écrire ce paramètre le soit vraiment.
~ Ajout ~ Il a été écrit que vous devriez le définir avec une commande, l'écrire dans cdk.json ou le spécifier dans le code source ^ q ^
- Through the --context option to the cdk command.
- In the context key of the project's cdk.json file.
- In the context key of a ~/cdk.json file.
- In code using the construct.node.setContext method.
https://docs.aws.amazon.com/cdk/latest/guide/context.html
Recommended Posts