Should the Userdata when launching an ec2 instance always be a String? Cant that be a byte array? Java API: I use ec2Client.runInstance(TEST_IMAGE_ID, instanceType, "USER_DATA");
According to Amazon:
The user data must be base64 encoded before being submitted to the API. The API command line tools perform the base64 encoding for you. The data is in base64 and is decoded before being presented to the instance.
You need to find out if your Java API will perform this base-64 encoding for you or if you have to do it yourself. [See Matt Solnit's comment below.]
In any case, be careful that you do not exceed the limit of 16KB for user-data.
来源:https://stackoverflow.com/questions/7491839/amazonec2-launch-with-userdata