Aller au contenu

Lab 05 : Découverte du Stockage Objet Outscale

Dans cet atelier nous allons manipuler le stockage objet fourni par 3DS OUTSCALE.

Le stockage objet est une architecture de stockage qui gère les données sous forme d’objets accessibles via des URL plutôt que des fichiers. Il est idéal pour stocker de grandes quantités de données non structurées, telles que des sauvegardes, des archives, des images, des contenus audio et vidéo, ainsi que des données volumineuses.

Le service OUTSCALE Object Storage (OOS) repose sur la technologie RING de Scality. Il est compatible avec l’API Simple Storage Service (S3) d’AWS, ce qui signifie que vous pouvez utiliser OOS avec n’importe quel outil compatible S3.

L’interface de la ligne de commande AWS (AWS CLI) est un outil unifié qui permet de gérer vos ressources Outscale compatibles avec l’API AWS. Avec un seul outil à télécharger et à configurer, vous pouvez contrôler plusieurs services Outscale à partir de la ligne de commande et les automatiser au moyen de scripts.

Lien vers la documentation

Terminal window
sudo apt update && sudo apt upgrade -y && sudo apt install unzip curl -y
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Vérifiez l’installation :

Terminal window
aws --version
echo 'export PATH=/usr/local/bin/aws_completer:$PATH' >> .profile
source ~/.profile

Activez la complétion :

Terminal window
echo "complete -C '/usr/local/bin/aws_completer' aws" >> ~/.bashrc
source ~/.bashrc

La commande aws configure vous invite à saisir :

Terminal window
aws configure
  • AWS Access Key ID : Votre access key OUTSCALE.
  • AWS Secret Access Key : Votre secret key OUTSCALE.
  • Default region name : La Région OUTSCALE.
  • Default output format : json.

Pour un profil nommé :

Terminal window
aws configure --profile VOTRE_PROFIL
Terminal window
aws s3api create-bucket \
--bucket formation-bucket \
--endpoint-url https://oos.eu-west-2.outscale.com

Le nom doit être unique, 3–63 caractères, commencer par alphanumérique, et contenir minuscules, chiffres et tirets.

Bucket créé

Terminal window
aws s3api list-buckets --endpoint-url https://oos.eu-west-2.outscale.com

Liste buckets

Terminal window
aws s3api delete-bucket \
--bucket formation-bucket \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api put-object \
--profile YOUR_PROFILE \
--bucket BUCKET \
--key OBJECT \
--body /usr/bin/OBJECT \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api put-bucket-versioning \
--bucket formation-bucket \
--versioning-configuration Status=Enabled \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api get-bucket-versioning \
--bucket formation-bucket \
--endpoint-url https://oos.eu-west-2.outscale.com
  1. Créez index.html :

    <html>
    <head>
    <title>Ma page index.html</title>
    </head>
    <body>
    <h1>Mon site web statique</h1>
    <h2>Formation OOS</h2>
    </body>
    </html>
  2. Téléversez :

    Terminal window
    aws s3api put-object \
    --bucket formation-bucket \
    --key index.html \
    --body index.html \
    --endpoint-url https://oos.eu-west-2.outscale.com
  3. Modifiez puis re-téléversez de la même façon.

  4. Listez les versions :

    Terminal window
    aws s3api list-object-versions \
    --bucket formation-bucket \
    --prefix index.html \
    --endpoint-url https://oos.eu-west-2.outscale.com
  5. Analysez les versions.

  6. Téléchargez une version :

    Terminal window
    aws s3api get-object \
    --bucket formation-bucket \
    --key index.html \
    /tmp/v0_index.html \
    --version-id <VERSION_ID> \
    --endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3 presign s3://formation-bucket/acl-list.pdf \
--expires-in 3600 \
--endpoint-url https://oos.eu-west-2.outscale.com

Pré-signée

Terminal window
aws s3api put-bucket-acl \
--profile YOUR_PROFILE \
--bucket BUCKET \
--acl private \
--grant-full-control "id=USER_ID" \
--grant-read "id=USER_ID" \
--grant-read-acp "id=USER_ID" \
--grant-write "id=USER_ID" \
--grant-write-acp "id=USER_ID" \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api get-bucket-acl \
--profile YOUR_PROFILE \
--bucket BUCKET \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api put-object-acl \
--bucket BUCKET \
--key OBJECT \
--acl private \
--grant-full-control "id=USER_ID" \
--grant-read "id=USER_ID" \
--grant-read-acp "id=USER_ID" \
--grant-write "id=USER_ID" \
--grant-write-acp "id=USER_ID" \
--version-id <VERSION_ID> \
--endpoint-url https://oos.eu-west-2.outscale.com
Terminal window
aws s3api get-object-acl \
--profile YOUR_PROFILE \
--bucket BUCKET \
--key OBJECT \
--version-id <VERSION_ID> \
--endpoint-url https://oos.eu-west-2.outscale.com
  • Appliquez public-read sur index.html.

  • Téléversez error.html et appliquez public-read.

  • Vérifiez l’ACL.

  • Créez website.json :

    {
    "IndexDocument": {"Suffix": "index.html"},
    "ErrorDocument": {"Key": "error.html"}
    }
  • Configurez :

    Terminal window
    aws s3 website s3://formation-bucket/ \
    --index-document index.html \
    --error-document error.html \
    --endpoint-url https://oos.eu-west-2.outscale.com
    aws s3api put-bucket-website \
    --bucket formation-bucket \
    --website-configuration file://website.json \
    --endpoint-url https://oos.eu-west-2.outscale.com

Votre site est accessible : https://.oos-website..outscale.com

Téléchargez sur https://cyberduck.io/download/ et configurez via le tutoriel OOS.

Cyberduck config

Installez :

Terminal window
sudo -v ; curl https://rclone.org/install.sh | sudo bash
rclone config

Sélectionnez S3, entrez vos clés Outscale.

Rclone

Terminal window
rclone listremotes
rclone mount remote:formation-bucket /mnt/ --daemon
fusermount -u /mnt/

Rclone mount

Terminal window
rclone mount formation-bucket: Z: --network-mode --no-console --vfs-cache-mode full --log-file "%TMP%\ZDriveMapperLog.txt"

Configurez une tâche de démarrage via Task Scheduler.

Task Scheduler

Duplicati Documentation

Configurez une sauvegarde S3 avec :

  • Serveur : oos.eu-west-2.outscale.com
  • Bucket : formation-bucket
  • Région : eu-west-2
  • Access Key / Secret Key

Duplicati config