Articles Comments

ちからの備忘録的日記 » Archive

OpenStack Swift S3互換API(Swift3) を試してみる

OpenStack Swift S3互換API(Swift3) を試してみる

Swift S3互換APIとは 「Misc — Swift v1.3.0 documentation#Swift3」から引用。 S3 REST API を Swift でエミュレーションするAPIとのことです。現状サポートしているAPIは、以下の通り。 GET Service DELETE Bucket GET Bucket (List Objects) PUT Bucket DELETE Object GET Object HEAD Object PUT Object PUT Object (Copy) おそらくアカウント、ユーザの考え方が Swift と S3 では異なるので、いろいろ制限事項があるようです。たとえば、ユーザ跨ぎのオブジェクトコピーはいけるが、アカウント跨ぎでのオブジェクトコピーができないなど。 Swift S3互換API を使うために必要な設定 「Misc — Swift v1.3.0 documentation#Swift3には変更の必要性の記載はあるが、変更方法が記載されていません。。。 「Question #154332 : Questions : OpenStack Object Storage (swift)」の情報を元に記載します。 proxy-server.conf の変更 [pipeline:main] # 順番が重要です。必ず以下のように記載してください。 pipeline = healthcheck cache swift3 swauth proxy-server # こちらは単純に追加 [filter:swift3] use = egg:swift#swift3 設定を変更したら、proxy-server を再起動して変更を反映させます。 $ swift-init proxy restart 以上で、S3 互換API を使うためのサーバ側の設定は完了です。 さっそくS3クライアントからつないでみる s3curl が一番手軽ですので、これで試してみます。 s3curl インストール・設定 # wget http://s3.amazonaws.com/doc/s3-example-code/s3-curl.zip # unzip s3-curl.zip # cd s3-curl # chmod +x s3curl.pl 自分の swift 用に s3curl.pl の endpoints を編集します。 ■ … Read entire article »

Filed under: cloud