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).
En esta guía
- Prerrequisitos
- Consideraciones relativas al hardware
- Determinar el tipo de instancia
- Seleccionar la AMI del Servidor de GitHub Enterprise
- Crear un grupo de seguridad
- Crear la instancia de Servidor de GitHub Enterprise
- Configurar la instancia de Servidor de GitHub Enterprise
Prerrequisitos
-
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 Servidor de GitHub Enterprise license."
-
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
Servidor de GitHub Enterprise requires a persistent data disk separate from the root disk. For more information, see "System overview."
Recomendamos diferentes configuraciones de hardware en base a la cantidad de asientos utilizados en la tu instancia de servidor de GitHub Enterprise. |
Asientos | vCPU | Memoria | Almacenamiento conectado | Almacenamiento raíz |
---|---|---|---|---|
10-500 | 2 | 16 GB | 100 GB | 200 GB |
500-3000 | 4 | 32 GB | 250 GB | 200 GB |
3000-5000 | 8 | 64 GB | 500 GB | 200 GB |
5000-8000 | 12 | 72 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. Para obtener más información, consulta "Aumentar los recursos de memoria o la CPU."
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 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
Servidor de GitHub Enterprise 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 |
- -- - -- - -- - -- - ---- | - ---- |
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 |
- -- - -- - -- - -- - ---- | - ---- |
R4 | r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge |
Tipo de instancia EC2 | Modelo |
- -- - -- - -- - -- - ---- | - ---- |
X1 | x1.16xlarge, x1.32xlarge |
Tipos de instancias recomendadas
Based on your seat count, we recommend the following instance types. |
Asientos | Tipo recomendado |
---|---|
10 - 500 | r4.large |
500 - 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.
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 AMI para el Servidor de GitHub Enterprise están disponibles en la región de AWS GovCloud . 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
-
Navigate to the Servidor de GitHub Enterprise download page.
-
Click Get the latest release of Servidor de GitHub Enterprise.
-
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 Servidor de GitHub Enterprise 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 Servidor de GitHub Enterprise.
Crear un grupo de seguridad
If you're setting up your AMI for the first time, you will need to create a security group and add a new security group rule for each port in the table below. For more information, see the AWS guide "Using Security Groups."
-
Crea un nuevo grupo de seguridad utilizando la CLI de AWS. For more information, see "create-security-group" in the AWS documentation.
$ aws ec2 create-security-group --group-name SECURITY_GROUP_NAME --description "SECURITY GROUP DESCRIPTION"
-
Take note of the security group ID (
sg-xxxxxxxx
) of your newly created security group. -
Crea una regla de grupo de seguridad para cada puerto en la tabla de abajo. For more information, see "authorize-security-group-ingress" in the AWS documentation.
$ aws ec2 authorize-security-group-ingress --group-id SECURITY_GROUP_ID --protocol PROTOCOL --port PORT_NUMBER --cidr SOURCE IP RANGE
This table identifies what each port is used for.
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 de Servidor de GitHub Enterprise
To create the instance, you'll need to launch an EC2 instance with your Servidor de GitHub Enterprise AMI and attach an additional storage volume for your instance data. Para obtener más información, consulta "Consideraciones relativas al hardware."
Note: You can encrypt the data disk to gain an extra level of security and ensure that any data you write to your instance is protected. Hay un leve impacto de desempeño cuando usas discos encriptados. If you decide to encrypt your volume, we strongly recommend doing so before starting your instance for the first time. For more information, see the Amazon guide on EBS encryption.
Warning: If you decide to enable encryption after you've configured your instance, you will need to migrate your data to the encrypted volume, which will incur some downtime for your users.
Launching an EC2 instance
In the AWS CLI, launch an EC2 instance using your AMI and the security group you created. Adjunta un nuevo dispositivo de bloque para usarlo como un volumen de almacenamiento para tus datos de instancia y configura el tamaño basado en tu licencia de usuario. For more information, see "run-instances" in the AWS documentation.
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
-
Copia el nombre DNS público de la máquina virtual y pégalo en un navegador de red.
-
At the prompt, upload your license file and set a management console password. For more information, see "Managing your Servidor de GitHub Enterprise license."
-
In the Consola de administración, configure and save your desired settings. For more information, see "Configuring the Servidor de GitHub Enterprise appliance."
-
La instancia se reiniciará automáticamente.
-
Click Visit your instance.