Grupo de segurança da AWS - como permitir o IP público de outro grupo de segurança

5

Eu tenho duas instâncias em um grupo de segurança distinto VPC, cada um com seu próprio IP público. Eu gostaria que a instância 1 fosse capaz de se conectar à instância dois em seu IP público. Descobri que conceder acesso ao grupo de segurança permite apenas o acesso ao IP privado, não ao IP público.

Agora defini meu grupo de segurança para permitir o acesso ao IP público da instância que reside no outro grupo de segurança. No entanto, isso é inconveniente, pois não posso automatizar isso facilmente (pense no Ansible), pois primeiro precisarei fazer uma pesquisa do nome do DNS antes de poder adicioná-lo ao grupo.

Alguém sabe de uma maneira mais simples de fazer isso?

Para resumir:

  • Instância 1 - > 1.2.3.4
  • Instância 2 - > 5.6.7.8

A instância 1 é necessária para acessar a instância 2 em seu IP público. Eu acabo tendo que procurar manualmente o IP da instância 1 e, por sua vez, adicionar isso ao grupo de segurança da instância 2.

    
por darkl0rd 05.11.2018 / 22:42

3 respostas

7

Eu tenho medo de que, assim que você sair para os IPs públicos, não use mais o ID do grupo de segurança como a Origem no SG de destino. Isso só funciona para IPs privados.

No entanto, se você criar a Instância 1 através do Ansible, poderá usar os Ansible facts para obter o IP Público e defini-lo como uma fonte no < em> Instância 2 SG . Algo assim deveria fazer:

- name: Create Instance 1
  ec2:
    key_name: mykey
    instance_type: t2.micro
    image: ami-123456
    wait: yes
    assign_public_ip: yes             <<< Assign Public IP
  register: ec2

E, em seguida, você pode adicioná-lo como uma fonte ao Grupo de segurança da instância 2 :

- name: Instance 2 SG
  ec2_group:
    name: ...
    rules:
    - proto: tcp
      ports:
      - 80
      cidr_ip: "{{ ec2.instances.public_ip }}"   <<< Use it here

Algo nesse sentido deve permitir que você faça a automação com o Ansible.

Espero que ajude:)

    
por 05.11.2018 / 23:09
3

Normalmente, você cria um grupo de segurança nomeado, anexa-o a essas instâncias e adiciona uma regra que faz referência a esse grupo de segurança como uma origem e permite as portas de destino necessárias.

Imagem final:

  • Todas as instâncias necessárias para se comunicar entre si têm o created security group anexado.
  • O created security group contém regras que indicam a entrada de created security group a destination port you need
  • Geralmente, não há regras de saída incluídas, pois os grupos de segurança são stateful. Mas fique à vontade para adicionar o que é necessário.

Então, basicamente, nem mesmo um único ip é necessário, e o allow / deny pode ser controlado anexando o grupo de segurança a recursos onde o acesso é necessário. Esse método também funciona bem com ambientes dinâmicos (por exemplo, autoescala).

    
por 05.11.2018 / 22:58
1

As solicitações do endereço IP público de uma instância não são tratadas como se fossem provenientes dos Grupos de segurança da instância. Isso só funciona de solicitações usando endereços IP privados.

Recomendo que a instância de origem use um endereço DNS para a instância de destino que resolve o IP privado da instância de destino. Por exemplo: você cria um registro CNAME my-service.example.com que aponta para o nome DNS público da instância de destino que é fornecido pela AWS. O nome DNS público será parecido com ec2-public-ipv4-address.compute-1.amazonaws.com .

A AWS fornece resolução de DNS de horizonte dividido. Quando my-service.example.com é resolvido na internet pública, o IP público é retornado. Quando my-service.example.com é resolvido em seu VPC, o IP privado é retornado. Portanto, sua instância de origem se conectará à instância de destino usando um IP privado e suas regras de Grupo de Segurança funcionarão conforme o esperado.

Este tipo de configuração de DNS nem sempre é possível ou prático, pelo que poderá ter de colocar na lista de permissões o endereço IP público da instância de origem. Nesse caso, verifique se é um endereço IP elástico - caso contrário, o IP público será alterado se o servidor for desligado.

    
por 06.11.2018 / 04:07