無制限ストレージ with ownCloud and Amazon S3

  • 117
    いいね
  • 0
    コメント

はじめに

【宣伝】ここらへんの情報が詳しく掲載されたownCloud本が出版されました!
https://owncloud.jp/contacts/book

ownCloudセキュアストレージ構築ガイド(Think IT Books)


以前紹介したownCloudとAmazon S3の連携について、素晴らしい記事がありましたので、本人の同意を得て翻訳させて貰いました。


無制限ストレージ with ownCloud and Amazon S3

自分でコントロールできて無制限・安価・冗長化の高いストレージといったら、Amazon S3でしょう。
オープンソースのプロダクトであるownCloudは、Amazon S3と簡単に接続することができます。


ownCloudは、PCやモバイルデバイスでどこにいても、Web経由で自身のファイルにユニバーサルアクセスできます。
また、Web上での基本的な閲覧・編集や、デバイス間での連絡先、カレンダー、ブックマークを同期するプラットフォームを搭載しています。

そんな魅力的なownCloudをAWS Marketplaceで簡単にインストールすることが可能です。
このインストーラは、株式会社Stylezによってパッケージングされています。


以下の記事では、あなた自身のAWSアカウントでownCloudを設定し、Amazon S3の無制限かつ安価なストレージに接続する方法を紹介します。

前提条件

  • AWSのアカウントを取得していること
  • EC2のキーペアを取得していること

ownCloudのセットアップ

ownCloud powered by owncloud.jp にアクセスしてください。
(画面はアカウントによって多少の違いがあります)


  1. Regionを選択します。
  2. インスタンスタイプを選択します。インスタンスタイプは大きいタイプを選択するほどパフォーマンスが高くなります。ownCloudは無料ですが、EC2は時間ごとに課金されます。価格については、画面右の表を参照してください。動作検証にはFree Tier のt1.microを選択してください。インスタンスタイプは後から変更可能です。 3.サーバにSSH接続が必要な場合は、鍵ペアを選択します。

4.Launch をクリックします。

skitch.12.png


数分後、インスタンスが起動し、ownCloudがインストールされます。以下のいずれかでownCloudにアクセスするためのURLを確認してください。

  • software subscribtions page を確認し、“access software”をクリックします。
  • EC2ダッシュボードのインスタンス画面からPUBLIC DNSを確認してください。(上記で選択したReagionであることを確認してください。)

ブラウザにてURLにアクセスすると、以下のownCloudのダッシュボードが表示されます。
skitch.10.png


  • この時点でadminユーザのパスワードが設定されています。再度ログインするためにパスワードを以下の方法で確認しておいてください。(ユーザ管理から新しい管理者ユーザを作成することで以下の作業は不要です。)

1.EC2ダッシュボードのインスタンス画面から対象のインスタンスを[右クリック]->[Instance Settings]->[Get System Log]を選択します。
skitch.55.png

2.ログウィンドウに表示される[owncloud admin password]の内容が初期パスワードです。
skitch.54.png


AmazonS3 と ownCloudの連携

ownCloudを起動したので、無制限の安価で信頼性の高いストレージであるAmazon S3 との連携を行います。


S3 bucketの作成

S3コンソールに移動し、「Create bucket」をクリックします。
skitch.6.png


IAM権限のセットアップ

上記bucketのみにアクセス可能なIAMユーザを作成します。
IAMダッシュボードに移動し、「Create New User」をクリックします。
skitch.9.png


ダウンロードしたAccess Key IDとSecret Access Keyが記載されているCSVを安全に保管しておいてください。後ほど利用します。
skitch.8.png


次にユーザの Permissions タブの「Attach User Policy」をクリックし、アクセス権を定義します。
「S3 full access」を選択してください。
skitch.7.png


skitch.13.png

skitch.4.png


このままでは、すべてのS3にアクセス許可が与えられているので、もう少し詳細な設定として、上記で作成したbucketのみアクセス許可を付与するようにしましょう。
次の内容とおりポリシーを変更します。

{
  "Statement": [
    {
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::*"
    },
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::demo-owncloud","arn:aws:s3:::demo-owncloud/*"]
    }
  ]
}

ownCloudのセットアップ

まずownCloud内左下に「+アプリ」ボタンをクリックし、「External storage support」を有効にします。

skitch.3.png


その後、管理ページに移動し、「External Storage」セクションにて「ストレージの追加」プルダウンメニューから「Amazon S3」を選択します。
skitch.2.png


  • フォルダ名:任意の名称を設定します。
  • Access Key:上記で作成したIAMユーザーのAccess Key IDを入力してください
  • Secret Key:上記で作成したIAMユーザーのSecret Access Keyを入力してください
  • Bucket:上記で作成したBucket名を入力します(例:demo-owncloud)
  • Region:Bucketを作成したRegionを選択します。 例えば、東京では「ap-northeast-1」となります。
  • 適用範囲:この機能を公開するユーザーを設定します。

では、ownCloudからS3にドキュメントがアップロードできるか確認します。
skitch.1.png


実際にS3にドキュメントが存在するか確認します。
skitch.png

上記で完了です。


自身で管理されたownCloudからアップロードしたドキュメントが、安全かつ確実にS3に保存されました。
東京リージョンでは、GBで3.4円という低い価格でトリプルミラーのストレージに保管されることになります。


その他

ownCloudのその他設定や、権限変更については、ownCloudのホームページを確認してください。
日本語フォーラムもあるので活用してください。


更新履歴

  • 2015/01/27 v7.0.3 からデプロイ後、adminパスワードが自動付与されるようになったので、adminパスワードの確認方法を追記しました。
  • 2016/06/26 Qiitaスライドモードに対応してみました
  • 2017/01/04 すみません。ownCloudセキュアストレージ構築ガイドの宣伝を追記しました。