フォーム読み込み中
2022年06月17日掲載
5月27日に、Alibaba Cloudの技術Meetupである、Alibaba Cloud Developers Meetup #21 が開催されました。まずはご参加・ご視聴頂いた皆さま、および登壇者や関係者、運営に携わっていただいた皆さま、ありがとうございました。
さて、ここにてイベントレポートというかプレゼン内容を振り返って、blogにて残しつつ、微力ながらNextCloudの取り組みについて情報発信してみます。
NextCloud はクラウドやオンプレミスなどのサーバにデータを暗号化しながら保存することができる無料のオープンソースです。NextCloudはDropbox、Google Drive、OneDriveといったクラウドストレージの代替品で、2016年にクラウドベースのSaaSソフトウェアであるOwncloudのフォークとして最初にリリースされています。今回、Alibaba Cloudのサーバレス版Kubernetesを使って、NextCloudをデプロイ、および Amazon Web Servicesとの連携をしてみます。
冒頭に述べた通り、NextCloudは、企業や個人向けにクラウドベースのオンラインストレージを構築することができるオープンソースソフトウェアです。NextCloudはクラウドベースなので、Windows/Mac/iPhone/Androidなど複数のオペレーションで利用することが出来ます。元々はownCloud開発者がプラットフォームを開発しましたが、政治的事情など諸事情により、オープンソースへフォーク、2016年6月にリリースしたという経緯があります。
NextCloudは現在日本国内でもポピュラーなので、ここでNextCloudに関する説明は割愛しますが、気になる方はネットで色々調べてみるとよいでしょう。
Nextcloud の進化の歴史と特徴
https://speakerdeck.com/yanotetsuro/stylez-nextcloud-history-and-features
G Suite 移行先に Nextcloud?
https://speakerdeck.com/matoken/g-suite-yi-xing-xian-ni-nextcloud
はじめてさわるOSSでNextCloudサーバを構築
https://speakerdeck.com/misato8310/hazimetesawaruossdenextcloudsabawogou-zhu
NextCloudの土台となるクラウドサービスのランニングコストについて説明します。
NextCloudはオープンソースかつGNU AGPLv3ライセンスなので、ソフトウェア代は不要です。
NextCloudは大抵はAlibaba Cloud ECSやAWS EC2、オンプレミスのサーバなどに構築しますが、今回はServerless Kubernetes (ASK)およびRDS、OSSを使います。NextCloud関連の設定ファイルはCloud Diskという永続ボリュームに保存、およびCloud DiskはスナップショットでBackupを取得します。NextCloudの要であるファイルストレージは外部ストレージのOSS(Object Storage Service)に保存します。そのため、例えばNextCloudが壊れた場合でも、保存ファイルに影響を与えずに済みます。そのため、全体的なランニングコストはかなり安く済むことができます。
以下は、例えば10人を超えるユーザが月7TBを超えるデータを保存したりあれこれ処理したりする場合でも、総計で1ヵ月5万円(1USD=120円)で済みます。通常は毎月20、30万円いきますので、それと比べたら結構お得ですね。
それでは、構築のデモをご覧ください。
さて、本日プレゼンの目玉の一つである、KubernetesによるNextCloudデプロイのデモンストレーション動画を流します。構築内容と環境は次の図の通りです。
以下のデモンストレーション動画をご覧下さい。
このDemoなどでお気づきかもしれませんが、NextCloudの外部ストレージ接続先でAlibaba Cloud OSSは「AWS S3接続先」として接続しています。AlibabaCloud のOSS(Object Storage Service)は、AWS S3のAPIと互換性があります。そのため、NextCloudでAWS S3接続先パスがあったとしても、Alibaba Cloud OSSとして接続することが出来ます。
Seamlessly migrate data from Amazon S3 to Alibaba Cloud OSS
https://www.alibabacloud.com/help/en/object-storage-service/latest/seamlessly-migrate-data-from-amazon-s3-to-alibaba-cloud-oss
今度は、AWS S3とAlibaba Cloud OSS連携Demoをします。流れとしては次の通りです。
①NextCloudの設定を確認
②AWS S3にファイルをアップロード
③ファイルアップロードした内容がNextCloudで反映されてることを確認
④NextCloud画面で、AWS S3にあるファイルをAlibabaCloud OSSへ移動
⑤Alibaba Cloud OSSで移動したファイルがあることを確認
上記Demo通り、KubernetesでNextCloudによるAWS S3 - Alibaba Cloud OSS連携が出来ました。これであれば、既にAWSなどを使っている場合でも、Alibaba CloudとNextCloudによる連携がすぐに実現できます。
しかし、課題がいくつかあります。Alibaba Cloud KubernetesによるNextCloudで、AWS S3からファイルをアップロードしても、NextCloudのシステム構造的な話、オブジェクトスキャン処理の周期からすぐには反映されない課題がありました。
著者は最初、うまく接続できてないかな、と思い、調査してみました。設定周辺を点検しつつ、Chrome DevToolにあるHARファイルからログを確認すると、AWS S3からのファイルアップロードは無事済んでいることが確認できました。さらにNextCloudのソースコードであるphp/javascriptを追って解析したところ、ファイルをアップロードしてもオブジェクトスキャンのタイミング次第では、Webコンソール側で遅れて表示されることが判明しました。
この問題に対し、今回はchromeブラウザのCORS(Closs Origin Resource Sharing)を緩和しつつ、強制再スキャンすることで、AWS S3からのアップロードをすぐ反映するように対処してみました。
ただ、これは美しくないやり方なので、php/javascriptソースコード上で改修が必要そうです。改修する場合、NextCloudのライセンスとしてオープンソースへコミットする必要もあるので、慎重に確認中です。
その他、ファイルアップロードする際、ファイルのサイズが大きいほど、アップロードがうまくいかない、大きなファイルの削除がしにくいなどの課題もありますので、私たちのチームが日々技術的検証中です。乞うご期待。
NextCloudはオフィス版ITとして非常に便利です。さらに、安価であるAlibaba Cloudで構築することで、ランニングコストの抑制もできますし、NextCloudを通じてAWSなどとのマルチクラウドも実現できます。最終的にはクラウドベンダーロックインの脱却として、AlibabaCloud以外、例えばAWSとAzure連携にも使えるようにしたいとは願っています。
Special thanks to lin/bob/nancy.
具体的なACKによるNextCloudの構築手順については、後編記事にてまとめていますので、是非ご覧下さい。
ソフトバンクはAWS アドバンストティアサービスパートナーです
「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。
Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
条件に該当するページがございません