Versão do artigo: Enterprise Server 2.17
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
- You must have a GitHub Enterprise license file. To download an existing license file or request a trial license, visit enterprise.github.com. For more information, see "Managing your GitHub Enterprise Server 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 requires a persistent data disk separate from the root disk. For more information, see "System overview." We recommend different hardware configurations based on the number of user licenses used in sua instância do GitHub Enterprise Server. |
User licenses | vCPUs | Memória | Attached storage | Root storage |
---|---|---|---|---|
Trial, demo, or 10 light users | 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 básicas de hardware. Podem ser necessários mais recursos dependendo do uso, como atividade do usuário e integrações selecionadas. When increasing CPU resources, it's recommended to add at least 6.5 GB of memory for each CPU (up to 16 CPUs) added to your GitHub Enterprise Server instance. For more information, see "Increasing CPU or memory resources."
Note: The root disk can be resized by building a new appliance or using an existing appliance. For more information, see "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 is supported on the following EC2 instance types. For more information, see the AWS EC2 instance type overview page.
EC2 instance type | Model |
---|---|
C3 | c3.2xlarge, c3.4xlarge, c3.8xlarge |
EC2 instance type | Model |
---|---|
C4 | c4.2xlarge, c4.4xlarge, c4.8xlarge |
EC2 instance type | Model |
---|---|
C5 | c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge |
EC2 instance type | Model |
---|---|
M3 | m3.xlarge, m3.2xlarge |
EC2 instance type | Model |
---|---|
M4 | m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge |
EC2 instance type | Model |
---|---|
M5 | m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge |
EC2 instance type | Model |
---|---|
R4 | r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge |
EC2 instance type | Model |
---|---|
R5 | r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge |
EC2 instance type | Model |
---|---|
X1 | x1.16xlarge, x1.32xlarge |
Tipos de instância recomendados
Based on your user license count, we recommend the following instance types. |
User license | Tipo recomendado |
---|---|
Trial, demo, or 10 light users | r4.large |
10 - 3000 | r4.xlarge |
3000 - 5000 | r4.2xlarge |
5000 - 8000 | r4.4xlarge |
8000 - 10000+ | r4.8xlarge |
Note: You can always scale up your CPU or memory by resizing your instance. However, because resizing your CPU or memory requires downtime for your users, we recommend over-provisioning resources to account for scale.
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.
AMIs for GitHub Enterprise Server are available in the AWS GovCloud (US-East and US-West) region. 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
- Navigate to the GitHub Enterprise Server download page.
- Click 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 over SSH access. Clone, fetch, and push operations to public/private repositories supported. 25 SMTP SMTP with encryption (STARTTLS) support. 80 HTTP Web application access. All requests are redirected to the HTTPS port when SSL is enabled. 122 SSH Instance shell access. The default SSH port (22) is dedicated to application git+ssh network traffic. 161/UDP SNMP Obrigatória para operações de protocolo de monitoramento de rede. 443 HTTPS Web application and Git over HTTPS access. 1194/UDP VPN Secure replication network tunnel in high availability configuration. 8080 HTTP Plain-text web based Console de gerenciamento. Not required unless SSL is disabled manually. 8443 HTTPS Secure web based Console de gerenciamento. Required for basic installation and configuration. 9418 Git Simple Git protocol port. Clone and fetch operations to public repositories only. Unencrypted network communication.
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. Attach a new block device to use as a storage volume for your instance data, and configure the size based on your user license count. 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.
- At the prompt, upload your license file and set a management console password. For more information, see "Managing your GitHub Enterprise Server license."
- In the Console de gerenciamento, configure and save your desired settings. Para obter mais informações, consulte "Configurar o appliance do GitHub Enterprise Server".
- A instância será reiniciada automaticamente.
- Click Visit your instance.