How to base64 encode and upload userdata for EC2 Launch Template
Rafal Lukawiecki
raf at rafal.net
Wed Mar 13 16:43:46 UTC 2019
Colin, Philip,
Thank you both for your suggestions. My set of scripts is a nice 5kB when compressed, but tar without any compression is 20kB, which means it does not get accepted as UserData by aws. Since I already use EFS for distribution of some config data (mainly rc.init scripts), I will simplify the configinit stage, repurpose the logic of it that processes files in a loop seeing if they are >, >> or #!, but run it against the mounted EFS, rather than from data that was passed in UserData.
Philip: my current set-up already caters for different versions of configs, as in, older but in production, current testing, and future. I like your idea of colours. :)
In end end, I will combine the best of both of your advice, for which I would like to thank you. I wish, however, that AWS LT and LC worked with encoded data correctly, and preferably, in the same way. Colin: have you managed to pass any userdata to your cloudconfig in a compressed tar format in a Launch Template? I have never succeeded with that, yet.
Regards from Ireland,
Rafal
> On 11 Mar 2019, at 19:37, Colin Percival <cperciva at freebsd.org> wrote:
>
> Try it without the 'y' flag. It's possible that this will produce something
> too big to pass as a user-data file; but if it's small enough this would be
> a useful indication of where the problem lies.
>
> Colin Percival
>
> On 3/11/19 12:24 PM, Rafal Lukawiecki wrote:
>> I have been using “tar cvyf fff ddd”, which I think is a compressed tarball using bzip. Should I use something else?
>>
>> I have also noticed odd behaviour in the Console for LCs, but different behaviour in the Console for LCs, and yet different for CLI…
>>
>> Thank you, Colin.
>> Rafal
>>
>>> On 11 Mar 2019, at 19:21, Colin Percival <cperciva at freebsd.org> wrote:
>>>
>>> On 3/11/19 2:42 AM, Rafal Lukawiecki wrote:
>>>> I hope someone can explain, as I have been lost in this for over a week. I would like to pass a small (4-5kB) tarball of files for the built-in cloud init script of the official FreeBSD 12.0 EC2 AMI to get untarred and processed (>, >>, or #!) upon instance launch. I have successfully done it for over 2 years using Launch Configurations but I cannot make it work using the new Launch Templates.
>>>
>>> Is this a tarball, or a compressed tarball?
>>>
>>> There's a longstanding bug (which I'm told is going to get fixed eventually!)
>>> in the AWS Console whereby any non-7-bit-clean user-data files get mangled
>>> and come out with each byte UTF-8 encoded. I was only aware of this as an
>>> issue with the Console but it's entirely possible that someone at Amazon wrote
>>> the same bug in multiple places.
>>>
>>> --
>>> Colin Percival
>>> Security Officer Emeritus, FreeBSD | The power to serve
>>> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
>>
>>
>>
>
> --
> Colin Percival
> Security Officer Emeritus, FreeBSD | The power to serve
> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
More information about the freebsd-cloud
mailing list