Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Instalar o GitHub Enterprise Server no AWS

Para instalar o GitHub Enterprise Server no Amazon Web Services (AWS), você deve iniciar uma instância do Amazon Elastic Compute Cloud (EC2) e, em seguida, criar e vincular um volume de dados separado do Amazon Elastic Block Store (EBS).

Pré-requisitos

Para usar este guia, você deve conhecer os seguintes conceitos do AWS:

Considerações de hardware

Requisitos mínimos

Recomendamos diferentes configurações de hardware, dependendo do número de licenças de usuário para sua instância do GitHub Enterprise Server. Se você fornecer mais recursos do que os requisitos mínimos, sua instância terá um desempenho e uma escala melhores.

Licenças de usuáriovCPUsMemóriaArmazenamento anexadoArmazenamento raiz
Teste, demonstração ou 10 usuários leves216 GB100 GB200 GB
10-3000432 GB250 GB200 GB
3000-5000864 GB500 GB200 GB
5000-80001296 GB750 GB200 GB
8000-10000+16128 GB1000 GB200 GB

Para obter mais informações sobre o ajuste de recursos para uma instância existente, consulte "aumentar a capacidade de armazenamento" e "aumentar recursos de CPU ou memória".

Armazenamento

Recomendamos um SSD de alto desempenho com operações de alta entrada/saída por segundo (IOPS) e baixa latência para GitHub Enterprise Server. Cargas de trabalho são intensivas em I/O. Se você usar um hipervisor de metal simples, recomendamos anexar diretamente o disco ou usar um disco a partir de uma rede de área de armazenamento (SAN).

A sua instância exige um disco de dados persistente separado do disco raiz. Para obter mais informações, consulte "System overview."

Você pode redimensionar o disco raiz da sua instância criando uma nova instância ou usando uma instância existente. Para obter mais informações, consulte "Increasing storage capacity."

CPU e memória

Os recursos de CPU e memória que GitHub Enterprise Server exige dependem dos níveis de atividade para usuários, automações e integrações.

Quando você aumenta os recursos da CPU, recomendamos adicionar pelo menos 6.5 GB de memória para cada vCPU (até 16 vCPUs) que você fornecer para a instância. Ao usar mais de 16 vCPUs, você não precisa adicionar 6.5 GB de memória para cada vCPU, mas você deve monitorar sua instância para garantir que ela tenha memória suficiente.

Aviso: Recomendamos que os usuários configurem eventos de webhook para notificar sistemas de atividade externos em GitHub Enterprise Server. Verificações automatizadas por alterações, ou sondagem, afetarão negativamente o desempenho e escalabilidade da sua instância. Para obter mais informações, consulte "Sobre webhooks".

Para obter mais informações sobre o monitoramento da capacidade e desempenho de GitHub Enterprise Server, consulte "Monitoramento do seu aplicativo".

Você pode aumentar os recursos de memória ou da CPU na sua instância. Para obter mais informações, consulte "Increasing CPU or memory resources."

Determinar o tipo de instância

Antes de lançar sua instância do GitHub Enterprise Server no AWS, você deverá determinar o tipo de máquina que melhor se adequa às necessidades da sua organização. Para revisar os requisitos mínimos para GitHub Enterprise Server, consulte "Requisitos mínimos".

Nota: Você sempre pode ajustar sua CPU ou memória redimensionando sua instância. No entanto, como o redimensionamento da sua CPU ou memória requer tempo de inatividade para os usuários, recomendamos o fornecimento excessivo de recursos para contas em escala.

GitHub recommends a memory-optimized instance for GitHub Enterprise Server. For more information, see Amazon EC2 Instance Types on the Amazon EC2 website.

Selecionar a AMI do GitHub Enterprise Server

É possível selecionar uma Amazon Machine Image (AMI) para o GitHub Enterprise Server usando o portal do GitHub Enterprise Server na CLI do AWS.

As AMIs para o GitHub Enterprise Server estão disponíveis na região (EUA-Leste e EUA-Oeste) do AWS GovCloud. Com isso, os clientes dos EUA com requisitos regulamentares específicos podem executar o GitHub Enterprise Server em um ambiente em nuvem de conformidade federal. Para obter mais informações sobre a conformidade do AWS com padrões federais e outros, consulte a página do AWS GovCloud (EUA) e a página de conformidade do AWS.

Usar o portal do GitHub Enterprise Server para selecionar uma AMI

  1. Navegue até the GitHub Enterprise Server download page.
  2. Clique em Get the latest release of GitHub Enterprise Server.
  3. No menu suspenso Select your platform (Selecionar plataforma), clique em Amazon Web Services.
  4. No menu suspenso Select your AWS region (Selecionar região do AWS), escolha a região.
  5. Anote a ID da AMI.

Usar a CLI do AWS para selecionar uma AMI

  1. Usando a CLI do AWS, obtenha uma lista de imagens do GitHub Enterprise Server publicadas pelas IDs do AWS no GitHub(025577942450 para GovCloud e 895557238572 para outras regiões). Para obter mais informações, consulte "describe-images" na documentação do AWS.
    aws ec2 describe-images \
    --owners OWNER ID \
    --query 'sort_by(Images,&Name)[*].{Name:Name,ImageID:ImageId}' \
    --output=text
  2. Anote a ID da AMI para a imagem mais recente do GitHub Enterprise Server.

Criar um grupo de segurança

Se estiver configurando a AMI pela primeira vez, você terá que criar um grupo de segurança e adicionar uma nova regra de grupo de segurança para cada porta na tabela abaixo. Para obter mais informações, consulte o guia do AWS "Usar grupos de segurança".

  1. Usando a CLI do AWS, crie um grupo de segurança. Para obter mais informações, consulte "criar-grupo-de-segurança" na documentação do AWS.

    $ aws ec2 create-security-group --group-name SECURITY_GROUP_NAME --description "SECURITY GROUP DESCRIPTION"
  2. Anote a ID (sg-xxxxxxxx) do grupo de segurança que você acabou de criar.

  3. Crie uma regra de grupo de segurança para cada porta da tabela abaixo. Para obter mais informações, consulte "autorizar-ingresso-no-grupo-de-segurança" na documentação AWS.

    $ aws ec2 authorize-security-group-ingress --group-id SECURITY_GROUP_ID --protocol PROTOCOL --port PORT_NUMBER --cidr SOURCE IP RANGE

    Esta tabela identifica o uso de cada porta.

    PortaServiçoDescrição
    22SSHGit sobre acesso via SSH. Clone, buscar e fazer push de operações para repositórios público/privado suportados.
    25SMTPSuporte a SMTP com criptografia (STARTTLS).
    80HTTPAcesso ao aplicativo web. Todas as solicitações são redirecionadas para a porta HTTPS quando o SSL estiver habilitado.
    122SSHExemplo de acesso a shell. A porta SSH padrão (22) é dedicada ao tráfego de rede git+ssh.
    161/UDPSNMPObrigatória para operações de protocolo de monitoramento de rede.
    443HTTPSAplicativo web e Git sobre acesso HTTPS.
    1194/UDPVPNTúnel de rede de réplica segura na configuração de alta disponibilidade.
    8080HTTPBaseado em web de texto simples Console de gerenciamento. Não é necessário, a menos que o SSL seja desativado manualmente.
    8443HTTPSBase segura na web Console de gerenciamento. Necessário para instalação básica e configuração.
    9418GitPorta de protocolo Simples Git. Clonar e buscar somente as operações para repositórios públicos. Comunicação de rede não encriptada. Se você habilitou o modo privado na sua instância, abrir esta porta só é necessário se você também habilitou o acesso de leitura anônimo do Git. Para obter mais informações, consulte "Aplicar políticas de gerenciamento do repositório na sua empresa".

Criar a instância do GitHub Enterprise Server

Para criar a instância, você deve iniciar uma instância EC2 com sua AMI do GitHub Enterprise Server e vincular um volume de armazenamento adicional aos dados da sua instância. Para obter mais informações, consulte "Considerações de hardware".

Observação: é possível criptografar o disco de dados para obter um nível suplementar de segurança e garantir que qualquer dado gravado em sua instância está protegido. Usar discos criptografados gera um leve impacto no desempenho. Se você decidir criptografar o volume, é altamente recomendável fazer isso antes de iniciar a instância pela primeira vez. Para obter mais informações, consulte o Guia Amazon sobre criptografia EBS.

Aviso: se você decidir habilitar a criptografia depois de configurar a instância, será necessário migrar seus dados para o volume criptografado, o que vai gerar tempo de inatividade para os usuários.

Iniciar uma instância do EC2

Na CLI do AWS, inicie uma instância do EC2 usando sua AMI e o grupo de segurança que você criou. Vincule um novo dispositivo de bloqueio para uso como volume de armazenamento dos dados da sua instância e configure o tamanho com base na contagem de licença de usuário. Para obter mais informações, consulte "executar-instâncias" na documentação do AWS.

aws ec2 run-instances \
  --security-group-ids SECURITY_GROUP_ID \
  --instance-type INSTANCE_TYPE \
  --image-id AMI_ID \
  --block-device-mappings '[{"DeviceName":"/dev/xvdf","Ebs":{"VolumeSize":SIZE,"VolumeType":"TYPE"}}]' \
  --region REGION \
  --ebs-optimized

Alocar uma IP elástica e associá-la com a instância

Se for uma instância de produção, é recomendável alocar uma IP Elástica (EIP) e associá-la à instância antes de seguir para a configuração do GitHub Enterprise Server. Caso contrário, o endereço IP público da instância não será retido após a reinicialização da instância. Para obter mais informações, consulte "Alocar um endereço de IP elástica" e "Associar um endereço de IP elástica a uma instância em execução" na documentação da Amazon.

As instâncias primária e de réplica devem receber EIPs separados nas configurações de alta disponibilidade de produção. Para obter mais informações, consulte "Configurar o GitHub Enterprise Server para alta disponibilidade".

Configurar a instância do GitHub Enterprise Server

  1. Copie o nome DNS público da máquina virtual e cole-o em um navegador.
  2. No prompt, carregue seu arquivo de licença e defina uma senha de gerenciamento do console. Para obter mais informações, consulte "Managing your GitHub Enterprise license."
  3. No Console de gerenciamento, configure e salve as configurações desejadas. Para obter mais informações, consulte "Configurar o appliance do GitHub Enterprise Server".
  4. A instância será reiniciada automaticamente.
  5. Clique Visit your instance (Visite sua instância).

Leia mais