CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今回の「今からはじめる Amazon Web Services」は、AWSが提供するサービスのなかでもEC2と並んで使用頻度の高い「S3」を取り上げ、その概要と使い方を紹介していきましょう。
まず、Amazon S3について簡単に概要を説明しましょう。
Amazon Simple Storage Service(Amazon S3)は、容量無制限のオンラインストレージのWebサービスです。AWSは2006年にサービス提供を始めましたが、その時に最初に提供されたサービスの一つでもあります。Webサイトのホスティング、画像データなどのホスティング、バックアップストレージなどに使用されており、S3を単独で使用することも、EC2などと連携して使用することもできます。
S3は、AWSのその他のサービスと同様に「拡張性」に優れ、99.999999999%という高い「耐久性」を持ちます。この耐久性は、こちらの記事によると、S3に1万個のオブジェクトを保存したとして、そのうちの1つが障害によって失われるのに平均で1000万年ほどかかるレベルということです。また、自動冗長化、暗号化、バージョン管理、アクセス制御、自動アーカイブ機能といった特長を備えています。
S3では、「バケット」と呼ばれるリソースにオブジェクトとしてデータ(ファイル)を保管します。バケットには、フォーマットを問わず、オブジェクトをいくらでも保管できます。ただし、1つのオブジェクトの最大サイズは5TBで、1回のPUTリクエストでアップロード可能な最大サイズは5GBとなっています。オブジェクトはAPIを通して保管がおこなわれ、ウェブ上のどこからでもシンプルなRESTインターフェイスによってアクセスすることができます。一般的なファイルサーバーとは若干異なることに注意しましょう。
S3についてもっと詳細を知りたい場合は、AWSが提供しているドキュメントを読んでみるとよいでしょう。
それでは、実際にS3を使ってみましょう。
1. AWS管理コンソールにサインインします。
2. 管理コンソールにサインインしたら、「S3(スケーラブルなクラウドストレージ)」を選択します。
3. 「バケットの作成」という青いボタンをクリックします。
4. バケット名とリージョンを入力します。バケット名は、S3全体で一意となる必要があります。バケット名は、オブジェクトにアクセスする際のURLにも含まれるので、DNS命名規則に従う必要もあります。特に、バケット名に「ドット」を入れてしまうと、オブジェクトにSSLでアクセスした時に、SSL証明書の警告が出てしまいますので注意が必要です。
5. バケットが作成できたら、バケット名をクリックしてバケットの管理ページに入ります。「アップロード」という青いボタンをクリックすれば、オブジェクトをアップロードすることができます。
6. アップロードされたオブジェクトは、右クリックメニューから「開く」「ダウンロード」「削除」などの操作をすることができます。
7. オブジェクトにアクセスするためのURLを公開したい場合には、右クリックメニューから「プロパティ」をクリックし、「アクセス許可」を設定します。被付与者に「全員」や「認証済みユーザー」などを適切に設定することでセキュリティを担保することができます。
8. URLで公開できるようにした場合には、以下のいずれかでブラウザなどからアクセスできます。SSLでアクセスすることもできますし、バケット名をサブドメインとして指定することもできます。
(バケット名がshiojiriosslabo、オブジェクト名がhoge.pngの場合)
Amazon S3の課金は、以下の3つで構成されます。
1. ストレージ容量
まずは、単純に保存されているデータ容量によってされる課金です。例えば、アジアパシフィックリージョン(東京)の標準ストレージに、100GBを1ヶ月保存すると 3.30$ となります。ちなみに、標準ストレージより冗長性レベルが下がる低冗長化ストレージを選択すれば 2.64$ となります。なお、データ容量と利用形態によっては、アーカイブおよび長期バックアップを目的としたストレージサービスである「Amazon Glacier」への移行も検討したほうがよいでしょう。
2. データ転送
次に、送信(S3からのダウンロード)による課金です。例えば、1ヶ月に30GBをダウンロードすると 4.06$ となります。なお、受信(S3へのアップロード)は無料です。また、同一リージョン内のAWSサービス間の通信、例えば、S3とEC2間の通信は送信も受信も無料です。
3. リクエスト数
最後に、I/Oリクエストに対しての課金です。例えば、GETリクエストが1ヶ月に300,000件あった場合には 0.12$、PUTリクエストが30,000件あった場合には 0.15$ となります。
ちなみに、無料枠では、5GBの標準ストレージ、20,000件のGETリクエスト、2,000件のPUTリクエストを使うことができます。
今回は、Amazon S3の基本的な使い方を紹介しました。EC2との連携などの実践的な使い方は、また別の機会に説明したいと思います。
次回は、Amazon Relational Database Service(RDS)を取り上げます。クラウド上で簡単にリレーショナルデータベースサービスを利用できるRDSの内容や使い方を紹介します。お楽しみに!
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes