Configuration du stockage objet S3
Parsec est compatible avec différentes solutions de stockage objet, notamment :
Amazon S3 ou tout stockage compatible S3 comme Outscale OOS (la plupart des fournisseurs de stockage proposent des API compatibles S3)
Une configuration RAID combinant plusieurs stockages
Le déploiement le plus courant utilise un stockage compatible S3.
Ce guide fournit des instructions pour configurer un bucket compatible S3 pour une utilisation avec Parsec.
Note
Parsec utilise le stockage objet de manière très basique : il ne fait que lire des objets existants et en créer de nouveaux. Il n’y a ni suppression ni listage des objets existants. Par conséquent, l’activation du versionnage pour le bucket n’est pas strictement obligatoire, mais elle est fortement recommandée pour éviter la perte de données en cas d’écrasement d’un objet existant (puisque S3 utilise une cohérence éventuelle, la politique s3:PutObject permet toujours d’écraser un objet existant).
Prérequis
Un compte auprès d’un fournisseur de stockage compatible S3
La CLI AWS
Les permissions appropriées pour créer des buckets et gérer les politiques
Créer le bucket
Créer un nouveau bucket pour le stockage des données Parsec :
aws s3api create-bucket \
--bucket <BUCKET_NAME>
Remplacez <BUCKET_NAME> par le nom de bucket souhaité.
Note
La commande exacte peut varier selon votre fournisseur de stockage. Consultez la documentation de votre fournisseur pour la syntaxe appropriée de la commande.
Par exemple, avec Outscale :
aws s3api create-bucket \
--profile <PROFILE_NAME> \
--endpoint https://oos.eu-west-2.outscale.com \
--bucket <BUCKET_NAME>
Activer le versionnage
Activez le versionnage sur le bucket pour protéger contre les écrasements accidentels :
aws s3api put-bucket-versioning \
--bucket <BUCKET_NAME> \
--versioning-configuration Status=Enabled
Limiter l’accès avec un utilisateur dédié
Pour des raisons de sécurité, créez un utilisateur IAM dédié avec des permissions restreintes aux seules opérations nécessaires.
La politique de bucket suivante accorde uniquement les permissions nécessaires pour que Parsec fonctionne :
aws s3api put-bucket-policy \
--bucket <BUCKET_NAME> \
--policy '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<ACCOUNT_ID>:root"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::<BUCKET_NAME>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<ACCOUNT_ID>:root"
},
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::<BUCKET_NAME>"
}
]
}'
Remplacez les espaces réservés suivants :
<BUCKET_NAME>: le nom de votre bucket<ACCOUNT_ID>: l’ID de compte AWS ou l’utilisateur IAM nécessitant l’accès