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]。

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

1 |
# mount -t nfs <span style="color: #ffff00"><strong>fs-********.efs.us-east-1.amazonaws.com</strong></span>:/ /mnt |
※EFSは1AZでしか有効になっていない為、EC2インスタンスも同じAZ(us-east-1b)に作成しておきます。
※セキュリティグループでEC2→EFSが許可されている必要があります。
下記のように、EFS領域が表示されればOK!
1 2 3 4 5 6 |
# 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% / <span style="color: #ffff00">fs-********.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /mnt</span> |
fstabにも追記しておきましょう。
1 2 3 |
# vi /etc/fstab -----追記----- fs-********.efs.us-east-1.amazonaws.com:/ /mnt nfs defaults 0 0 |
ownCloudインストール
インストールは基本的にここに従って実施すればOKです。
ownCloudをyumでインストール。
1 2 3 |
# 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 <span style="color: #ffff00"><strong>php56-common</strong></span> mysql-server |
依存性の関係で、php56-commonを指定してあげる必要があります。
MySQL(もしくはMariaDB)はownCloud推奨です。インストールしない場合はSQLiteが使用できます。
Apacheを起動し、
1 |
# /etc/init.d/httpd start |
MySQLも起動し、ownCloud用ユーザとデータベースを作成します。
1 2 3 4 5 |
# /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へ移動し、リンクを貼りましょう。
1 2 3 4 |
# mv /var/www/html/owncloud /mnt/ (若干時間がかかります) # ln -s /mnt/owncloud /var/www/html/owncloud |
http://サーバIP/owncloud/ に接続し、各項目を入力してセットアップを完了させます。

※セットアップ完了まで若干時間がかかります。
終わったら、ownCloudが利用できるはず。
EFS利用なので、容量の心配はありません!
(EFSの課金額とファイルの誤削除に気をつける必要はある)
長く使うのであれば自動起動設定も忘れずに。
1 2 |
# chkconfig httpd on # chkconfig mysqld on |
グローバルIP変更時
最初からEIPを使用していれば無用な心配ですが、
グローバルIPが変更になるとownCloudアクセス時に下記エラーになります。

その場合はownCloudの設定ファイル↓で、IPを保持している部分を書き換えればOKです。
1 2 3 4 5 6 7 8 9 |
# vi /var/www/html/owncloud/config/config.php ~ 'trusted_domains' => array ( 0 => '<span style="color: #ffff00"><strong>54.***.***.***</strong></span>', ), 'datadirectory' => '/mnt/owncloud/data', 'overwrite.cli.url' => 'http://<strong><span style="color: #ffff00">54.***.***.***</span></strong>/owncloud', ~ |
投稿者プロフィール
- 2015年8月入社。弊社はインフラ屋ですが、アプリも作ってみたいです。