Posted in

Crear un bucket a S3 per allotjar còpies de seguretat d’una aplicació

1. Crear el bucket

1. Entra a https://console.aws.amazon.com i a dalt a la dreta tria la regió. Per a dades europees, eu-west-1 (Irlanda) o eu-south-2 (Espanya). Apunta-la, la faràs servir després.
2. Cerca S3 i prem Create bucket.
3. Bucket type: General purpose.
4. Bucket name: el nom que hagis triat.
5. Object Ownership: ACLs disabled (és el valor per defecte).
6. Block Public Access settings for this bucket: deixa marcat Block all public access. És el valor per defecte.
7. Bucket Versioning: Disable. Restic ja guarda els seus snapshots, i amb versionat els fitxers esborrats pel prune continuarien ocupant espai i cobrant.
8. Default encryption: es queda en SSE-S3, no cal tocar res. El contingut ja va xifrat per restic.
9. Prem Create bucket.

Opcional, però útil: a la pestanya Management del bucket, afegeix una regla de lifecycle que esborri les pujades multipart incompletes després de 7 dies (Delete expired object delete markers or incomplete multipart uploads). Evita restes si una còpia es talla a mig pujar.

2. Crear la política

1. Cerca IAM, menú Policies i Create policy.
2. Pestanya JSON i enganxa això:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListBucket",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::NOM-DEL-BUCKET"
    },
    {
      "Sid": "ReadWriteObjects",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::NOM-DEL-BUCKET/*"
    }
  ]
}

3. Next, nom talaia-backup-NOM-DEL-BUCKET i Create policy.

Els dos blocs són separats a propòsit: ListBucket va sobre el bucket i els permisos d’objecte sobre /*. Si els uneixes en un sol Resource, restic dóna Access Denied.

3. Crear l’usuari i la clau

1. IAM, Users, Create user. Nom talaia-backup. No marquis l’accés a la consola.
2. Set permissions: Attach policies directly, cerca la política que has creat i marca-la.
3. Create user.
4. Obre l’usuari, pestanya Security credentials, Create access key.
5. Use case: Application running outside AWS. Continua.
6. Es mostren l’Access key ID i la Secret access key. La secreta només es veu ara. Copia-les o descarrega el CSV, i no el deixis en cap carpeta del repositori.

4. Posar-ho a Talaia

A la consola de Talaia, Credencials: crea el secret backup amb tres camps.

– access_key_id: el de l’usuari.
– secret_access_key: la secreta.
– password: una contrasenya llarga i aleatòria per a restic. No es pot canviar després, i sense ella no recuperes res. Guarda-la fora del servidor, juntament amb /etc/talaia/master.key.

Després, Configuració › Serveis › Còpies de seguretat:

– Endpoint: s3.REGIO.amazonaws.com, per exemple s3.eu-west-1.amazonaws.com.
– Bucket: el nom.
– Prefix: talaia.
– Region: la que has triat.
– Secret: backup.
– Daily 14 i monthly 6.
– Activa-ho.

5. Comprovar

Al VPS, abans d’activar el timer:

sudo apt install restic
export RESTIC_REPOSITORY=s3:https://s3.eu-west-1.amazonaws.com/NOM-DEL-BUCKET/talaia
export AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... RESTIC_PASSWORD=...
restic snapshots

Abans de la primera còpia dirà que el repositori no existeix, i això és normal. Si dóna Access Denied, el problema és la política o el nom del bucket. Si dóna un error de regió, l’endpoint no coincideix amb la regió del bucket.

Després, a la consola, Fes una còpia ara i segueix-la a Feines. La primera crea el repositori. Quan acabi, fes restic snapshots un altre cop i hauries de veure’n un. Llavors:

sudo systemctl enable --now talaia-backup.timer
Tagged

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.