As instâncias podem ter dois tipos de armazenamento - EBS e S3 suportados. As instâncias com dispositivos raiz que são suportados pelo S3 são chamadas de 'armazenamento de instâncias'.
Volumes suportados pelo S3 são efêmeros - eles podem ter dados neles, você pode escrever para eles e ler a partir deles - mas nenhum dos dados persiste - assim que a instância é encerrada, os dados são perdidos (e os dados originais serão então será recarregado a partir do S3 na próxima vez que você iniciar tal instância).
O EBS é um dispositivo de bloco - você pode anexar vários volumes do EBS, de tamanho variável. Normalmente, um é o volume raiz (a menos que você vá com uma instância de backup do S3), e os outros serão configurados para qualquer finalidade desejada. Você deve provisionar os volumes do EBS com antecedência - portanto, se você tiver um volume de 10 GB e usar apenas 1 GB dele, ainda pagará por todos os 10 GB de 'armazenamento provisionado'.
Os volumes do EBS aparecerão como dispositivos em / dev - normalmente / dev / xvda1, / dev / xvdf, etc. (e também são ligados simbolicamente a / dev / sd *).
Você pode transferir um volume do EBS entre instâncias (mesmo o volume do EBS raiz), mas não pode anexar um único volume do EBS a mais de uma instância por vez. Lembre-se de que o desempenho dos volumes do EBS é limitado, em parte, pela largura de banda da rede da sua instância - e, portanto, os tipos de instância menores verão uma maior variabilidade no desempenho do EBS
Você também pode configurar vários volumes do EBS em uma configuração RAID para melhorar o desempenho ou a redundância, etc. No entanto, normalmente, usar snapshots do EBS é uma boa maneira de manter backups point-in-time de seus volumes do EBS.
Os volumes raiz do EBS, por padrão, são definidos para serem excluídos no término (você pode mudar isso) - quando uma instância é finalizada, o volume será destruído. Os volumes do EBS que você cria e anexa manualmente, não são excluídos no encerramento, por padrão (novamente, você pode alterar isso).
Instâncias com um volume raiz do EBS podem ser interrompidas além de serem finalizadas. O estado parado é bastante útil - por exemplo, permite remover o volume EBS raiz e anexá-lo a outra instância (por exemplo, para corrigir um problema que impede a inicialização).
Tenha em mente que as instâncias podem falhar - a proteção de finalização apenas impede que você termine acidentalmente sua instância (essencialmente, ela adiciona uma etapa extra se você quiser encerrar sua instância). Se você usar uma instância com backup do S3, seus dados serão perdidos quando uma instância falhar.
Instâncias suportadas do S3 não podem ser interrompidas (apenas terminadas). Instâncias interrompidas (raiz do EBS), não perdem seus dados (embora, endereços IP, etc possam mudar). Uma reinicialização (por exemplo, via SSH) não afeta os dados em nenhuma instância (S3 ou EBS).
Com relação à persistência, os volumes do EBS são replicados em uma zona de disponibilidade, mas a durabilidade diminui com o tamanho e a quantidade de dados alterados desde o último instantâneo. A AWS cita "uma taxa de falha anual de 0,1-0,5% para 20 GB ou menos de dados modificados desde o último snapshot do EBS"
Uma instância apoiada pelo EBS funcionará como um VPS, mas você tem alguma flexibilidade adicional (e alguns custos adicionais ).
Os grupos de segurança não oferecem regras com estado - apenas portas e tipos de pacote. Se você quiser regras mais complexas ou dinâmicas (por exemplo, IPs de lista negra, usando os módulos recentes ou de limites, etc.) - você ainda precisará do iptables. Especialmente para coisas como SSH / E-mail, que tendem a ter muitas tentativas de invasão indesejadas, é aconselhável algum tipo de firewall stateful. A vantagem dos grupos de segurança é que ela é externa à sua instância - os pacotes bloqueados não alcançam sua instância (diferentemente do iptables) - o que é uma grande vantagem - também é possível especificar permissões por grupos, IPs ou instâncias. id.