An official method seems to be there now:
###################################################################################################
#### This configuration file allows a cron job to run only on one Linux instance in the environment.
####
#### The script "/usr/local/bin/test_cron.sh" will sort and compare the current instances in the
#### Auto Scaling group and if it matches the first instance in the sorted list it will exit 0.
#### This will mean that this script will only exit 0 for one of the instances in your environment.
####
#### The second script is an example of how you might use the "/usr/local/bin/test_cron.sh" script
#### to execute commands and log a timestamp to "/tmp/cron_example.log".
####
#### A cron example is setup at "/etc/cron.d/cron_example" to execute the script
#### "/usr/local/bin/cron_example.sh" every minute. A command is also run upon each deployment to
#### clear any previous versions of "/etc/cron.d/cron_example" by removing
#### "/etc/cron.d/cron_example.bak".
####
#### Note that for the first script to gather the required information, additional IAM permissions
#### will be needed to be added to a policy attached to the instance profile used by the instances
#### in the environment. The policy shown below will grant the access needed. Note that the default
#### instance profile for Elastic Beanstalk is "aws-elasticbeanstalk-ec2-role".