[AWS入門] AWS にはどのようなサービスがあるのか?

はじめに

AWSでは、ただ単にサーバを立てるだけでなく、色々な種類のサービスが提供されています。
それらを組み合わせることで、手軽に強力な構成を実現できることができるのがAWSの大きな魅力です。

ただ、いざ手を出してみようとしても、そのサービスの多さから敷居を高く感じてしまう方もいるかもしれません。
そこで、まだAWSを使ったことがない方、AWSを使うと何ができるんだろう?と気になっている方に向けて、よく使われるサービスを中心にご紹介したいと思います。

AWSが提供するサービスたち

現在、AWSの管理コンソールのサービス一覧は以下のようになっています。

種類の豊富さを実感いただけたでしょうか?
毎年新しいサービスが追加されているため、今後もどんどん増えていくはずです。

それでは、この中から基本となるものを見ていきましょう。

・EC2 (Elastic Compute Cloud)
いわゆる一般的なサーバを提供するサービスです。

スペックやOS、ストレージなどのカスタマイズが可能です。
スペックは大小だけでなく、バランスのよい構成や、メモリに特化した構成、CPUに特化した構成など、目的に応じた構成を選ぶことができます。

また、負荷に応じてサーバの台数を自動で調節するためのオートスケールや、複数台のEC2インスタンスへ処理を振り分けるためのロードバランサもサービスとして提供されています。

・Lambda
サーバを用意することなく、コードを実行することができるサービスです。
定期実行はもちろん、例えばS3へのファイルアップロードや、DynamoDBのデータ登録など、AWS内でイベントが発生したタイミングで処理をすることも可能です。

そのため、AWSのサービス同士を繋ぐ役割をすることができ、非常に強力なサービスです。

・RDS (Relational Database Service)
データベースサーバを提供するサービスです。
対応しているデータベースは、Amazon Aurora、MySQL、MariaDB、PostgreSQL、Oracle、SQL Server と、主要なものはだいたい網羅されています。

OSやミドルウェアのメンテナンスや、バックアップはAWS側で行ってくれるため、保守の負担を軽減することができます。
また、Multi-AZ配置というオプションを利用することで、サーバを多重化し、可用性を向上することが可能です。

なお、RDSはリレーショナルデータベースのみですが、NoSQLはDynamoDB、インメモリデータベースはElastiCacheというように別サービスとして提供されています。

・S3 (Simple Storage Service)
オンラインストレージサービスです。最大99%を超える耐久性と可用性をうたっている信頼性や、アクセス制御機能などが特徴です。
OSやミドルウェアはAWSが担保しているため、SaaSのように使用することができます。

複数のEC2でファイルを共有したい場合や、ログの保管など、幅広い用途に使用されます。
また、静的なウェブサイトであればS3だけでホスティングすることも可能です。

・CloudFront
CDN(コンテンツ配信ネットワーク)を提供するサービスです。

通常、動画や画像といったコンテンツを配信する際、サーバからの物理的な距離の影響が大きくなってしまいます。
そのような場合に、このサービスを利用することで、各地に存在するサーバ(エッジロケーション)から配信することができ、高速化を図ることができます。

S3に格納したファイルをCloudFrontで配信するケースが多いですが、EC2などS3以外のサービスや、AWS以外のサーバと組み合わせて使用することも可能です。

・Simple Notification Service
プッシュ形式でメッセージを送信できるサービスです。
Eメールや、モバイルのプッシュ通知、SMS、HTTP/HTTPSなど、様々な形式でメッセージを送ることができます。

また、SQS(Simple Queue Service)や Lambda にもメッセージを送るで、サービス間の連携に使用することも可能です。

・SES (Simple Email Service)
メール配信サービスです。
メールサーバの役割をしてくれるサービスといったほうがわかりやすいかもしれません。
DKYMや、SPF、DMARCといった認証等にも対応しているため、信頼性の高いメールを送信することが可能です。

・Route 53
ドメインを管理するためのサービスです。
DNS機能だけでなく、ドメインの登録も行うことができます。
Route53を利用することで、外部のドメインサービスを利用するよりも、EC2などの他のAWSサービスとの連携が容易になります。

・CloudWatch
AWS上のリソースをモニタリングするためのサービスです。
EC2やRDSなど各種サービスを対象に、CPU使用率やリクエスト数、エラー率などの情報をモニタリングをしたり、設定した閾値を超えた際にアラートを発生させることができます。
例:EC2のCPU使用率が80%を超えたら管理者にメールで通知するなど

また、CloudWatchにデータを送信すれば、独自の監視項目を追加することも可能です。

おわりに

ほんの一部、かつ駆け足になってしまいましたが、基本的なサービスを紹介しました。
ここまで挙げたサービスを利用すれば、基本的な構成は作ることができるかと思います。

もちろんこれ以外にもまだまだ強力なサービスが提供されています。
例えば、人工知能分野のサービスも増えており、画像認識や、機械学習、音声変換なども手軽に使うことができます。

今回ご紹介できなかったサービスや、実際に使ってみた内容なども今後発信していけたらと思います。

APN Consulting Partner
スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。