2017-04-27 1 views
1

Je suis en train de construire une plate-forme personnalisée en utilisant l'exemple fourni (NodePlatform_Ubuntu) à http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html#custom-platforms-pdaconstruction plate-forme personnalisée sur ElasticBeanstalk Packer Erreur

J'ai installé EB CLI (mon OS est MacOSX El Capitaine):

➜ custom-platform ebp --version 
EB CLI 3.10.1 (Python 2.7.1) 

pour une raison quelconque, EB CLI insiste sur l'utilisation de Python 2.7.1 au lieu du Python 3.x déjà installé (travaux de commande python3), mais cela ne devrait pas importer selon http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html il prend en charge Python 2.7

Alors que "ebp init" fonctionne parfaitement. le "ebp create" échoue.

➜ custom-platform ebp create 
Creating application version archive "app-170427_145319". 
Uploading custom-platform/app-170427_145319.zip to S3. This may take a while. 
Upload Complete. 
Note: An environment called 'eb-custom-platform-builder-packer' has been created in order to build your application. This environment will not automatically be terminated and it does have a cost associated with it. Once your platform creation has completed you can terminate this builder environment using the command 'eb terminate'. 
INFO: createPlatform is starting. 
INFO: Initiated platform version creation for 'custom-platform/1.0.2'. 
INFO: Creating Packer builder environment 'eb-custom-platform-builder-packer'. 
ERROR: Packer environment eb-custom-platform-builder-packer is not available, current status: terminated. 
INFO: Failed to create platform version 'custom-platform/1.0.2'. 

C'est l'erreur:

ERROR: Packer environment eb-custom-platform-builder-packer is not available, current status: terminated. 

Plus journaux (mode debug):

2017-04-27 14:19:55,698 (DEBUG) ebcli.lib.aws : Response: {u'Events': [{u'PlatformArn': 'arn:aws:elasticbeanstalk:us-west-2:107875334514:platform/custom-platform/1.0.1', u'Message': "Failed to create platform version 'custom-platform/1.0.1'.", u'Severity': 'INFO', u'EventDate': datetime.datetime(2017, 4, 27, 11, 19, 52, 84000, tzinfo=tzutc()), u'RequestId': 'f762956d-2b3a-11e7-8cd7-c96ae1e26915'}, {u'PlatformArn': 'arn:aws:elasticbeanstalk:us-west-2:107875334514:platform/custom-platform/1.0.1', u'Message': 'Packer environment eb-custom-platform-builder-packer is not available, current status: terminated.', u'Severity': 'ERROR', u'EventDate': datetime.datetime(2017, 4, 27, 11, 19, 51, 861000, tzinfo=tzutc()), u'RequestId': 'f762956d-2b3a-11e7-8cd7-c96ae1e26915'}], 'ResponseMetadata': {'date': 'Thu, 27 Apr 2017 11:19:52 GMT', 'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': '6f7dcea9-2b3b-11e7-8cd7-c96ae1e26915'}} 
ERROR: Packer environment eb-custom-platform-builder-packer is not available, current status: terminated. 
INFO: Failed to create platform version 'custom-platform/1.0.1'. 

Notez que le app-170427_145319.zip est téléchargé avec succès à S3.

Une idée de ce qui ne va pas?

Répondre

1

Il échoue avec le profil d'instance (rôle) aws-elasticbeanstalk-custom-platform-ec2-role n'obtenant pas la politique inline de rôle nécessaire qui lui est attachée.

En raison du grand nombre de modifications et de changements, apparemment en raison d'un bug CLI EB, le profil de l'instance a été corrompu et n'a pas été pris InstanceProfile ARN quand essayé de créer un profil avec le même nom « aws-elasticbeanstalk-mesure plate-forme -ec2-rôle ". Donc, nous sommes allés de l'avant et nous en avons créé un nouveau nommé "plateforme personnalisée" et j'ai attaché les permissions de politique en ligne nécessaires que j'ai mentionnées dans le cas.

Une fois que les problèmes IAM sont triés, nous sommes allés sur paquet de packer, did « ebp init » puis ran « créer ebp » mais avec le drapeau -ip et utilisé ce profil d'instance plate-forme personnalisée, comme dans

ebp create -ip custom-platform