web-dev-qa-db-ja.com

重複が既存のS3バケットに書き込まない

次のコマンドを使用して、既存のAmazon S3バケットにディレクトリをバックアップしようとしています。

duplicity --no-encryption system/ s3+http://MY_BUCKET_NAME/backup

ただし、次のエラーが一貫して発生します。

S3CreateError: S3CreateError: 409 Conflict
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>BucketAlreadyOwnedByYou</Code><Message>Your previous request to create the named bucket succeeded and you already own it.</Message><BucketName>vacationlabs</BucketName><RequestId>3C1B8C49469E3374</RequestId><HostId>4dU1TKf3Td6R0yvG9MaLKCYvQfwaCpdM8FUcv53aIOh0LeJ6wtVHHduPSTqjDwt0</HostId></Error>
  1. S3バケットは空であり、backupディレクトリがありません
  2. バケットはシンガポール地域にあります
7
Saurabh Nanda

Duplicityは、次の形式のAmazon S3 URLもサポートしています。

s3://Host/bucket_name[/prefix]

ここで、Hostはお住まいの地域のS3エンドポイントであり、 Amazonのエンドポイントのリスト にあります。

あなたの場合、あなたが望むURLは:

s3://s3-ap-southeast-1.amazonaws.com/MY_BUCKET_NAME/backup

ご了承ください:

  • Duplicityは引き続き、米国標準およびEUリージョンでのみバケットを作成できます。つまり、手動でバケットを作成する必要があります(すでに持っている)。

  • US Standard以外のリージョンでは、Duplicityコマンドラインに--s3-use-new-styleを追加して、DuplicityにAmazonの「新しいスタイル」のサブドメインバケットアドレス指定を使用させることができます。

11
Jeffery To

@mgorvenは正しいので、これを適切に修正しようと思います。これを修正したい場合は、影響を受けていることをマークして、サブスクライブしてください https://bugs.launchpad.net/duplicity/+bug/1003159

s3://<region>/<bucket>構文は(もう)機能しません。s3+http://<bucket>を指定した場合にのみ、us-east-1またはeu-west-1を使用する--s3-european-bucketsを実行できます。他の地域には行けません。

1
Ian Gibbs

duplicity manpage に基づくと、それは米国とEUのS3リージョンのみをサポートしているようです。米国のエンドポイントと通信していて、バケットが米国の地域に存在しないことを検出し、それを作成しようとして失敗したと思います。

米国またはEU地域でバケットを作成し、それが機能するかどうかをテストしてみてください(必要に応じて--s3-european-bucketsを使用)。それが機能し、本当にシンガポール地域を使用したい場合は、Duplicityをハックしてサポートする必要があります。

1
mgorven