Arbutus : Clients pour le stockage objet
Pour l'information sur le stockage objet sur Arbutus, voir cette page wiki. Nous décrivons ici comment coinfigurer et utiliser les trois clients de stockage objet les mieux connus :
- s3cmd
- WinSCP
- awscli
Il faut noter que la solution de stockage objet sur Arbutus n'utilise pas l’approche S3 Virtual Hosting d’Amazon avec des buckets DNS, contrairement à s3cmd et WinSCP qui l’offrent par défaut.
WinSCP
Installation
Installez WinSCP à partir de https://winscp.net/.
Configuration de WinSCP
Sous New Session, faites les configurations suivantes%nbsp:
- File protocol: Amazon S3
- Host name: object-arbutus.cloud.computecanada.ca
- Port number: 443
- Access key ID: 20_DIGIT_ACCESS_KEY
Cliquez sur le bouton Save.
Cliquez ensuite sur le bouton Edit puis sur le bouton Advanced… Suivez Environment → S3 → Protocol options et dans le champ URL style, changez Virtual Host pour Path comme dans l’image ci-dessous.
Il est important d’entrer Path dans le champ URL style, autrement WinSCP ne fonctionnera pas et vous obtiendrez des messages d'erreur de nom d'hôte comme celui-ci
Utilisation
Cliquez sur le bouton Login et utilisez l’interface de WinSCP pour créer des buckets et y transférer des fichiers.
Listes de contrôle d'accès et politiques
Faites un clic croit sur un fichier pour faire afficher la fenêtre de configuration.
AWS CLI
Le client awscli
fonctionne aussi avec le service de stockage objet; il offre un meilleur support pour les grands fichiers (>5Go) en plus de la commande utile sync
command. Notez cependant que nous n'avons pas testé toutes les fonctionnalités
Installation
pip install awscli awscli-plugin-endpoint
Configuration
Générez l'ID de la clé d'accès et la clé secrète.
openstack ec2 credentials create
Modifiez ou créez ~/.aws/credentials
et ajoutez les renseignements qui viennent d'être générés.
[default] aws_access_key_id = <access_key> aws_secret_access_key = <secret_key>
Modifiez ~/.aws/config
et ajoutez la configuration suivante :
[plugins] endpoint = awscli_plugin_endpoint [profile default] s3 = endpoint_url = https://object-arbutus.cloud.computecanada.ca signature_version = s3v4 s3api = endpoint_url = https://object-arbutus.cloud.computecanada.ca
Utilisation
export AWS_PROFILE=default aws s3 ls <container-name> aws s3 sync local_directory s3://container-name/prefix
Pour plus d'exemples, voir https://docs.ovh.com/us/en/storage/getting_started_with_the_swift_S3_API/.