こんにちは。今回はクラウドストレージで何を使用しているか迷っている方に向けてGoogle Drive、Dropbox、AWS S3を比較しそれぞれの特徴をお伝えします。比較の内容として料金や操作感はもちろんですが、プログラム利用性やデータポリシーの観点も考慮して比較しています。
比較サマリ
さっそくサマリから。
Google DriveとDropboxはクラウドストレージとしての認知度が高く、クラウドストレージサービスとして単体で成り立っています。使いやすいUIやスマホの操作性がよいことも特徴として挙げられます。
対して、AWS S3はS3単体で成り立っているというよりも、クラウドサービスのAWSのストレージサービスとしてS3があるという感じです。
AWSというクラウドサービス自体がある程度のITリテラシーを求めるような側面があり、使用するうえで利便性を高めるにはユーザー自身の工夫が求められます。
今回はGoogle DriveとDropboxという操作性が高いサービスと、ユーザー自身の工夫が必要となるAWS S3を比較して、コストメリットやデータポリシーの違いなどを説明します。
料金の比較
それぞれのクラウドストレージは使用する容量によって最安のクラウドストレージが何か変わってきます。
使用量ごとの料金を以下のように図にしています。
Google DriveとDropboxの料金は従量課金というよりも、プランごとで使用できる容量と料金が変わってくるような形です。
対してAWS S3はGB単位の従量課金なので、図のように使用量と料金は比例しています。
また、使用量に対しての最安のサービスを見てみると、それぞれのサービスで最安となる区間が出てきます。
使用量200GBまではGoogle DriveとAWS S3が最安値を争っていますが、200GB~400GBあたりはAWS S3が最安となります。
それから、440GBあたり~2TBはDropboxが最安となります。
そのため、どれくらい使用するかある程度見極められるのであれば、最安のサービスを選択しやすいことが分かります。
料金を一番重視するのであれば、上記をもとにどのサービスが良い選択してみてください。
ただし、クラウドストレージの料金は価格改定により変更されている場合もあるため、以下のリンクから現在の価格を確認することをオススメします。
AWSの料金に関する補足
上記のAWS S3の料金はストレージの使用量による料金を記載しています。ただし、データの取り出しなどでさらに料金が発生する場合があるので、もう少し金額が上がる可能性があります。
AWSはデータ通信量によっても料金が発生することを考慮しておいてください。
また、AWSのクラウドストレージはS3以外にもあります。
例えば、データの取り出しに時間はかかりますが、AWS S3 Glacierは1GBあたり0.5円/月(S3は1GBあたり2.75円/月)の超格安サービスです。ほとんど取り出すことのないデータであればこちらを利用することで費用を抑えられます。
直観的操作・プログラム操作の比較
直観的操作
直観的操作はサマリに記述の通り、Google DriveおよびDropboxが優れます。
デスクトップアプリをインストールしていれば、設定したフォルダにファイルを入れておくだけでクラウドストレージに自動で同期されます。
また、スマホ用のアプリも用意されているのでスマホからファイルにアクセスすることも容易です。
一方、AWS S3はデスクトップアプリやスマホアプリはありません。
ファイルのアップロードはWEBブラウザからAWSコンソールにアクセスして行うか、WinSCPなどのクライアントソフトを用いることでGUI操作ができます。
プログラム操作
Google DriveおよびDropboxにはAPIが用意されており、API経由でプログラムから操作することができます。
Google DriveではAPIのほかPyDriveというPythonライブラリも提供されており、プログラム操作も問題なく行えます。
また、DropboxでもSDKが用意されており、PythonやJavaなどからプログラム操作が可能です。
AWSはSDKのほかにコマンドラインを提供しています。各プログラム言語からの操作も容易なほか、バッチやシェルスクリプトでの実行もしやすくなっています。
逆に、AWSはある程度自分でプログラムを用意して使わないと日常利用のクラウドストレージとしては使いにくい(WEBブラウザ開いたりして面倒)です。
AWS S3用ソースコード
AWS S3を日常利用しやすくするためのソースコードを簡単ながらアップしておきます。
import boto3
import glob
# Define
ACCESS_KEY = "XXXXXXXXXXXXXXXXXXXXX"
SECRET_ACCESS_KEY = "XXXXXXXXXXXXXXXXXXXXX"
BACKET_NAME="XXXXXXXXX"
TRANSPORT_DIR="C:\\XXXX\\YYYY\\ZZZZ\\**\\*"
LOCAL_BASE_DIR="C:\\XXXX\\YYYY\\"
def main():
files = glob.glob(TRANSPORT_DIR, recursive=True)
for file in files:
print(put_item(file))
def put_item(file):
aws_client = boto3.client('s3',
region_name = "ap-northeast-1",
aws_access_key_id = ACCESS_KEY,
aws_secret_access_key = SECRET_ACCESS_KEY
)
sess = boto3.session.Session(
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_ACCESS_KEY
)
s3=sess.resource('s3')
try:
bucket = s3.Bucket(BACKET_NAME)
bucket.upload_file(file,file.replace(LOCAL_BASE_DIR,"").replace("\\","/"))
return "Success"
except Exception as e:
return str(e)
if __name__ == '__main__':
main()
上記はバケット名:XXXXXXXXXに対して、「C:\XXXX\YYYY\ZZZZ」配下のフォルダとファイルをすべてアップロードするPythonプログラムです。
このようなプログラムを用意しておき、アップロードしたいタイミングで実行するとわざわざWEBブラウザを開く必要はなくなります。
他にも、以下のようにバッチで同期する操作も可能です。
※ あらかじめAWS CLIをインストールしてください。
@echo off
aws s3 sync . s3://my-bucket/path
exit
AWSコマンドを参照してカスタマイズして使えます。
上記のようにプログラムを用意することでAWS S3の利便性を向上させれば、日常利用のクラウドストレージとして利用できるようになります。
データポリシーの比較
最後の比較はデータポリシーについてです。
意外と見落としがちなのが、クラウドストレージにアップロードしたファイルのポリシーです。
重要なのは、サービスによってはサービス提供元の会社からファイルにアクセスされる可能性があるということです。
企業秘密のデータなど絶対に他者からアクセスしてほしくないデータがある場合は注意が必要です。
料金・使いやすさのほかにもポリシーまで考慮してクラウドストレージを選んでみてください。
また、以下に規約を抜粋していますが、これらは変更される場合があるので念のため確認することをオススメします。
Google Driveのデータポリシー
ファイルの所有権はユーザーです。
しかし、
Google は、コンテンツが違法か否か、または Google のプログラム ポリシーに違反しているか否かを判断するために、コンテンツを審査することができます。さらに、Google は、Google のポリシーまたは法律に違反していると合理的に判断したコンテンツを削除したり、その表示を拒否したりできます。
とあるように、ファイルの中身のチェックがある可能性を考慮しておくべきです。
上記は「一般公開されているコンテンツに限り」などという文言はないので、非公開のコンテンツに対して審査が行われるのか不明です。
Google Driveに限らず、Googleのサービスを利用する際は以下の規約にも注意が必要です。
適用される法律、規制、法的手続きまたは強制力のある政府機関の要請に応じるため、情報が開示される可能性があります。
Google は、個人情報へのアクセス、使用、保存、または開示が以下の理由で合理的に必要だと誠実に判断した場合、その情報を Google 以外の者と共有します。
これは法的手続きなどの対象にならない限りは問題ないと思います。
Dropboxのデータポリシー
Google Driveと同様に、データアクセスの可能性があります。
本サービスをご利用いただく場合、お客様は、ファイル、コンテンツ、メッセージ、連絡先リストなど(以下「お客様のデータ」)を Dropbox に提供します。お客様のデータは、お客様に所有権があります。本サービスを提供する上で必要となる限定的な権利を除き、本規約によりお客様のデータに対して Dropbox に権利が付与されることはありません。
Dropbox では、(1) お客様との契約に従って Dropbox サービスをお客様に提供するため、(2) Dropbox のサービスおよび事業の運営による正当な利益を増進させるため、および (3) お客様の合意に基づいて、お客様のデータを処理します。場合によっては、適用される法律、法的手続き、規制に準拠するため、または、死亡や深刻な身体損傷からあらゆる人を守るため、さらには、公益のために業務を遂行するために、お客様のデータを処理することがあります。
また、販売することはないものの、情報を共有できるようなポリシーとなっています。
Dropbox は、以下に記載しているように情報を共有することができますが、第三者や広告主に情報を販売することはありません。
AWSのデータポリシー
AWSのポリシーはGoogle DriveやDropboxと比較すると安心できる内容だと思いました。
いかなる目的であっても、AWS はお客様の同意を得ることなく、お客様のコンテンツにアクセスしたり、それを使用したりすることはありません。マーケティングや広告のために、お客様のコンテンツを使用したり情報を抜き出したりすることはありません。
政府機関が AWS に対しお客様のコンテンツを請求した場合、当社は、当該政府機関に対してお客様に直接そのデータを請求するように要請します。やむを得ない事情によりお客様のコンテンツを政府機関に開示する場合、当社は、AWS が法律によってそうした行為を禁じられていない限り、当該請求に関する合理的な通知をお客様に送付し、お客様が秘密保持命令またはその他適切な救済措置を求められるようにします。
おわりに
今回はGoogle Drive、Dropbox、AWS S3を例に挙げて比較しました。
それぞれのサービスに一長一短があり、特にどれくらいの使用量を見込んでいるかによって最安も変わってくるので、一概にどれがオススメとは言えません。
しかし、クラウドストレージを選ぶ際は「料金・直観的操作・プログラム操作・データポリシー」の観点をどのように比較すればよいか少しでも参考にしていただけると嬉しく思います。