Após a implantação / bootstrapping, o Juju tentará se conectar ao ambiente através do endereço público das instâncias. AFAIK, obtém este endereço diretamente da chamada describe_instance (s) da API do EC2. Em seu ambiente, novas instâncias são geradas com um endereço interno / privado e nenhum IP público (flutuante) associado. O resultado é um endereço privado nos campos de endereço privado e público de describe_instances. Depois de associar um IP flutuante à instância, o campo de endereço público deve agora mostrar o novo endereço associado.
Uma vez associado, o Juju deve se conectar bem via SSH (assim como você pode). Então, você deve ser capaz de 'juju bootstrap', associar IP ao nó de bootstrap, 'juju status'. Você também precisa associar IPs flutuantes a todas as outras máquinas implantadas. Uma opção é adicionar o '--auto_assign_floating_ip' ao nova.conf, para que a associação de IP flutuante ocorra automaticamente no spawn da ocorrência.
Quanto ao problema proxy-to-apt, seria ótimo se o Juju permitisse que os usuários personalizassem o cloud-config que é passado para novos nós para inicializar os agentes Juju. Se fosse possível, você poderia configurar seus proxies apt junto com o cloud-config específico do juju. Como isso não é suportado atualmente, uma opção seria publicar uma imagem de nuvem personalizada no Glance que contenha um apt.conf para o seu ambiente e defina default-image-id
em environments.yaml para esse ID de AMI.