サーバー データを S3 にバックアップしようとしていますが、成功しません。以下は、S3 でバックアップを開始するために実行するスクリプトです。
IAM を使用してユーザーを作成し、そのユーザーにすべての権限を付与しました。
#!/bin/bash
export AWS_ACCESS_KEY_ID="access key goes here"
export AWS_SECRET_ACCESS_KEY="secrete key goes here"
export PASSPHRASE="passphrase goes here"
duplicity --no-encryption demo/* s3+http://s3.amazonaws.com/[backet-name] &>> backups.log
AWS_ACCESS_KEY_ID=""
AWS_SECRET_ACCESS_KEY=""
PASSPHRASE=""
以下はログの出力です。
Import of duplicity.backends.dpbxbackend Failed: No module named dropbox
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
No signatures found, switching to full backup.
Failed to create bucket (attempt #1) 's3.amazonaws.com' failed (reason: S3ResponseError: S3ResponseError: 403 Forbidden)
答え1
ユーザー権限を調整する必要があります:
オプション1
S3 ユーザーに S3 フルアクセス権限を追加します。
- IAM / ユーザー / 権限とポリシーを添付する
- ポリシー「AmazonS3FullAccess」を追加する
オプション2
ユーザーにカスタム ポリシーを追加します。
バケットに移動プロパティそして、権限タブ、選択バケットポリシーを追加するこれをコピーします:
{
"Statement": [
{
"Principal": {
"AWS": "*"
},
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my-bucket-name/*", "arn:aws:s3:::my-bucket-name"]
}
]
}
交換する私のバケット名もう一度お試しください。問題なく重複バックアップをアップロードできるはずです。