Amazon EFSとストレージソフトownCloudを使ってみよう

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon EFSとストレージソフトownCloudで容量無制限のファイル置き場を作ります。

EFS(Elastic File System)は、AWSのマネージドNFSサービス。
容量が無制限(増設作業不要)で、使用したディスク容量分だけ課金されます。

ownCloudは、セルフサービスDropboxと言えば近からずも遠からずなアレです。
URLによるファイルの共有も可能です。

EFS利用方法

EFSはTokyoリージョンでは未だ提供されていない為
[バージニア北部]へ移動してやってみます。


[Create file system]でファイルシステムを作成します。

VPCを選択、マウントターゲット(AZ毎の接続先)にセキュリティグループを設定できます。
今回はマウントターゲットはus-east-1bにだけ、デフォルトのセキュリティグループで作成します。
[Next Step]で次へ。

タグの設定、パフォーマンスモードの選択。
Nameキーを[owncloud]に、パフォーマンスモードはデフォルトにしました。
[Next Step]で次へ。

設定を確認して[Create file system]。

ファイルシステム作成後、表示されたエンドポイントを利用してマウントします。

# mount -t nfs fs-********.efs.us-east-1.amazonaws.com:/ /mnt

※EFSは1AZでしか有効になっていない為、EC2インスタンスも同じAZ(us-east-1b)に作成しておきます。
※セキュリティグループでEC2→EFSが許可されている必要があります。

下記のように、EFS領域が表示されればOK!

# df -h
Filesystem                                 Size  Used Avail Use% Mounted on
devtmpfs                                   488M   60K  488M   1% /dev
tmpfs                                      498M     0  498M   0% /dev/shm
/dev/xvda1                                 7.8G  1.6G  6.1G  21% /
fs-********.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /mnt

fstabにも追記しておきましょう。

# vi /etc/fstab
-----追記-----
fs-********.efs.us-east-1.amazonaws.com:/   /mnt   nfs   defaults   0   0

ownCloudインストール

インストールは基本的にここに従って実施すればOKです。

ownCloudをyumでインストール。

# rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key
# wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo
# yum install owncloud php56-common mysql-server

依存性の関係で、php56-commonを指定してあげる必要があります。
MySQL(もしくはMariaDB)はownCloud推奨です。インストールしない場合はSQLiteが使用できます。

Apacheを起動し、

# /etc/init.d/httpd start

MySQLも起動し、ownCloud用ユーザとデータベースを作成します。

# /etc/init.d/mysqld start
# mysql -u root
mysql> create database owncloud;
mysql> grant all privileges on owncloud.* to "owncloud"@"localhost" identified by "********";
mysql> flush privileges;

※ユーザ名、データベース名ともに「owncloud」としてあります。

ownCloud領域をEFSへ移動し、リンクを貼りましょう。

# mv /var/www/html/owncloud /mnt/
(若干時間がかかります)

# ln -s /mnt/owncloud /var/www/html/owncloud

http://サーバIP/owncloud/ に接続し、各項目を入力してセットアップを完了させます。

※セットアップ完了まで若干時間がかかります。

終わったら、ownCloudが利用できるはず。
EFS利用なので、容量の心配はありません!
(EFSの課金額とファイルの誤削除に気をつける必要はある)

長く使うのであれば自動起動設定も忘れずに。

# chkconfig httpd on
# chkconfig mysqld on

グローバルIP変更時

最初からEIPを使用していれば無用な心配ですが、
グローバルIPが変更になるとownCloudアクセス時に下記エラーになります。

その場合はownCloudの設定ファイル↓で、IPを保持している部分を書き換えればOKです。

# vi /var/www/html/owncloud/config/config.php
~
  'trusted_domains' =>
  array (
    0 => '54.***.***.***',
  ),
  'datadirectory' => '/mnt/owncloud/data',
  'overwrite.cli.url' => 'http://54.***.***.***/owncloud',
~

投稿者プロフィール

sato
2015年8月入社。大学は英文科で、7月より情報系の勉強を始めました。
当面は技術者目指して頑張ります!

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

2015年8月入社。大学は英文科で、7月より情報系の勉強を始めました。 当面は技術者目指して頑張ります!