Versión del artículo: Enterprise Server 2.17
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
- Debes tener un archivo de licencia de GitHub Enterprise. Para descargar un archivo de licencia existente o solicitar una licencia de prueba, visita enterprise.github.com. Para obtener más información, consulta "Administrar tu licencia de GitHub Enterprise Server".
- Debes tener una cuenta AWS capaz de iniciar instancias EC2 y crear volúmenes EBS. Para obtener más información, consulta el Sitio web de Amazon Web Services.
- La mayoría de las acciones necesarias para iniciar tu instancia de servidor de GitHub Enterprise también pueden realizarse por medio de la consola de administración de AWS. Sin embargo, recomendamos instalar la interfaz de línea de comando de AWS (CLI) para la configuración inicial. Abajo se incluyen ejemplos que utilizan AWS CLI. Para obtener más información, consulta las guías de Amazon "Trabajar con la consola de administración de AWS" y "Qué es la interfaz de línea de comando de AWS."
Esta guía supone que estás familiarizado con los siguientes conceptos de AWS:
- Iniciar instancias de EC2
- Administrar volúmenes de EBS
- Utilizar grupos de seguridad (para administrar el acceso de red a tu instancia)
- Direcciones IP elásticas (EIP) (altamente recomendadas para los entornos de producción)
- EC2 y Virtual Private Cloud (si planeas iniciar dentro de Virtual Private Cloud)
Consideraciones relativas al hardware
GitHub Enterprise Server requiere un disco de datos persistente separado del disco raíz. Para obtener más información, consulta "Resumen del sistema". Recomendamos diferentes configuraciones de hardware con base en la cantidad de licencias de usuario que se utilicen en tu instancia de servidor de GitHub Enterprise. |
Licencias de usuario | vCPU | Memoria | Almacenamiento conectado | Almacenamiento raíz |
---|---|---|---|---|
Prueba, Demo o 10 usuarios no frecuentes | 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 |
Estas son las recomendaciones mínimas. Es posible que se requieran más recursos según su uso, como la actividad del usuario y las integraciones seleccionadas. Cuando incrementas los recursos de CPU, se recomienda agregar por lo menos 6.5 GB de memoria a cada uno (hasta 16 CPU) de los que hayas añadido a tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Aumentar los recursos de memoria o la CPU."
Nota: el disco raíz se puede cambiar de tamaño si construyes un aplicativo nuevo o si utilizas un aplicativo existente. Para obtener más información, consulta la sección Incrementar la capacidad de almacenamiento"
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
GitHub Enterprise Server se admite en los siguientes tipos de instancias EC2. Para obtener más información, consulta la página de AWS de resumen de tipo de instancia EC2 .
Tipo de instancia EC2 | Modelo |
---|---|
C3 | c3.2xlarge, c3.4xlarge, c3.8xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
C4 | c4.2xlarge, c4.4xlarge, c4.8xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
C5 | c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
M3 | m3.xlarge, m3.2xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
M4 | m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
M5 | m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
R4 | r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
R5 | r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge |
Tipo de instancia EC2 | Modelo |
---|---|
X1 | x1.16xlarge, x1.32xlarge |
Tipos de instancias recomendadas
De acuerdo con el número de licencias de usuario con las que cuentes, recomendamos los siguientes tipos de instancia. |
Licencia de usuario | Tipo recomendado |
---|---|
Prueba, Demo o 10 usuarios no frecuentes | r4.large |
10 - 3000 | r4.xlarge |
3000 - 5000 | r4.2xlarge |
5000 - 8000 | r4.4xlarge |
8000 - 10000+ | r4.8xlarge |
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 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
- Visita la GitHub Enterprise Server página de descargas.
- Haz clic en Get the latest release of GitHub Enterprise Server (Obtener el último lanzamiento del GitHub Enterprise Server).
- En el menú desplegable Select your platform (Selecciona tu plataforma), haz clic en Amazon Web Services.
- En el menú desplegable Select your AWS region (Selecciona tu región AWS), elige tu región deseada.
- Toma nota de la ID de AMI que se muestra.
Utilizar la CLI de AWS para seleccionar una AMI
- 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, y895557238572
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
- 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."
-
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"
-
Toma nota del ID del grupo de seguridad (
sg-xxxxxxxx
) de tu grupo de seguridad recientemente creado. -
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.
Puerto Servicio Descripción 22 SSH Git a través de acceso SSH. Se admite clonar, extraer y subir operaciones a repositorios privados/públicos. 25 SMTP SMTP con soporte de encriptación (STARTTLS). 80 HTTP Acceso a aplicación web. Todas las solicitudes se redireccionan al puerto HTTPS cuando se habilita SSL. 122 SSH Acceso a shell de instancia. El puerto predeterminado (22) se dedica a la aplicación de git+el tráfico de red ssh. 161/UDP SNMP Se requiere para operar el protocolo de revisión de red. 443 HTTPS Aplicación web y Git a través de acceso HTTPS. 1194/UDP VPN Túnel de red de replicación segura en la configuración de alta disponibilidad. 8080 HTTP Consola de administración basada en la web de texto simple. No se requiere excepto que el SSL esté inhabilitado de forma manual. 8443 HTTPS Consola de administración seguro basada en la web. Requerido para la instalación y la configuración básicas. 9418 Git Puerto simple de protocolo de Git. Únicamente clonar y extraer operaciones a repositorios públicos. Comunicación de red no encriptada.
Crear la instancia del 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
- Copia el nombre DNS público de la máquina virtual y pégalo en un navegador de red.
- 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 "Administrar tu licencia de GitHub Enterprise Server".
- 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."
- La instancia se reiniciará automáticamente.
- Da clic en Visitar tu instancia.