AWSとは

「AWSのチュートリアルで勉強したい!」といった方向けに、これからAWSのチュートリアルについて紹介します。
また、この記事を読んでいる方の中にはAWSについて初心者であったり、ITに詳しくない方にも理解しやすいように「AWSとは何か」から詳しく説明します。
もうすでにAWS自体についてご存じの方は、ここは読み進めていただいて構いません。
AWSとはクラウドコンピューティングの一種で、Amazon社が開発したプラットフォームです。
このAWSは、元々Amazonが社内で蓄積されたデータを処理するために開発されたものです。2006年に一般に製品として販売されるようになってから、どんどん利用者は増え、現在では数百万ものアクティブユーザーがいます。
そのため公的機関や大規模会社から、スタートアップしたばかりの小さな会社まで様々な利用者がいます。
AWSからは、そのような利用者の幅広いニーズに合わせたサービスを提供できるようにたくさんのアプリケーションが用意されています。また、拡張性や柔軟性に優れているため、利用ニーズに対応しやすいといった点も、利点の1つでしょう。
AWSのチュートリアルを試してみよう
AWSの公式サイトにはたくさんの種類のチュートリアルが用意されており、一つのチュートリアルの時間は、比較的短いチュートリアルが多く用意されています。
難易度などにもよりますが10分程度でできるものもあります。そのため、興味があるものや必要と感じるものから手を付けていくのも一つの方法でしょう。
自分に合ったチュートリアルは、チュートリアル画面の左のフィルタリングから検索することもできますので、今回紹介する内容以外にも必要に応じて参考にしてみるとよいでしょう。
おすすめのチュートリアルをご紹介します

