Este é um relativamente configuração rápida do MySQL 5.7.14 no Red Hat Enterprise Linux versão 7 (RHEL7).
Não sou afiliado à AWS; Eu apenas gosto de usar seus serviços.
Certifique-se de ter uma conta AWS EC2. Observe que, embora a Amazon exija um cartão de crédito registrado, não haverá cobranças no primeiro ano se você aderir ao Nível gratuito termos. Normalmente, isso significa um único servidor de micro-instância (1 Gb RAM) funcionando 24 horas por dia, 7 dias por semana.
Lançamento da instância EC2 RHEL
Etapa 1: No AWS EC2, clique em "Launch Instance" e selecione "Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16" conforme mostrado na imagem abaixo. Observe que as versões das AMIs disponíveis ou promovidas (Amazon Machine Instance) serão alternadas ao longo do tempo e isso ocorre até o momento em que este artigo foi escrito. Mas o número AMI é mostrado acima no texto.
Normalmente, escolhi o Amazon Linux AMI como minha distribuição preferida. Eu não faço mais isso, pois é sua própria miscelânea e há naturalmente incerteza de qual gerenciador de pacotes escolher e, portanto, dos arquivos. Então eu fico com o RHEL agora.
Na tela "Escolha um tipo de instância", selecione um tipo de instância qualificada de nível gratuito, conforme mostrado abaixo:
Clique em Avançar. Na próxima tela de detalhes, clique em "Avançar" para aceitar os padrões. Na tela de armazenamento, altere o tamanho para 16 GB e clique em "Avançar". Em seguida, "Próximo" novamente nas informações da tag. Em seguida, vem a tela "Configurar grupo de segurança" mostrada abaixo:
Aceite o botão de opção "🔘 criar um novo grupo de segurança" por enquanto. Observação A porta SSH 22 está aberta para todos Endereços IP (em qualquer lugar) com o
0.0.0.0/0
CIDR
. Outras opções incluem a detecção de "Meu IP" (como no seu) ou "Personalizado". Tenha certeza de que, com a próxima tela, o acesso será bloqueado com base nas Chaves de segurança que configuraremos. Existe um botão para Adicionar Regra nas portas abertas para adicionar portas como MySQL 3306 ou HTTP 80. Mas por enquanto vamos pular isso. Anote o nome do grupo de segurança. Preencha um ou aceite o padrão por enquanto. Não é fundamental acertar isso, pois o grupo de segurança pode ser alterado posteriormente para uma Instância em execução . Clique em Revisar e Iniciar. Em seguida, clique em "Iniciar" (não tenha medo, ele ainda não será lançado). Como a próxima tela apresenta:
Observe que, como já tenho alguns pares de chaves gerados, o padrão é "Escolha um par de chaves existente" no primeiro menu suspenso. Caso contrário, você "Cria um novo par de chaves" com um determinado nome de lembrete e prossegue para "Baixar par de chaves". Neste ponto você tem o par de chaves como um
.pem
Arquivo. Trate isso com o máximo de segurança, guardando-o em um lugar que você não vai perdê-lo. De preferência em uma área protegida por senha, como no diretório de usuários do seu sistema operacional. Quando você finalmente clica em "Iniciar Instâncias" nessa mesma tela, o lançamento ocorre em relação a esse par de chaves (recém-criado ou um pré-existente). Observe que a geração de um par de chaves pode ser uma tarefa que você executa apenas uma vez por ano. Reutilizar um par de chaves várias vezes, depende de você.
Depois de iniciar a instância, você tem aproximadamente cinco minutos antes que ela seja ativada. Sob o item de menu Instâncias à esquerda, você sabe que a instância está ativa quando o Estado da Instância lê "em execução" e as Verificações de Status lêem "2/2 aprovado":
Lembre-se do
.pem
arquivo que você baixou? Bem, apenas uma vez você precisa criar um .ppk
para o PuTTY, um programa cliente SSH que se comunicará com criptografia segura para sua instância em execução. Para isso, usamos o puttygen
ferramenta que funciona em harmonia com PuTTY. Então executamos puttygen, carregamos o .pem
baixado minutos antes e gerar o .ppk
arquivo com uma "senha chave", como "I &love%ancHovies2_fjdi8Ha". Abaixo está uma imagem de puttygen:E a página AWS EC2 intitulada Connecting to Your Linux Instance from Windows Using PuTTY . As etapas são Arquivo / Carregar chave privada. Altere o filtro para Todos os arquivos (. ). Encontre o
.pem
Arquivo. Clique em "Abrir" e depois em "Ok". Digite uma senha. Clique em "salvar chave privada" e salve-a na mesma pasta que um .ppk
arquivo ao lado de seu .pem
Arquivo. Como mencionado, isso não é algo que você pode fazer, mas anualmente. Agora execute o PuTTY, o cliente SSH. Use a Sessão / Nome do Host como algo como
[email protected]
Então é basicamente
[email protected]
concatenado com o nome DNS público que é visto em Instâncias no painel de controle do EC2. Quanto à especificação do PuTTY .ppk
arquivo, ficaria como o abaixo, com o .ppk
arquivo escolhido ao lado do botão Procurar:Volte para a hierarquia superior esquerda da sessão mostrada abaixo, dê a isso um nome de perfil em Sessões salvas e clique em "Salvar". A partir de agora, quando você carrega o PuTTY, você apenas carrega a sessão pelo nome:
Não se esqueça que tudo o que você está fazendo aqui é salvar o
.ppk
referência em um perfil nomeado amigável. E você pode ocasionalmente precisar alterar o nome do host (certamente quando você salva uma imagem da instância no EC2 e volta com um novo endereço IP da instância em uma inicialização subsequente). Tudo bem, não é fácil. Mas é o que é.
Quando você clicar em Abrir, ele tentará se conectar à sua instância do RHEL. Clique em Sim no aviso de assinatura. Digite o
.ppk
salvo anteriormente Key Passphrase, e você deve estar sentado em um prompt do Linux. Instalação do MySQL (vou colocar essas notas no GitHub)
URL01:Baixar MySQL Yum Repository
URL02:Capítulo 1 Instalando MySQL no Linux usando o repositório MySQL Yum
Agora você tem o MySQL 5.7.14 carregado e rodando no EC2 com um banco de dados e configuração de usuário. Seus servidores precisam ser fotografados. Veja esta resposta aqui meu para criar imagens (AMI's). Faça backup de seus dados. Consulte a documentação do EC2, como Práticas recomendadas para Amazon EC2 .
Voltando à segurança:as melhores práticas certamente sugerem não abrir seu banco de dados para conexões diretas por meio de grupos de segurança para a porta 3306. Como você escolhe aderir a isso é sua escolha, como com um PHP, Java ou outra API de programação. Observe que vários programas clientes db podem se conectar por meio de túneis SSH, como o MySQL Workbench. Além disso, existem várias bibliotecas de desenvolvimento com túneis SSH, mas não são muito fáceis de desenvolver (principalmente devido a cadeias de chaves difíceis e falta de extensa experiência de desenvolvedor). Por exemplo, existe um para C# aqui .
Além disso, a AWS tem RDS e outras ofertas de banco de dados para menos hands-on e roll seu próprio como o acima. A razão pela qual muitos desenvolvedores têm como alvo o EC2 se deve ao fato de você ter um servidor completo para suas outras iniciativas de programação.
Se você modificar os grupos de segurança conforme mencionado anteriormente, considere usar intervalos de IP com base nas entradas CIDR e tenha cuidado antes de expor demais seus armazenamentos de dados. Ou sobre outorga. Praticamente as mesmas práticas recomendadas que você faria para o trabalho no local.
Com relação a esta seção do MySQL, minhas notas do GitHub para as imagens acima estão localizadas Aqui .