Esta versión de GitHub Enterprise se discontinuó el 2021-06-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Instalar el servidor de GitHub Enterprise en AWS

Para instalar el Servidor de GitHub Enterprise en Amazon Web Services (AWS), debes iniciar una instancia de Amazon Elastic Compute Cloud (EC2) y crear y adjuntar un volumen de datos separado de Amazon Elastic Block Store (EBS).

Prerrequisitos

Esta guía supone que estás familiarizado con los siguientes conceptos de AWS:

Consideraciones relativas al hardware

Minimum requirements

We recommend different hardware configurations depending on the number of user licenses for tu instancia de servidor de GitHub Enterprise. If you provision more resources than the minimum requirements, your instance will perform and scale better.

Licencias de usuariovCPUMemoriaAlmacenamiento conectadoAlmacenamiento raíz
Prueba, Demo o 10 usuarios no frecuentes216 GB100 GB200 GB
10-3000432 GB250 GB200 GB
3000-5000864 GB500 GB200 GB
5000-80001296 GB750 GB200 GB
8000-10000+16128 GB1000 GB200 GB

For more information about adjusting resources for an existing instance, see "Increasing storage capacity" and "Increasing CPU or memory resources."

Almacenamiento

We recommend a high-performance SSD with high input/output operations per second (IOPS) and low latency for Servidor de GitHub Enterprise. Workloads are I/O intensive. If you use a bare metal hypervisor, we recommend directly attaching the disk or using a disk from a storage area network (SAN).

Your instance requires a persistent data disk separate from the root disk. Para obtener más información, consulta "Resumen del sistema".

You can resize your instance's root disk by building a new instance or using an existing instance. Para obtener más información, consulta la sección Incrementar la capacidad de almacenamiento"

CPU and memory

Servidor de GitHub Enterprise requires more CPU and memory resources depending on levels of activity for users, automations, and integrations.

When you increase CPU resources, we recommend adding at least 6.5 GB of memory for each vCPU (up to 16 vCPUs) that you provision for the instance. When you use more than 16 vCPUs, you don't need to add 6.5 GB of memory for each vCPU, but you should monitor your instance to ensure it has enough memory.

Warning: We recommend that users configure webhook events to notify external systems of activity on Servidor de GitHub Enterprise. Automated checks for changes, or polling, will negatively impact the performance and scalability of your instance. For more information, see "About webhooks."

You can increase your instance's CPU or memory resources. Para obtener más información, consulta "Aumentar los recursos de memoria o la CPU.

Determinar el tipo de instancia

Antes de iniciar tu instancia de servidor de GitHub Enterprise en AWS, deberás determinar el tipo de máquina virtual que mejor se adapte a las necesidades de tu organización.

Tipos de instancias admitidas

Tipos de instancias recomendadas

Nota: Siempre puedes mejorar tu CPU o memoria si cambias tu instancia de tamaño. Sin embargo, ya que cambiar de tamaño tu CPU o memoria requiere tiempo de inactividad para tus usuarios, recomendamos contar con recursos de sobra para compensar un escalamiento.

Seleccionar la AMI del Servidor de GitHub Enterprise

Puedes seleccionar una Amazon Machine Image (AMI) para el Servidor de GitHub Enterprise utilizando el portal del Servidor de GitHub Enterprise o la CLI de AWS.

Las AMIs para Servidor de GitHub Enterprise se encuentran disponibles en la región de AWS GovCloud (EE.UU. Este y EE.UU. Oeste). Esto permite que los clientes de EE. UU. con requisitos reglamentarios específicos ejecuten el Servidor de GitHub Enterprise en un entorno de nube que cumpla con los requisitos a nivel federal. Para obtener más información sobre el cumplimiento de AWS de las normas federales y otras normas, consulta la Página de GovCloud (EE. UU.) de AWS y la Página de cumplimiento de AWS.

Utilizar el portal Servidor de GitHub Enterprise para seleccionar una AMI

  1. Visita la Servidor de GitHub Enterprise página de descargas.
  2. Haz clic en Get the latest release of Servidor de GitHub Enterprise (Obtener el último lanzamiento del Servidor de GitHub Enterprise).
  3. En el menú desplegable Select your platform (Selecciona tu plataforma), haz clic en Amazon Web Services.
  4. En el menú desplegable Select your AWS region (Selecciona tu región AWS), elige tu región deseada.
  5. Toma nota de la ID de AMI que se muestra.

Utilizar la CLI de AWS para seleccionar una AMI

  1. Utilizando una CLI de AWS, obtén una lista de imágenes publicadas del Servidor de GitHub Enterprise por ID de propietarios de AWS de GitHub (025577942450 para GovCloud, y 895557238572 para otras regiones). Para obtener más información, consulta "describe-images" en los documentos de AWS.
    aws ec2 describe-images \
    --owners OWNER ID \
    --query 'sort_by(Images,&Name)[*].{Name:Name,ImageID:ImageId}' \
    --output=text
  2. Toma nota del ID de AMI de la última imagen del Servidor de GitHub Enterprise.