AWSにはたくさんの種類のチュートリアルが用意されています。
ご自分のスキルなどに合わせて、必要なチュートリアルを選択するとよいでしょう。
しかし「何から勉強したらよいのかわからない。」といった方のために、代表的なAWSのサービスのチュートリアルについて紹介します。
また、これから紹介する内容は基礎的な内容も含まれるため、どうしてもわからないといった場合には、「わからないジャンルの基礎的な参考書を読む」といった勉強をするとよいでしょう。
IAM
IAMとは、 Identity and Access Management の略称で、AWSのサービスやリソースを安全に管理できる機能です。
IAMを使用することで、アクセスコントロールができます。ユーザーやグループ、権限などを管理できるので、安全にAWSサービスを管理できます。
一般ユーザーがどこまで仮想マシンやデータベースインスタンスなどにアクセス、実行できる範囲を決められます。例えば、インスタンスを起動できる人を決められるなど、リソースごとに実行できる人を定義することも可能です。
また、ユーザーに個別で認証情報をリクエストすることが可能です。これはどういったことかというと、例えばユーザーのアクセス元のIPアドレス、SSLを使用しているかどうか、多要素認証かどうかなどセキュリティ対策も設定できる点もAIMの利点です。
このような設定を自分で1から設定すると手間や人的コストがかかってしまいますが、IAMを利用することでこのようなコストを削減できます。管理する人は、これまで上記のようなことにかけていた時間を別のことに活用することもできます。
そして、IAMは追加料金なしで使用が可能です。そのため、「どうしてもつけたくない」といった希望がなければ、安全にサービスを利用するためにもこの機能を使用するとよいでしょう。
おすすめのチュートリアル
おすすめのチュートリアルは「IAM ユーザーガイド」です。こちらのチュートリアルは動画ではなく文書での説明にはなりますが、担当者の方が簡単に利用できるようにわかりやすく説明されています。
また、AWSはチューリアルとは別にベストプラクティスというものを用意しています。ベストプラクティスでは、IT担当者や開発する人向けに役立つ情報を提供しています。
ただ、こちらは英語での説明になるため、日本語の説明が良い方は先ほどのチュートリアルで練習してみるとよいでしょう。
ストレージ
ストレージという単語は、よく皆さんもスマホやIPhoneで「ストレージの空き容量が不足しています」などの表示が出てくるため見かける単語かもしれません。
ストレージとは「データの保存場所」を意味します。
AWSではストレージにはたくさんの種類のストレージサービスが用意されています。必要に応じてサービスを利用し、基板設計を始めましょう。
おすすめのチュートリアルとその流れ
AWSで用意されているチュートリアルは「静的ウェブサイトをホスト」、「ファイルを保存および取得」、「テープをクラウドストレージに置き換える」、「コンプライアンスアーカイブを設定」があります。
チュートリアルまでの流れを説明します。例として、「ファイルを保存および取得」についてみてみましょう。
まずは、これまでと同様にチュートリアルのハンズオン画面を表示しましょう。そして画面の検索窓でストレージを検索し、「ファイルを保存および取得」をクリックします。
このページでは、mazon S3バケットの作成、ファイルのアップロード、ファイルの取得、ファイルの削除など簡単な操作方法について学べます。
順を追って説明していきます。まず、バケットの作成についてです。
バケットとは、ファイルを保存するためのコンテナを指します。チュートリアルではAmazon S3 バケットを作成します。
ダッシュボードを開き「バケットを作成する」をクリックし、バケット名を決めましょう。この時にバケットの名前はほかのバケット名と被らないようにしてください。
バケットを作成できたら次はオプションについて学びましょう。チュートリアルで紹介されたオプションは「バージョニング」「サーバーアクセスロギング」「タグ」「オブジェクトレベルのロギング」「デフォルトの暗号化」などです。
チュートリアルでは無効で設定するとされていますが、簡単にオプションの内容について説明します。
まずはバージョニングです。バージョニングとは、1つのバケットの中にいくつかのオブジェクトを持つ方法です。これを利用することで複数のオブジェクトを簡単に格納・取得・復元できます。
オブジェクトは上書きできるため、後で変更ができます。また、バージョンが保管されているため、「やはり前の状態に戻したい」といった場合にもすぐに前のバージョンに戻すことが可能です。
次に、サーバーアクセスロギングについてです。サーバーアクセスロギングとは、名前の通りサーバーへのアクセスログを収集するオプションです。
デフォルトではアクセスログを集めてはくれないため、ログを収集したい場合にはこちらで設定するようにしましょう。また、ログの形式等についてもここで設定できます。
このオプションはログ記録を有効にしても追加料金はかかりませんが、ログファイルを格納する際には通常料金がかかります。
3つ目にタグの設定です。タグはコスト請求タグと言って、例えばプロジェクトごとに請求を別にしたい場合、このタグを設定します。コスト割り当てタグはキーと値のペアで、ユーザーがタグ付けできます。
4つ目はオブジェクトレベルです。オブジェクトレベルのロギングは、AWSのアカウントで発生したアクティビティなどを追跡できるオプションのことです。
例えば、「AWSのマネジメントコンソールでどのようにアクションしたか」などが可視化されるため、何かあったときのリスク管理や、コンプライアンス、運用などが容易になります。
最後にデフォルトの暗号化です。デフォルトの暗号化は、先ほど説明したバケットの作成と関連してきます。このオプションを設定しておくことで、バケットにデータを保存する際にデータが暗号化されます。また、データを取り出すためのキーの種類も選択できます。
上記のように様々なオプションがありますので必要に応じて利用してください。また、バケットのアクセス許可を指定して、「バケットを作成する」を選択したら、初めの手順は終わりです。
次にファイルのアップロードです。S3コンソールに先ほど登録したバケットが表示されるので、そのバケットに移動し、「アップロード」を選択します。この際に、アクセス許可の設定や、メタデータの設定なども決められるのですが、今回はそのままにして先に進めましょう。
次に、ファイルのダウンロードです。これは簡単で、ダウンロードしたいファイルの隣にあるチェックボックスをオンにして、ダウンロードを選択します。これでダウンロードの手順は完了です。
最後に、削除です。削除したいオブジェクトの横のチェックボックスをオンにして、詳細から削除を選びましょう。使わないバケットを保持し続けていると不要に課金されてしまうので、そういったことがないように不必要なバケットは削除するようにしましょう。
以上が、「ファイルを保存および取得」の流れでした。チュートリアルでは、オプションの説明などは割愛されていましたが、関連から詳しく調べることもできますので必要に応じて調べてるようにしましょう。
ロードバランサー
Webサイトを訪問した時に「アクセスが集中しています。しばらくたってからアクセスしてください。」といった内容の文言を目たことがある方もいるでしょう。
これは、ユーザーのアクセス(リクエスト)が集中しているためにアクセスがこれ以上できないようになっている状態ですが、このままリクエストが増えるとシステムはダウンしてしまいます。
ロードバランサーとは、そのような思わぬサーバーのアクシデントが起きないように、アルゴリズムでアクセスを振り分ける機会を指します。つまり、負荷を分散する装置のことです。
これを利用することでアクセスが集中することを防げるため、システムダウンを防ぐ効果もあります。
ロードバランサーの仕組みについて簡単に説明すると、例えばいくつかのパソコンからアクセスが来た時に、「画面の情報を表示してください」といったリクエストがサーバーに届きます。
この時に、サーバー1つに対してたくさんのリクエストが来るとトラブルが起きてしまいます。しかしリクエストを受ける前に、ロードバランサーを設置することで、複数のサーバーが処理してくれます。このようにして、ロードバランサーで負荷を分散させます。
おすすめのチュートリアル
AWSのロードバランサーには、いくつか種類があります。その種類とはアプリケーションロードバランサー、ネットワークロードバランサー、クラシックロードバランサーです。Amazon EC2ではいずれかのタイプを選択できるため、自分に合った種類のもので学習を進めましょう。
AWSのドキュメントの中の「Elastic Load Balancing」の中に用意されている「Elastic Load Balancing ドキュメント」からチュートリアルに進みましょう。
「Elastic Load Balancing ドキュメント」の中で自分の選択したいバランサーのドキュメントを選択すると、左側のタブに「チュートリアル: Classic Load Balancer を作成する」というトピックが表示されますのでそこからチュートリアルに進みましょう。
しかし、チュートリアルを実践する前に「どの種類のバランサーを選択したらよいかわからない」といった方のために簡単にそれぞれのバランサーについて説明します。
まずはアプリケーションロードバランサーです。アプリケーションバランサーは、後述するクラシックロードバランサーに追加してリスナーが付与されたものです。
そのためリスナールールを構成し、そのルールに基づいてどのターゲットにリクエストをルーティングできるかが決定されます。
その他、クラシックロードバランサーから移行するメリットも多いため、アプリケーションロードバランサーに移行する方もいるでしょう。
次にネットワークロードバランサーです。ネットワークロードバランサーは開放型システム間相互接続の第4層で機能するものです。
ロードバランサーはデフォルトのルールでリクエストのターゲットを選択します。このネットワークロードバランサーは、毎秒数百万のリクエストに対応できるほどの能力があるのが大きなメリットといえるでしょう。
最後はクラシックロードバランサーです。これはクライアントに単一の通信先として機能しているため、クライアントからのリクエストを中断することなくロードバランサーから直接アプリケーションに接続します。
簡単に3種類のロードバランサーについて説明しました。詳しくはドキュメントにも書かれていますので、それぞれのロードバランサーのメリット・デメリットを加味しつつチュートリアルを選択してください。
AWSをチュートリアルで学習してみよう

いかがでしたでしょうか。今回は初心者の方も含めてAWSのおすすめのチュートリアルについて紹介しました。
AWSのチュートリアルは、ハンズオンを選択するとスポット的に操作方法を学べるため、初心者の方にもわかりやすいでしょう。
また、「ハンズオンだけでなくてもっと学びたい!」「体系的に勉強したい」といった方は、開発者向けのユーザーガイドを利用するとよいでしょう。こちらは日本語でドキュメントが用意されているものも多いため、英語が苦手な方でも安心して勉強できるでしょう。
ご自分の学びたいこと、必要な知識に合わせて学習を進めてください。]]>