学習・開発

AWSについて勉強してみた

今回はAWSについて勉強してみたので、その内容をまとめていきたいと思います。

AWSとは?

アマゾン ウェブ サービス(Amazon Web Service)の略称。
アマゾンがクラウド上で様々なサービスを展開しており、使い方によっては安価で最大限のパフォーマンスを発揮できるインフラ環境を構築することが出来るところが魅力的です。

詳しくはこちらを参照
アマゾン ウェブ サービス(AWS)とは?

AWSを勉強しようと思ったきっかけ

AWSを勉強しようと思ったきっかけは、下記の2つの理由からでした。

AWSを勉強しようと思ったきっかけ

・アプリ開発をしようと思っている
・パークに行ったり出かけることが多いので、荷物を極力少なくしたい

ゆくゆくはアプリ開発を行おうと思っているので、インフラ環境を用意する必要がありました。
これだけならばAWSである必要はありませんが、2つ目の理由として荷物を少なくしたいというものを挙げました。
具体的には、タブレットで開発できる環境を実現したいなと考えています。
AWSならば、仮想サーバ上で開発環境を構築することができます。
それによりデバイスのスペックに依存しないため、インターネットさえ繋がっていればタブレットでも開発を行うことが出来るので、とても魅力的だなと感じています。

また、「JAWS-UG 群馬」というAWSユーザ会に参加していて、
次回の会でLT(ライトニング トーク)の発表を行う予定です。
その発表用資料を作成するために、自分が実現したいと思うAWSの構成について勉強をしました。

勉強した内容のまとめ・構成図

では実際に勉強した内容についてまとめていきます。

まずはLT大会で使おうと思っているAWSの構成図です。

ザックリ簡単に説明して行きます。

・Route53
DNSのこと。
ドメインの管理やら、自動更新やらもやってくれるらしい。

・ELB(Elastic Load Balancing)
ロードバランサーのこと。
負荷分散してくれるサービスです。
しかもこのサービス、負荷分散だけでなく、

・ヘルスチェックを利用してWEBサーバの死活監視がでる。
・ACMの無料SSL証明書(ドメイン証明書)が利用できる。
また証明書の更新は自動で行われる。

等も提供してくれるそうです。

・EC2(Amazon Elastic Compute Cloud)
仮想サーバのこと。
LinuxやWindows 、Red Hat等様々なOSの仮想サーバをすぐに実行できる環境が用意することができます。

・Cloud9
統合開発環境(IDE)のこと。
クラウド上でコードの記述、デバッグ、実行することができる。
これのおかげでタブレットでもアプリ開発ができるのではないかと思っている。
ただし、東京リージョンでは提供されていないので、英語が読めないと辛い。

・RDS(Relational Database Service)
DBのこと。
クラウド上でリレーショナルデータベースの操作、オートスケーリングを簡素化してくれるサービス。
MySQL、PostgreSQL、Oracle、SQL Serverなどが利用可能で、インストール作業もサポートしてくれるので、運用負荷が劇的に削減できる。

・EBS(Elastic Block Store)
EC2の外付けHDDのようなもの。
EC2も記憶領域は持っているが、サーバを停止すると自動的に初期化されてしまう。

・S3(Simple Storage Service)
容量が無制限のFTPサーバのようなもの。
1GBあたり0.025ドルと破格の安さ!
公式に99.999999999%の耐久性を謳っており、安さと高可用性を兼ね備えています。
EBSも同じストレージサービスですが、料金が5倍くらい変わってくるので、静的コンテンツやログなど大量に保存する必要があるものはS3。
すぐに使うようなものはEBSといった感じで住み分けると、料金が抑えられるそう。

今回紹介させていただいたのはAWSのサービスのほんの一部です。
(全部で100以上のサービスがあるとか)
割と代表的なものだけですが、それでもちゃんと調べるとものすごく奥が深いので、調べるのは大変でしたが、新たな可能性が見出せてとても楽しかったです。

今回考えた構成図で実現できるのか、もう少し検証を重ね、いつか実際にAWSで環境作りを行ってみたいと思いました。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です