Crear un grupo de seguridad

Si estás configurando tu AMI por primera vez, deberás crear un grupo de seguridad y agregar una nueva regla de grupo de seguridad para cada puerto en la tabla de abajo. Para más información, consulta la guía AWS "Usar grupos de seguridad."

  1. Crea un nuevo grupo de seguridad utilizando la CLI de AWS. Para obtener más información, consulta "create-security-group" en los documentos de AWS.

    $ aws ec2 create-security-group --group-name SECURITY_GROUP_NAME --description "SECURITY GROUP DESCRIPTION"
  2. Toma nota del ID del grupo de seguridad (sg-xxxxxxxx) de tu grupo de seguridad recientemente creado.

  3. Crea una regla de grupo de seguridad para cada puerto en la tabla de abajo. Para obtener más información, consulta "authorize-security-group-ingress" en los documentos de AWS.

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

    Esta tabla identifica para qué se utiliza cada puerto.

    Port (Puerto)ServicioDescripción
    22SSHGit a través de acceso SSH. Se admite clonar, extraer y subir operaciones a repositorios privados/públicos.
    25SMTPSMTP con soporte de encriptación (STARTTLS).
    80HTTPAcceso a aplicación web. Todas las solicitudes se redireccionan al puerto HTTPS cuando se habilita SSL.
    122SSHAcceso a shell de instancia. El puerto predeterminado (22) se dedica a la aplicación de git+el tráfico de red ssh.
    161/UDPSNMPSe requiere para operar el protocolo de revisión de red.
    443HTTPSAplicación web y Git a través de acceso HTTPS.
    1194/UDPVPNTúnel de red de replicación segura en la configuración de alta disponibilidad.
    8080HTTPConsola de administración basada en la web de texto simple. No se requiere excepto que el SSL esté inhabilitado de forma manual.
    8443HTTPSConsola de administración seguro basada en la web. Requerido para la instalación y la configuración básicas.
    9418GitPuerto simple de protocolo de Git. Únicamente clonar y extraer operaciones a repositorios públicos. Comunicación de red no encriptada.

Crear la instancia de Servidor de GitHub Enterprise

Para crear la instancia, deberás lanzar una instancia de EC2 con tu AMI Servidor de GitHub Enterprise y adjuntarle volumen de almacenamiento adicional para los datos de tu instancia. Para obtener más información, consulta "Consideraciones relativas al hardware."

Nota: puedes cifrar el disco de datos para obtener un nivel adicional de seguridad y estar seguro de que los datos que escribas en tu instancia están protegidos. Hay un leve impacto de desempeño cuando usas discos encriptados. Si decides cifrar tu volumen, recomendamos firmemente hacerlo antes de comenzar tu instancia por primera vez. Para más información, consulta la guía de Amazon sobre el cifrado EBS.

Advertencia: si decides habilitar la encriptación después de configurar tu instancia, deberás migrar tus datos al volumen encriptado, que producirá tiempo de inactividad para tus usuarios.

Lanzar una instancia de EC2

En la CLI de AWS, inicia una instancia de EC2 utilizando tu AMI y el grupo de seguridad que has creado. Adjunta un nuevo dispositivo de bloque para utilizarlo como volumen de almacenamiento para tus datos de la instancia y configura el tamaño de acuerdo con la cantidad de licencias de usuario que tengas. Para obtener más información, consulta "run-instances" en los documentos de 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

Asignar una IP elástica y asociarla con la instancia

Si esta es una instancia de producción, recomendamos firmemente asignar una IP elástica (EIP) y asociarla con la instancia antes de continuar con la configuración del Servidor de GitHub Enterprise. De lo contrario, la dirección IP pública de la instancia no se conservará después de que se reinicie la instancia. Para obtener más información, consulta "Asignar una dirección IP elástica" y "Asociar una dirección IP elástica con una instancia en ejecución" en la documentación de Amazon.

Tanto en la instancia principal y en la de réplica deberían asignarse EIP separadas en las configuraciones de alta disponibilidad de producción. Para obtener más información, consulta "Configurar Servidor de GitHub Enterprise para alta disponibilidad."

Configurar la instancia de Servidor de GitHub Enterprise

  1. Copia el nombre DNS público de la máquina virtual y pégalo en un navegador de red.
  2. En el prompt, carga tu archivo de licencia y configura una contraseña de consola de administración. Para obtener más información, consulta la sección "Administrar tu licencia de GitHub Enterprise".
  3. En la Consola de administración, configura y guarda a configuración que desees. Para obtener más información, consulta "Configurar el aparato del Servidor de GitHub Enterprise."
  4. La instancia se reiniciará automáticamente.
  5. Da clic en Visitar tu instancia.

Leer más