'Create an AWS instance with the given parameters.
Return either boto.ec2.instance object or None if the instance
could not be created.'

def _get_node(self, image_id, size, diskmap, metadata):

    with start_action(action_type=u'flocker:provision:aws:get_node') as context:
        [instance] = self._run_nodes(1, image_id, size, diskmap)
        context.add_success_fields(instance_id=instance.id)
        poll_until((lambda : self._set_metadata(instance, metadata)), repeat(1, INSTANCE_TIMEOUT))
        try:
            _wait_until_running(instance)
            return instance
        except FailedToRun:
            instance.terminate()
            return None
