Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Instalar el servidor de GitHub Enterprise en AWS

Para instalar el GitHub Enterprise Server 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

Note: At this time GitHub Enterprise Server does not support the use of the Amazon IDMSv2 Metadata API.

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

Para ver un resumen arquitectónico, consulta el Diagrama de Arquitectura de AWS para Desplegar a GitHub Enterprise Server".

Esta guía te recomienda utilizar el principio del menor privilegio necesario cuando configures tu instancia de GitHub Enterprise Server en AWS. Para obtener más información, refiérete a la Documentación sobre la Administración de Accesos e Identidad (IAM) de AWS.

Consideraciones relativas al hardware

Requisitos mínimos

Te recomendamos utilizar configuraciones de hardware diferentes dependiendo de la cantidad de licencias de usuario que tengas para tu instancia de GitHub Enterprise Server. Si aprovisionaste más recursos que los de los requisitos mínimos, tu instancia funcionrá y escalará mejor.

Licencias de usuariovCPUMemoriaAlmacenamiento conectadoAlmacenamiento raíz
Prueba, Demo o 10 usuarios no frecuentes432 GB150 GB200 GB
10-3000848 GB300 GB200 GB
3000-50001264 GB500 GB200 GB
5000-80001696 GB750 GB200 GB
8000-10000+20160 GB1000 GB200 GB

Si planeas habilitar las GitHub Actions para los usuarios de tu instancia, se necesitarán más recursos.

vCPUMemoriaSimultaneidad máxima
864 GB300 puestos de trabajo
16128 GB700 puestos de trabajo
32160 GB1500 puestos de trabajo
64256 GB2500 puestos de trabajo
96384 GB4500 puestos de trabajo
128550 GB5000 puestos de trabajo

Para obtener más información sobre estos requisitos, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".

Para obtener más información sobre el ajuste de recursos para una instancia existente, consulta las secciones "Incrementar la capacidad de almacenamiento" e "Incrementar los recursos de memoria o de CPU".

Almacenamiento

Recomendamos un SSD de alto rendimiento con operaciones de altas de entrada/salida por segundo (IOPS) y latencia baja para GitHub Enterprise Server. Las cargas de trabajo son intensivas para las I/O. Si utilizas un hipervisor de metal puro, te recomendamos adjuntar directamente el disco o utilizar un disco de una red de área de almacenamiento (SAN).

Tu instancia requiere un disco de datos persistentes independiente del disco raíz. Para obtener más información, consulta "Resumen del sistema".

Para configurar las GitHub Actions, debes proporcionar un almacenamiento de blobs externos. Para obtener más información, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".

El espacio disponible en el sistema de archivos raíz será de 50% del tamaño total en disco. Puedes redimensionar el disco raíz de tu instancia si creas una instancia nueva o si utilizas una instancia existente. Para obtener más información, consulta las secciones "Resumen del sistema" y "Incrementar la capacidad de almacenamiento".

CPU y memoria

Los recursos de memoria y CPU que GitHub Enterprise Server requiere dependen de los niveles de actividad para los usuarios, automatizaciones e integraciones.

Si planeas habilitar las GitHub Actions para los usuarios de tu instancia de GitHub Enterprise Server, podrías necesitar aprovisionar recursos de memoria y CPU adicionales para esta. Para obtener más información, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".

Cuando incrementas tus recursos de CPU, te recomendamos agregar por lo menos 6.5 GB de memoria para cada vCPU (hasta 16 vCPU) que aprovisiones para la instancia. Cuando utilizas más de 16 CPU, no necesitas agregar 6.5 GB de memoria para cada uno, pero debes monitorear tu instancia para garantizar que tenga memoria suficiente.

Advertencia: te recomendamos que los usuarios configuren eventos de webhooks para notificar a los sistemas externos sobre la actividad en GitHub Enterprise Server. Las verificaciones automatizadas para los cambios, o el sondeo, impactará negativamente el rendimiento y la escalabilidad de tu instancia. Para obtener más información, consulta la sección "Acerca de los webhooks".

Para obtener más información acerca de cómo monitorear la capacidad y rendimiento de GitHub Enterprise Server, consulta la sección "Monitorear tu aplicativo".

Puedes incrementar los recursos de memoria o de CPU para tu instancia. 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 GitHub Enterprise Server en AWS, deberás determinar el tipo de máquina que mejor se adapte a las necesidades de tu organización. Para revisar los requisitos mínimos para GitHub Enterprise Server, consulta la sección "Requisitos mínimos".

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.

GitHub recomienda una instancia con memoria optimizada para GitHub Enterprise Server. Para obtener más información, consulta la sección de Tipos de instancia EC2 de Amazon en el sitio web de Amazon EC2.

Seleccionar la AMI del GitHub Enterprise Server

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

Las AMIs para GitHub Enterprise Server 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 GitHub Enterprise Server 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 GitHub Enterprise Server para seleccionar una AMI

  1. Navega a la imagen que quieras utilizar para tu instancia nueva.

    • Navega a las Notas de lanzamiento.
    • En la barra lateral derecha, haz clic en la versión que quieras descargar.
    • Haz clic en Descargar GitHub Enterprise Server X.X.X.
  2. Debajo de "GitHub en la nube", selecciona el menú desplegable "Selecciona tu plataforma" y haz clic en Amazon Web Services.

  3. Selecciona el menú desplegable "Selecciona tu región de AWS" y haz clic en tu región deseada.

  4. 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 GitHub Enterprise Server 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 GitHub Enterprise Server.

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 sin cifrar. Si habilitaste el modo privado en tu instancia, entonces solo se requerirá abrir este puerto si también habilitas el acceso de lectura anónimo para Git. Para obtener más información consulta la sección "Requerir políticas de administración de repositorios en tu empresa".

Crear la instancia GitHub Enterprise Server

Para crear la instancia, deberás lanzar una instancia de EC2 con tu AMI GitHub Enterprise Server 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 GitHub Enterprise Server. 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 GitHub Enterprise Server para alta disponibilidad."

Configurar la instancia de GitHub Enterprise Server

  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. Paa 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 de GitHub Enterprise Server."
  4. La instancia se reiniciará automáticamente.
  5. Da clic en Visitar tu instancia.

Leer más