2019年11月
S M T W T F S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

このブログ内を検索

アーカイブ

ATOM RSS2.0
<<>>

2019.11.04

13 自己啓発・勉強

AWS認定資格を取ってみる~対策編-ストレージ-S3~

前回からもう一週間が経ってしまいました。時が経つのは早いものですね。
さて今回も引き続き、ストレージサービスです。
SAアソシエイトで必ず出題される、しかも出題数の多いS3についてです。
S3とは、SimpleStorageServiceの略で、バックアップデータや写真、動画など、様々なデータを様々なプラットフォームから利用できるストレージサービスとなります。
とはいっても言葉じゃわかりませんよね^^; 5Gまでは無料なので、とにかく使ってみましょう。
S3では、データをオブジェクトと呼びます。普段使い慣れたフォルダのような概念はなく、バケット(バケツ)を用意し、そこにオブジェクトがフラットに格納されます。
よって、まずバケットを作成しましょう。

バケットにはユニークな名前を付けます。

オブジェクトをバージョン管理することで、誤って変更しても戻すことが可能となります。ここはテストに出るかも。
今回はお試しなので、そのまま次へ進んでください。

デフォルトではインターネット越しにオブジェクトにアクセスできません。S3では、オブジェクトへのアクセスを詳細に設定できますが、今回はお試し目的なので「パブリックアクセスをすべてブロック」のチェックを外します。

これでバケットが作成されます。

このバケットにオブジェクトを追加します。せっかくなので、S3の特徴でもある「静的ウェブサイトホスティング」を試してみましょう。

ホームページなどのウェブサイトを作るには、LinuxにApacheなどのWEBサーバを立ち上げ、ややこしい設定をして・・・と敷居が高かったのですが、S3にコンテンツを載せるだけで、ウェブサイトが超簡単に公開できます。
サーバーサイドスクリプトは使えませんが、javaScriptなどクライアントサイドスクリプトは使えますので、静的といいながら高度なサイトが作れます。
今回はお試しなので、「ハローワールド!」と表示されるサイトを作ってみましょう。
以下のようなhtmlファイルをテキストエディタで作成し、assets/img/フォルダと、適当な画像ファイルを用意してください。

用意できたら早速アップロードしていきましょう。

アップロードはフォルダまるごとドラッグアンドドロップできます。

次へを押し、アクセスの設定をします。

パブリックアクセス許可の管理で、読み取りアクセス権限を付与します。

これでインターネット越しに参照が可能となります。

このオブジェクトをウェブサイトとして使うための設定は、バケットのプロパティから「Static website hosting」を選択して行います。

インデックスドキュメントに、先ほど保存したhtmlのファイル名を指定します。
エンドポイントに表示されているURLが、このサイトへのURLとなります。このURLにアクセスすると、インデックスドキュメントが表示されます。

ブラウザにエンドポイントのURLを張り付けると、この通り!

実際にウェブサービスとして提供するには、DNSやキャッシュ、バランシングなどを組み合わせてやります。
ちなみにARKが提供する介護システムの「あゆむ」のウェブ画面もこの構成を使っています。

また応用として、クライアントからのデータを加工してS3にアップロードすることもできます。
データ加工をJavaのアプリケーションでやろうとすると、先ほどの例のようにLinuxにウェブサーバを立ち上げ、tomcatをインストールしてアプリケーションを配置する、なんて面倒な手順が必要で、しかもウェブサーバをずっと動かし続ける必要があります。
でもアップロードは一日一回、なんてときに24時間365日サーバを動かしつづけると、リソースが無駄ですよね。
そんなときこそAWSの本領発揮です。
Lambdaというイベント駆動型のスクリプト実行サービスを使い、データを加工してS3に格納することができます。
イベントはAPI Gatewayを使い、HTTPで受け取ります。
このように、サーバーレスなサービスが簡単に作れてしまうのです。
ちなみに「あゆむ」も、アプリからのバイタルサインをLambdaを使ってDBに格納しています。

ということで、もう大分長くなってしまったのでそろそろ終わりますが、最後にもう一つだけ!
S3にも種類がありまして、どんなにばかでかいデータも保存できるのですが、データ量に比例してお金がかかります。
そのため、たまにしか使わないデータはお安く格納できる種類があります。
・低頻度アクセス
アクセス頻度が低いデータ向けですが、使いたいときにすぐ使えます。
標準タイプでは複数のアベイラビリティゾーンに保存されるので可用性が高いのですが、このタイプは単一のゾーン保存となるため、可用性が下がります。でもその分お安いです。
・S3 Glacier
アーカイブのように滅多に使わないデータ向けです。特徴は「使いたいときにすぐ使えない」。使うには手続きが必要で、数時間かかることも。Glacierには「迅速取り出し」というオプションもありますが、それでも「すぐには使えない」。
「すぐ使いたい」ときにはGlacierは使えない、ここだけでも覚えておけば、良いことあるかも!?

開始から早一か月半、そろそろ折り返し地点が見えてきましたよ。
次回はデータベースを予定してますので、もうひと頑張りしましょう!

このページの先頭へ