Pré-requisitos
- Você deve ter um GitHub Enterprise arquivo de licença. Para baixar um arquivo de licença existente ou solicitar uma licença de teste, visite enterprise.github.com. Para obter mais informações, consulte "Managing your GitHub Enterprise license."
- Você deve ter uma conta do AWS que possa iniciar instâncias do EC2 e criar volumes EBS. Para obter mais informações, consulte o site do Amazon Web Services.
- A maioria das ações necessárias para iniciar a sua instância do GitHub Enterprise Server também pode ser executada usando o console de gerenciamento do AWS. No entanto, é recomendável instalar a interface da linha de comando (CLI) do AWS para a configuração inicial. Veja abaixo alguns exemplos de uso da CLI do AWS. Para obter mais informações, consulte os guias "Trabalhar com o console de gerenciamento do AWS" e "O que é a interface da linha de comando do AWS".
Para usar este guia, você deve conhecer os seguintes conceitos do AWS:
- Iniciar instâncias do EC2
- Gerenciar volumes do EBS
- Usar grupos de segurança (para gerenciar o acesso de rede à instância)
- Endereços de IP elástica (EIP) (altamente recomendável para ambientes de produção)
- EC2 e Virtual Private Cloud (se você pretende iniciar uma nuvem virtual privada)
Considerações de hardware
GitHub Enterprise Server requer um disco de dados persistente separado do disco raiz. Para obter mais informações, consulte "System overview." Recomendamos diferentes configurações de hardware com base no número de licenças de usuário usadas em sua instância do GitHub Enterprise Server. |
Licenças de usuário | vCPUs | Memória | Armazenamento anexado | Armazenamento raiz |
---|---|---|---|---|
Teste, demonstração ou 10 usuários leves | 2 | 16 GB | 100 GB | 200 GB |
10-3000 | 4 | 32 GB | 250 GB | 200 GB |
3000-5000 | 8 | 64 GB | 500 GB | 200 GB |
5000-8000 | 12 | 96 GB | 750 GB | 200 GB |
8000-10000+ | 16 | 128 GB | 1000 GB | 200 GB |
Essas são as recomendações mínimas. Podem ser necessários mais recursos, dependendo do seu uso, como atividade do usuário e integrações selecionadas. Ao aumentar os recursos da CPU, é recomendado adicionar pelo menos 6.5 GB de memória para cada CPU (até 16 CPUs) adicionado à sua instância do GitHub Enterprise Server. Para obter mais informações, consulte "Increasing CPU or memory resources."
Nota: O disco raiz pode ser redimensionado construindo um novo appliance ou usando um appliance existente. Para obter mais informações, consulte "Increasing storage capacity."
Determinar o tipo de instância
Antes de iniciar a sua instância do GitHub Enterprise Server no AWS, você terá que determinar o tipo de máquina virtual que melhor se adapta às demandas da sua organização.
Tipos de instância compatíveis
GitHub Enterprise Server é suportado nos seguintes tipos de instância do EC2. Para obter mais informações, consulte the AWS EC2 instance type overview page.
Tipo de instância EC2 | Modelo |
---|---|
C3 | c3.2xlarge, c3.4xlarge, c3.8xlarge |
EC2 tipo de instância | Modelo |
---|---|
C4 | c4.2xlarge, c4.4xlarge, c4.8xlarge |
EC2 tipo de instância | Modelo |
---|---|
C5 | c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge |
EC2 tipo de instância | Modelo |
---|---|
M3 | m3.xlarge, m3.2xlarge |
EC2 tipo de instância | Modelo |
---|---|
M4 | m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge |
EC2 tipo de instância | Modelo |
---|---|
M5 | m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge |
EC2 tipo de instância | Modelo |
---|---|
R4 | r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge |
EC2 tipo de instância | Modelo |
---|---|
R5 | r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge |
EC2 tipo de instância | Modelo |
---|---|
X1 | x1.16xlarge, x1.32xlarge |
Tipos de instância recomendados
Com base na contagem de licenças de usuário, recomendamos os seguintes tipos de instâncias. |
Licença de usuário | Tipo recomendado |
---|---|
Teste, demonstração ou 10 usuários leves | r4.large |
10 - 3000 | r4.xlarge |
3000 - 5000 | r4.2xlarge |
5000 - 8000 | r4.4xlarge |
8000 - 10000+ | r4.8xlarge |
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.
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
- Navegue até the GitHub Enterprise Server download page.
- Clique em Get the latest release of GitHub Enterprise Server.
- No menu suspenso Select your platform (Selecionar plataforma), clique em Amazon Web Services.
- No menu suspenso Select your AWS region (Selecionar região do AWS), escolha a região.
- Anote a ID da AMI.
Usar a CLI do AWS para selecionar uma AMI
- Usando a CLI do AWS, obtenha uma lista de imagens do GitHub Enterprise Server publicadas pelas IDs do AWS no GitHub(
025577942450
para GovCloud e895557238572
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
- 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".
-
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"
-
Anote a ID (
sg-xxxxxxxx
) do grupo de segurança que você acabou de criar. -
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.
Porta Serviço Descrição 22 SSH Git sobre acesso via SSH. Clone, buscar e fazer push de operações para repositórios público/privado suportados. 25 SMTP Suporte a SMTP com criptografia (STARTTLS). 80 HTTP Acesso ao aplicativo web. Todas as solicitações são redirecionadas para a porta HTTPS quando o SSL estiver habilitado. 122 SSH Exemplo de acesso a shell. A porta SSH padrão (22) é dedicada ao tráfego de rede git+ssh. 161/UDP SNMP Obrigatória para operações de protocolo de monitoramento de rede. 443 HTTPS Aplicativo web e Git sobre acesso HTTPS. 1194/UDP VPN Túnel de rede de réplica segura na configuração de alta disponibilidade. 8080 HTTP Baseado em web de texto simples Console de gerenciamento. Não é necessário, a menos que o SSL seja desativado manualmente. 8443 HTTPS Base segura na web Console de gerenciamento. Necessário para instalação básica e configuração. 9418 Git Porta de protocolo Simples Git. Clonar e buscar somente as operações para repositórios públicos. Comunicação sem criptografia de rede.
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
- Copie o nome DNS público da máquina virtual e cole-o em um navegador.
- 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."
- No Console de gerenciamento, configure e salve as configurações desejadas. Para obter mais informações, consulte "Configurar o appliance do GitHub Enterprise Server".
- A instância será reiniciada automaticamente.
- Clique Visit your instance (Visite sua instância).