近年、自社にはサーバーやストレージ機器を設置せず、クラウドサービスを活用する企業が増えていることをあなたはご存じでしょうか?
事業開始までの迅速性・強固なセキュリティ・低い初期費用を実現できるクラウドサービスは現代において注目を集めています。
その中でも特にAmazonの提供するAWSはパブリッククラウド市場全体の3割を超えるシェアを保持する人気のあるサービスです。
今回の記事では、そのAWSとはどんなサービスなのか、そしてAWSのPaaSにはどんな機能があるのかわかりやすく解説していきます。
それではよろしくお願いします。
目次
AWSの概要
AWS(Amazon Web Services)とは、Webサイト運用・ビッグデータ分析など100種類以上ものインターネットサービスをまとめた総称です。
サーバー・ストレージ・データベースなどをすべてクラウドで管理することができるシステムはクラウドコンピューティングと呼ばれます。
これはオンプレミスと比較して価格面・迅速性などにおいてメリットが大きく2000年代半ばから積極的に企業に採用され続けています。
また、クラウドコンピューティングには以下の2種類が存在しますが、AWSは前者のパブリッククラウドに該当するサービスです。
- 個人や企業向けに開放されている「パブリッククラウド」
- 企業や組織が自社運用のために構築する「プライベートクラウド」
パブリッククラウドとしてはAmazonのAWS・MicrosoftのAzure・GoogleのGoogle Cloud Platform・IBMのBluemixの4つが有名です。
中でもAWSはクラウドサービス黎明期から長らくトップシェアの座を守っており、現在でも3割を超えるシェアを持っています。
PaaSの仕組み
AWSにおけるPaaS機能のその魅力を最大限お伝えするためにも、まずはPaaSの仕組みについてお話しなくてはなりません。
よくPaaSと混同されがちなIaaS・SaaSとまとめておさらいしてみましょう。
まず1つ目がIaaS( Infrastructure as a Service )、これはサーバー・ネットワークなどのインフラ設備を提供してくれるサービスです。
この上に各企業が必要なOS・ミドルウェア・アプリケーションを選択し、インストールすることで利用することができます。
OSの設定から選択できる点でカスタマイズ性・自由度が非常に高い半面、専門的な知見がないと実際の運用の難易度は高いといえます。
2つ目が今回の記事でも取り上げているPaaS( Platform as a Service )です。
サーバーやネットワークなどのインフラ設備に加え、OSなどミドルウェアまでを提供してくれるサービスです。
各種環境を即座に構築することができるため、ユーザーはスムーズにソフトウェア開発やアプリケーション開発を行うことができます。
そして3つ目がSaaS( Software as a Service )、インフラ設備・ミドルウェアに加えてアプリケーションまでも提供してくれるサービスです。
上記IaaS・Paasはユーザーが何かしらオリジナルの開発を行うことを前提にしています。
対してSaaSは既にアプリケーションを使用できる状態で提供されるため、導入する企業は実行するための機器以外の準備が必要ありません。
スピード感は大きなメリットですが半面カスタマイズ性は低く、自社に最適化されたシステム構築ではIaaS・Paasに軍配が上がります。
3種類を改めてまとめてみると、「カスタマイズ性の高さ」と「運用開始までの条件」という2点はトレードオフの関係にあることがわかります。
DX化の事例はこちら
AWSのPaaS機能①:AWS Elastic Beanstalk
AWS Elastic Beanstalkとはインフラ環境について考慮することなくクラウド上でアプリケーションのデプロイと管理ができるサービスです。
アプリケーションの試作段階においてインフラ構築や運用などの複雑な内容はAWS側に任せ、自身はアプリケーション開発に集中できます。
デプロイ・スケーリングのための機能
AWS Elastic BeanstalkはJava・.NET・PHP・Python・Ruby・Go・Dockerなど多くのプラットフォームに対応しているサービスです。
アプリケーションをデプロイすることによってAWS Elastic Beanstalkは自動的に環境の作成・構築を始めます。
各プラットフォームのバージョンをビルドし、Amazon EC2インスタンスなどAWSリソースを構築、そしてアプリケーションを実行します。
アプリケーション実行において、デプロイに伴うタスクの多くをコンソールから直接管理、実行できるのも非常に便利な機能です。
Elastic Load BalancingとAuto Scalingによって自動的にスケーリングが実行されるため、常に高可用性を実現することができます。
リソースの完全制御を維持できる
スケーリングに加えて、容量のプロビジョニング・負荷分散・アプリケーション状態のモニタリングまでも自動的に処理できます。
自身でEC2にサーバーを構築しようとすると、アベイラビリティーゾーン設定・セキュリティグループ設定など、煩雑な知識が必要です。
常にリソースの完全制御を実現できる点において、アプリケーション開発における最高の環境を提供してくれるサービスであるといえます。
支援実績やコンサルティングの詳細は、実績・事例紹介のページをご覧ください。
AWSのPaaS機能②:AWS Lambda
AWS Lambdaは、プログラムの実行環境をサーバーレスで提供するサービスです。
AWS Lambdaによって、プログラム実行環境を気にすることなく、実行したい処理・プログラムを書くことだけに専念することができます。
サービスの迅速性やコストパフォーマンスなどクラウドのメリットを最大限に享受することを可能にしてくれるサービスです。
アプリケーションの動作確認ができる
上述の通り、AWS Lambdaを利用することによって、プログラムの実行環境を整備する手順が不要になります。
通常Webアプリケーションを稼働させる場合、WindowsやLinuxの環境・Webサーバー、加えて動的なシステムではWebアプリケーションサーバーの構築も必要です。
その上でようやく、このWebアプリケーションサーバー上で動かすためのプログラムを開発する手順に入ります。
ところが、AWS Lambdaであれば制限を受けることがなく、最終段階のプログラムを開発すれば即座に実行することも可能です。
AWS LambdaはJava・Node.js・C#・Pythonのプログラミング言語に対応しています。
これらの言語で開発されたものであれば各種環境構築といった制約に縛られることなく効率的に動作確認まで完了することが可能です。
コード実行時に使用した分だけ料金が発生
プログラム開発手順の効率化というメリットに併せ、従量課金制のAWS Lambdaはコストパフォーマンスにおいても優れているのです。
AWS Lambdaでは「指定の何らかのイベント発生時、あらかじめ設定した任意のプログラムを実行する」よう指定することができます。
このシステム導入に際してもコード実行のリクエストがあればその時間だけが課金対象です。
しかも100万リクエストにつき0.2USドルという格安料金であり、サーバーの運用に関する手間や時間、加えてコストまで抑えられます。
DX化の事例はこちら
AWSのPaaS機能③:Amazon S3
S3とはSimple Storage Serviceの略称です。名前の通りの大量のデータの保存に加え、静的コンテンツ配信などの機能を持っています。
高いセキュリティ・スケーラビリティ・データ転送のしやすさなどを活かして、データのバックアップや復元に活用することが可能です。
料金体系においては、他の多くのAWSサービス同様従量課金制となっています。
パフォーマンスを下げずにコストを下げるために使用頻度の低いデータを検出、より低コストのサービスへ転送する機能も備えています。
常にユーザーは最適な料金体系でサービスを使用することができるのです。
オブジェクトストレージサービス
Amazon S3ではオブジェクト1ファイルにつき5TBまでという制限があるものの、ストレージ全体としては容量無制限で使用可能です。
さらにストレージリソースのスケールアップ・ダウンも自在に行えるという非常に大きなメリットがあります。
全てのデータをクラウドに保存できるので、データ管理に手間をかける必要がありません。
また、Amazon S3は99.999999999%(イレブン・ナイン)の高いデータ耐久性・セキュリティを実現するよう設計されています。
あらゆる障害やエラー・脅威からデータを保護することができるのです。
ビッグデータ分析が可能
Amazon S3ではデータレイクというストレージリポジトリを作成し、クエリ・分析ツール・機械学習ツールによってビッグデータ分析ができます。
データレイクにはすべての構造化・非構造化データをそのままの形で一元的に保存可能です。
このデータを使うことでビッグデータ処理・リアルタイム分析・機械学習など様々な用途に応用することができます。
AWSを利用する上で重要なサービス
この項では、他にも知っておくべきAWSの重要なサービスを4つ紹介します。
どれも「他のサービスとどう組み合わせられるか?」「自社でどう使えるか?」などカスタマイズのイメージを膨らませる楽しみがあります。
Amazon EC2
Amazon EC2( Amazon Elastic Compute Cloud )は、必要なリソースを必要な分だけ調達して使用することができる仮想レンタルサーバーです。
利用する容量やアクセス量によって料金が自動的に変化することが大きな特徴となっています。
CMSの導入やドメイン取得などを組み合わせることで初期費用を最小限に抑え、かつ急なアクセス増減にも対応が可能です。
仮想サーバーの作成は数分で完了し、また仮想サーバーを複数作成しての冗長化なども管理画面上の操作で簡単に完了することができます。
Amazon EBS
Amazon EBS( Amazon Elastic Block Store )は、AWS上で操作できるブロックストレージ(仮想ディスク)です。
管理コンソールから前述のAmazon EC2のインスタンスにEBSボリュームを作り、接続(アタッチ)・切断(デタッチ)することができます。
Amazon EC2のインスタンスは自身に接続されたEBSボリュームにアクセスし、ファイル単位でデータを読み書きすることが可能です。
Amazon CloudWatch
Amazon CloudWatchはAWSに関するフルマネージド運用監視サービスであり、AWSの各種リソースを監視してくれるサービスです。
厳密にいえばこれは3種類のサービスの総称で、以下から構成されています。
- CPUやメモリなどリソースを監視する「CloudWatch」
- アプリケーションやOSのログを集めて監視する「CloudWatch Logs」、
- APIのイベントをトリガーとして何らかのアクションを実行させる「CloudWatch Events」
これらは異常が生じた時にはそれをアラートで知らせるだけではなく自動復旧も可能で、AWS上で監視を行う際には欠かせません。
Amazon EMR
Amazon EMR( Amazon Elastic MapReduce ) は、ビッグデータを効率良く高速で処理・分析することを可能にするサービスです。
Amazon EMRの処理結果はAmazon S3をはじめとするAWS上のサービスと連携できます。
使用した分だけの従量課金制というのもAWSおなじみであり、総合的に非常に高い利便性、コストパフォーマンスを持ったサービスです。
AWSのPaaSを導入するメリット
ここでは特に導入タイミングで気になる「初期費用の低さ」「拡張性・柔軟性」「高いセキュリティ」という3点について注目します。
無料利用枠がある
オンプレミスを導入する場合とは違い、AWSの導入にはハードウェアやソフトウェアを購入する必要がありません。
AWSのサービスの多くは従量課金制・無料期間枠を採用しており初期費用もかかりません。
例えばAmazon EC2では750時間分のLinuxおよびWindowsの無料利用枠が設けられており、最初の12ヶ月に対して自由に割り当てられます。
ビジネスニーズの発生に際して初期費用無しで即座にITリソースを確保することができるのがAWS導入の大きなメリットといえるでしょう。
サイジングを自動化できる
AWSの料金体系は従量課金制を採用しています。
サービスを利用した時間や通信量に応じた費用だけを払えば良く、オンプレミスとは余計なコストがかかってしまうことはありません。
サービス使用分のみでの課金になるため、自社開発アプリケーションの検証や実験的なプロジェクトなどでも利用できます。
アクセスの増減に合わせて稼働するサーバーの数を自動で変更したり、突発的なトラフィックの増加時にも自動で対応が可能です。
手間をかけることなくリソースや料金の最適化が行える点において、AWSは従量課金制の理想モデルであるといっても過言ではありません。
強固なセキュリティ
クラウドサービス導入を検討する際にセキュリティ面を懸念される方は多いでしょう。
しかしオンプレミスサーバーを常に最新のセキュリティ状態を保つのも現実的ではなく、クラウドサーバーの方が安全であるといえます。
実際AWSは政府機関や軍隊、金融機関など気密性の非常に高い組織のセキュリティ要件を満たすことができています。
ソフトウェア・ハードウェアともに常に最新の状態に保たれており、またAWSを運用している20ヶ国以上の規制やコンプライアンスにも対応しているのです。
また、AWSはデータセンターを世界中で設置・運用しているため、データ障害や大規模災害が起きた際のリスク分散効果も期待できます。
データ障害発生時には自動的にトラフィックが移動、負荷も分散されるため、データ保存の面においても信頼度が非常に高いです。
セキュリティ・データ保存に隙の無いAWSは、単なるサービス以上にビジネスパートナーとして最も信頼できる存在ではないでしょうか。
支援実績やコンサルティングの詳細は、実績・事例紹介のページをご覧ください。
AWSを利用する際の注意点
AWSの強みを最大限活かすためには、やはりデメリットに関する知識もおざなりにできません。
この項ではAWSの主要な注意点を3つ挙げて説明します。
まず1つ目の注意点は、「従量課金制であるため毎月の利用料が変動する(料金を正確に見積もるのが困難である)」という点です。
初期費用がかからないとはいえ、ランニングコストを調整するためにサービス利用量についてもケアする必要があります。
2つ目は、「AWSが行うのはサービスの提供であり、自社での運用は含まれない」という点です。
各種サービスは便利ではありますがあくまで「自社システムの一部」として活用可能なのです。
実際各種サービスを適切に運用するためには相応のスキルや知識を持ったシステム担当者がいないとAWSの強みをフル活用できません。
3つ目は「AWSのダウンタイムにおける対応を考えなければならない」という点です。
常に高い精度でサービスを提供するため、AWSにもメンテナンス日が存在します。
この時間に限ってはさすがのAWSもシステムが一時停止されるため、システムダウン時の対応をしなければなりません。
メンテナンススケジュールは事前告知されるため、各種対応が必要となります。
自社でのメンテナンスは必要ありませんが、AWSのメンテナンス日に合わせて自社サービスに制限がかかるため、注意が必要です。
DX化の事例はこちら
AWSの活用で困った時は?
「ベーシックプラン」「開発者サポートプラン」「ビジネスサポートプラン」「エンタープライズサポートプラン」からサービスを選べます。
「ベーシックプラン」はAWSを利用する(AWSのアカウントを取得した)すべての人が対象のサポートプランです。
無料でリソースセンター・サービス状態ダッシュボード・製品 FAQ・フォーラム・健全性チェックのサポートなどが提供されています。
技術的な問い合わせに関しては有償のAWSサポートへの加入が必要ですが、まずはこれらのサポートを頼るのが手でしょう。
まとめ
AWSを活用することによって優れたコストパフォーマンス・柔軟性や拡張性・高いセキュリティなど多くのメリットを享受できます。
しかしAWSを活かすためにはIT技術に関する広い知見やAWSサービスに関する多くの知識を身に付ける必要があるのも間違いありません。
ぜひ実際にAWSを利用する中で、AWS自体の、そして進化し続けるIT技術の魅力を肌で感じていただければ幸いです。