AWSには様々なサービスがあるので「名前だけ聞いたことはあるけれど、それぞれどんなサービスかはわからない」という方もいると思います。そんな方向けに、Webエンジニア視点でこれだけは押さえておきたいと思うものをまとめてみました。
AWSとは
AWS(Amazon Web Services)とは、Amazonが提供しているクラウドコンピューティングサービスの総称です。
元々は、ECサイトで大量のサーバーを運営していたAmazonが、そのインフラ技術を「必要に応じてオンデマンドで利用できるサービス」として一般公開したことが始まりだそうです。
サービス総数は2020年時点でなんと約190種あり、この分野での世界シェアは、第一位となっています。
AWSの主要サービス
ここから本題。
出来る限り専門的な用語を使わずに解説します。
コンピューティング
EC2
様々なスペックの仮想サーバー(LinuxやWindows Serverなど)を作成、実行できるサービスです。
ストレージに○○○・データベースに○○○と、用途に応じて他のサービスと組み合わせて使うことができます。
Lightsail
他のAWSサービスが機能ごとに1つのサービスとして提供されているのに対し、LightsailはWebサービスに必要な機能を1つにまとめたパッケージとして提供されています。
WordPressやRedmineなどのアプリケーション入りのパッケージもあり、手軽に利用できるのが特徴です。
UIはどことなく可愛らしく、料金も月額固定と分かりやすいので、初心者の学習用途にもおすすめです。
Lambda
サーバーレスでコードのみをデプロイし、他のAWSサービスのイベントをトリガーにして実行できるサービスです。
トリガーにできるイベントの例: ・ストレージにコンテンツがアップロードされた時 ・データベースが更新された時
EC2はプログラムが動いていなくても起動時間に応じて料金が発生するのに対し、Lambdaはコードが実行される回数や時間で料金が発生するので、定期処理に向いています。
ストレージ
S3
静的コンテンツを保存する時に使う容量無制限のオブジェクトストレージサービスで、正式名称はAmazon Simple Storage Serviceです。
データは3箇所以上にコピーされ、障害やエラーに非常に強いです。
AWSの歴史の中で2番目に作られたサービスで、書ききれない程の豊富な機能を備えています。
データベース
RDS
AWSが提供するデータベースサーバーサービスで、PostgreSQLやMySQLを始めとする6つのデータベースエンジンから選択できます。
EC2インスタンスにデータベースを構築する方法もありますが、RDSを使った場合はバックアップ機能が元から提供されていたりします。
ネットワーキングとコンテンツ配信
VPC
本来ネットワークを構築する時はルーターなどの機器が必要ですが、VPCはそれらの機器を仮想的に用意し、ネットワークを構築できるサービスです。
VPCを使えば、インターネットと通信できるパブリックなネットワークと外部から遮断したいプライベートなネットワークを分けるなどの設定ができます。
標準的な設定の例: ・アプリケーションサーバーは外部からのアクセスを許可 ・データベースサーバーは外部からのアクセスを遮断し、アプリケーションサーバーからのみアクセスを許可
Route 53
新規ドメインの登録や、ドメインのDNSレコードの管理が行えるサービスです。
開発者用ツール
CodeCommit
AWSが提供するGitリポジトリのホスティングサービスです。
AWSの他サービス(CodeDeploy・CodePipeline)と連携することで、デプロイプロセスを自動化できます。
Cloud9
ブラウザで操作できる、クラウドベースのIDE(統合開発環境)です。
Node.js (JavaScript)・Python・PHP・Ruby・Go・C++ など、40以上の言語がサポートされています。
管理とガバナンス
Cloud Watch
AWSのリソースやアプリケーションのモニタリングサービスです。
使用状況やログを収集し、異常検知やアクションの実行などが行えます。
セキュリティ、ID、およびコンプライアンス
IAM
AWSへのアクセスを制御するためのサービスです。
ユーザーやグループを作成して、ポリシー(AWS操作に対する権限)を付与することでアクセス制御を行います。
AWS コスト管理
Cost Explorer
AWSのコストや使用状況を可視化するサービスです。
グラフでのコスト分析や使用状況レポートなどが取得できます。
まとめ
AWSサービスの関係性が、多少は整理できたでしょうか。
クラウドを使うことで、インフラ構築のハードルはとても下がったと思います。
アカウントがあれば誰でも使うことができるので、その手で触れてインフラにも強いエンジニアを目指しましょう。
最近のコメント