Busqué, pero no puedo encontrar una visión general básica sobre cómo mover nuestras cargas de DigitalOcean a S3. Configuré S3 correctamente para las nuevas cargas y nuestras copias de seguridad hace unos meses. Me gustaría completar la migración de nuestras cargas (~1.4 GB) a S3.
Esto fue una conversión desde SMF2 desde el principio. Ahora tenemos dos carpetas de cargas: una en la raíz de smf2 y otra en /var/discourse. El directorio SMF2 tiene 2.8 GB. Supongo que podría haber dos pasos aquí. ¿Necesito realizar pasos separados para mover desde el directorio SMF2 y desde el directorio /var/discourse?
Encontré rake to s3, pero no puedo encontrar una guía más allá de un montón de personas hablando sobre los errores que encontraron y sugerencias para corregirlos. ¿Existe alguna guía?
Por favor, lee este artículo; debería guiarte sobre cómo configurar la tarea.
Debes revisar la parte de configuración de la sección hooks y configurar el bucket mediante variables de entorno para evitar los problemas de los que ya has leído.
Lo único de lo que no tengo conocimiento es un CDN. Veo que podemos usar Amazon CloudFront. Supongo que no se configuró al realizar los pasos anteriores de configuración de S3. Buscaré una guía sobre cómo configurarlo.
Puedes configurar CloudFront usando tu bucket de cargas como origen y, una vez que esté listo, puedes configurarlo como enlace CDN de S3. Eso es todo lo que hay que hacer.
OK, el sitio ha sido reconstruido y se han seguido los pasos de configuración de S3.
Ahora todo debería cargarse desde S3. Entonces, ¿cómo lo verifico? ¿Puedo eliminar el directorio de subidas antiguo en mi droplet para liberar espacio?
La carga a S3 debe ocurrir durante la reconstrucción. Deberías poder navegar por los activos del sitio en los buckets de S3 y todos los activos del sitio deben cargarse desde el enlace de S3 o CDN proporcionado. Si no funciona, definitivamente hay algo mal en la forma en que lo configuraste. ¿Estás recibiendo algún error?
Sospecho que entonces algo pudo haber salido mal. Mi reconstrucción no duró lo suficiente como para que se subieran varios GB de datos durante el proceso.
EDIT:
Todas las subidas hasta hace varios meses ya se realizaban a S3. Lo que quiero mover es lo antiguo, anterior al cambio a S3.
Tenga en cuenta que los servidores son órdenes de magnitud más rápidos que su conexión de banda ancha. No debería tomarles más de un par de minutos cargar las imágenes desde su servidor a S3. Sin embargo, debe revisar cuidadosamente el registro de reconstrucción para confirmar si se realizaron las cargas o no.
Alternativamente, puede ejecutar ./discourse-doctor para generar un registro para su revisión.
Lo único que noto está marcado en negrita en la sección de DNS.
> root@discourse:/var/discourse# ./discourse-doctor
> DISCOURSE DOCTOR Thu May 14 11:35:17 UTC 2020
> OS: Linux discourse 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
>
>
> Found containers/app.yml
>
> ==================== YML SETTINGS ====================
> DISCOURSE_HOSTNAME=
> SMTP_ADDRESS=
> DEVELOPER_EMAILS=
> SMTP_PASSWORD=
> SMTP_PORT=
> SMTP_USER_NAME=
> LETSENCRYPT_ACCOUNT_EMAIL=
>
> ==================== DOCKER INFO ====================
> DOCKER VERSION: Docker version 18.09.6, build 481bc77
>
> DOCKER PROCESSES (docker ps -a)
>
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> db900fc77ebe local_discourse/app "/sbin/boot" 15 hours ago Up 15 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
>
> db900fc77ebe local_discourse/app "/sbin/boot" 15 hours ago Up 15 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
>
> Discourse container app is running
>
>
> ==================== PLUGINS ====================
> exec: {cd: $home/plugins, cmd: ['git clone https://github.com/discourse/docker_manager.git', 'git clone https://github.com/procourse/procourse-static-pages.git', 'git clone https://github.com/discourse/discourse-bbcode.git', 'git clone https://github.com/discourse/discourse-adplugin.git']}
>
> No non-official plugins detected.
>
> See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.
>
> ========================================
> Discourse version at : NOT FOUND
> Discourse version at localhost: Discourse 2.5.0.beta4
**> ==================== DNS PROBLEM ====================**
**> This server reports Discourse 2.5.0.beta4 , but reports NOT FOUND.**
**> This suggests that you have a DNS problem or that an intermediate proxy is to blame.**
**> If you are using Cloudflare, or a CDN, it may be improperly configured.**
>
>
> ==================== MEMORY INFORMATION ====================
> RAM (MB): 1008
>
> total used free shared buff/cache available
> Mem: 985 636 69 121 279 88
> Swap: 2047 775 1272
>
> ==================== DISK SPACE CHECK ====================
> ---------- OS Disk Space ----------
> Filesystem Size Used Avail Use% Mounted on
> /dev/vda1 25G 20G 4.8G 81% /
>
> ---------- Container Disk Space ----------
> Filesystem Size Used Avail Use% Mounted on
> overlay 25G 20G 4.8G 81% /
> /dev/vda1 25G 20G 4.8G 81% /shared
> /dev/vda1 25G 20G 4.8G 81% /var/log
>
> ==================== DISK INFORMATION ====================
> Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
> Units: sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disklabel type: gpt
> Disk identifier: 02CBFCD2-7495-4A08-A11B-28E7D3872FAA
>
> Device Start End Sectors Size Type
> /dev/vda1 227328 52428766 52201439 24.9G Linux filesystem
> /dev/vda14 2048 10239 8192 4M BIOS boot
> /dev/vda15 10240 227327 217088 106M Microsoft basic data
>
> Partition table entries are not in disk order.
>
> ==================== END DISK INFORMATION ====================
>
> ==================== MAIL TEST ====================
> For a robust test, get an address from http://www.mail-tester.com/
> Or just send a test message to yourself.
> Email address for mail test? ('n' to skip) []: n
> Mail test skipped.
> Replacing: SMTP_PASSWORD
> Replacing: LETSENCRYPT_ACCOUNT_EMAIL
> Replacing: DEVELOPER_EMAILS
> Replacing: DISCOURSE_DB_PASSWORD
> Replacing: Sending mail to
>
> ==================== DONE! ====================
> Would you like to serve a publicly available version of this file? (Y/n)n
> root@discourse:/var/discourse#
¿Puedes generar una versión públicamente accesible? Puedes compartir el enlace por mensaje directo; tal vez pueda verificar si la migración a S3 funcionó o falló por alguna razón.