Amazon Web Services(AWS)は、Amazon.comにより提供されているクラウドプラットフォームです。
この記事ではAWSでできることや特徴、メリット、代表的なサービスなど、AWSの基礎知識について解説します。
AWSとは
AWS(Amazon Web Services) は、Amazonの世界中のデータセンターから提供されるフル機能のクラウドプラットフォームです。 Amazonが自社のインターネットショップを運用するために構築したインフラやアプリケーションをベースに、 他社でも利用できるようにしたサービスです。
100を超えるサービスがあり、ユーザーはこの中で自分が欲しいサービスを欲しいボリューム利用することができます。クラウドベースになっているため、インターネットを介してサーバー、ストレージ、データベース、ソフトウェアまでシステムに必要なあらゆる機能をサービス化されています。これによって、自分たちが大きなリソースを持つことなく、必要な機能だけを、AWSというサービスの中ですべて利用することができます。
AWSの特徴・メリット
クラウドシステムを構築、運用にするにあたり、多くの企業が選定候補に挙げるAWSとはどのような特徴・メリットがあるのでしょうか。ここでは、代表されるメリットをいくつか解説していきます。
低コスト
システムを構築するうえで必要となる初期費用や運用コスト。AWSは、ハードウェアやソフトウェアの購入が必要ないため、初期費用が発生することなくシステムを構築することができます。大きな初期投資が不要で固定資産にもならず、単にサービスを利用するというイメージです。
運用費用は、完全な従量課金型になっていて、必要なサービスを必要な期間だけ利用し、不要になったら縮小や停止をすることができるので無駄な費用はかかりません。逆に急にサービスを増やすことも可能です。
この課金体系により、システムに対するメンテナンスや運用などの維持費などの長期的なコストの支払いは発生しません。そのため、新規のプロジェクトや短期サービスなどでも利用しやすく、サービス停止や撤退の判断においてもシステムを気にする必要がありませんので、迅速に行えます。サービス利用の料金は秒単位または時間単位で計算されますので、素早い判断がコストカットに直接つながることもメリットになります。
継続的な値下げ
AWS は 2006 年にサービスインしましたが、リリース後の反響が大きくすぐに市場に浸透していきました。この急速な規模の拡大は、AWSのサーバーの調達コストやサービスの維持コストを劇的に安くできたことにつながっています。さらに、新しい技術を取り入れることでITコストの低減にも成功しています。AWSは、これらのコストダウンをユーザーに還元することで継続的な値下げを実施しています。
AWSの支払サイクルは月次になっているため、この定期的な値下げはすぐにユーザーのITコスト削減につながるという仕組みが定着し、ユーザーにとっては使いやすいサービスと言えるでしょう。AWSが行った値下げは、過去 10 年間において 70 回以上にも及んでいます。
一般的なシステムにおいては、保守費用は年々増加の傾向にありますが、AWSを利用することで、逆にコスト削減を実現できるのは大きなメリットと言えます。さらにAWSのエンドユーザー向けの価格は、すべて AWS ウェブサイト上で公開されていますので、予測計算もしやすく、余計な値下げ交渉などによるユーザー間の費用差異も発生しません。
拡張性
AWSは、クラウドサービスの最も大きなメリットのひとつと言われている拡張性が特に優れています。システムの拡張、縮小を行う場合は、通常であれば担当営業を呼び、交渉し、契約を交わし、システムの増減の準備期間をおいて実施されるわけですが、AWSでは、サイト上で、簡単な設定変更をするだけで終わります。その間わずか数分ですので、実行までのタイムロスがほとんどありません。
これは、運用開始時だけでなく、稼働中のサーバーに対しても同様です。現在稼働中のサーバーであっても、多くのサーバーのうちの1つのサーバーだけを対象にする場合であっても、簡単にCPUやメモリ、ストレージのサイズを変更することができます。そのため、突発的なイベントに対して、サーバーリソースを短期間増やし、イベントが終了した段階で元に戻すといったことが可能です。
また、昼夜でシステムの稼働に大きな開きがある場合は、日中と夜間で稼働しているサーバーのスペックを変更することもできます。利用していないリソースに対してコストは発生しませんので、週末や夜間の利用を停止してコスト削減を図るといったことも可能です。
繁盛期において、システム稼働が増えることを予測し、それに若干の余裕を持たせたリソースの確保の必要もなく、実際に運用していくなかで調整をすることができますので、常にリソースの最適化を図ることができ不要なコストを抑えられます。
管理者の負担軽減
システムを運用する際に大きな負担となるのが、システム管理者の存在です。システム管理者は、ハードウェアの管理はもちろんのこと、OSやアプリケーション、周辺環境など、すべてのシステムにかかわる環境のメンテナンスとアップデートを行わなければなりません。この管理に関する負担は大きく、できるだけ負担をかけないような運用が望まれます。AWSでは、ハードウェアの管理やソフトウェアのアップデートといった管理者の負担がかからないため、その分の人的リソースを有効活用できます。
セキュリティ
システムの構築、運用に際し、セキュリティはもっとも注目すべきポイントです。ある程度のコストをかけてでも強固なセキュリティ環境を維持したいとユーザーは考えるもの。AWSは、サーバーなどのハードウェアを安全対策が施されたデータセンターで運営しています。
このデータセンターは、セキュリティに関するコンプライアンス要件にも準拠していますので、ユーザーは、セキュリティ対策を独自で行うことなく、安心で安全なシステムを利用できます。また、インターネットやユーザー側のシステムとの連携といったデータセンターの外部環境におけるセキュリティに対しても、サポートサービスやプロフェッショナルサービスなどを用意して要望に応えられる仕組みを提供しています。これらを利用することで、抜けのない最適なセキュリティ環境を簡単に手に入れることができます。
AWSで何ができる?代表的なサービス
AWSで提供されているサービスの中で、代表的なサービスをいくつかご紹介します。
サーバー環境の構築・Webサイトの運用(EC2)
サーバー環境の構築に有効なサービスが、Amazon Elastic Compute Cloud (Amazon EC2) です。これは、必要に応じてスペックを変更することができる仮想サーバーを作成し、利用できるサービスです。
最初に仮想サーバーをAWSで構築するのにかかる時間はわずか数分。Amazon EC2 は、シンプルで使いやすいインターフェースのため、手間をかけずに必要な機能を取得し設定できるだけでなく、仮想サーバーを複数作成して冗長化したり、ハードディスクやメモリなどのスペックを変更したりする作業も、画面上の簡単な操作だけで行えます。Amazon EC2では、仮想ネットワークの環境も用意されており、冗長化に際してネットワークを意識する必要がありません。
安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスとして、開発者が簡単に利用できるよう設計されています。
データ保存・コンテンツ配信(S3)
データの保存や加工、コンテンツ配信ができるのが、Amazon Simple Storage Service (Amazon S3) です。Amazon S3は、オブジェクトストレージサービスで、高スケーラビリティだけでなく、データ可用性、セキュリティ、およびパフォーマンスのどれをとっても高レベルの機能を有しています。
ウェブサイト、モバイルアプリケーション、バックアップ、アーカイブ、エンタープライズアプリケーションといったあらゆる形態が可能なだけでなく、IoT デバイスの利用やビッグデータ分析などでも活用可能。データの種類を問わず、どれだけの容量でも問題なく保存・保護します。管理機能も使いやすく、高い耐久性を実現するように設計されていることも大きなメリットです。
データベースとしての活用(RDS)
AWSのデータベースであるAmazon Relational Database Service (Amazon RDS) を使用すると、簡単にクラウド上のリレーショナルデータベースのセットアップ、オペレーション、スケールができます。
Amazon RDS は、プロジェクトの計画からデプロイまでの手順が簡略化されているため、管理の負担もありません。Amazon RDSマネジメントコンソール、AWS RDS コマンドラインインターフェイス、シンプルな API コールといった機能やツールを使用することで、本稼働に対応したRDBの機能に数分でアクセスが可能になっているためです。
ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップなどの管理タスクも自動化されています。Amazon RDS のデータベースエンジンは、Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle データベース、SQL Serverから使い慣れたものを選択することができますので、今まで使用していたデータベースを変更するといったストレスを感じることがありませんし、余計なシステム変更も不要です。
開発での利用(CodeStar)
AWSはデプロイメントに関するサービスも充実しています。AWS CodeStar は、アプリケーションを迅速に開発、構築し、AWSにデプロイするサービスです。
AWS CodeStar の統合されたユーザーインターフェースによって、アプリケーションコードのコーディング、ビルド、テスト、デプロイに使用する開発と継続的な配信ツールチェーン全体を簡単に設定可能。ソフトウェアのデリバリも容易で、さまざまサービスコンソールを立ち上げることなく日々の開発アクティビティを調整することが可能です。
AWS CodeStar にはプロジェクトダッシュボードがあり、1か所からアプリケーションアクティビティを監視するため、すべての進行状況を追跡できます。プロジェクトの所有者、コントリビューター、ビューワーのアクセスを簡単に管理でき、チームでの開発がセキュアに行えます。
IoTソリューションの構築(FreeRTOS)
組み込みシステムの構築に有効なマイクロコントローラー向けのリアルタイムOSがFreeRTOSです。FreeRTOSは、低電力小型エッジデバイスのプログラミング、デプロイ、保護、接続、管理を行うマイクロコントローラー向けのリアルタイムOSで、MITオープンソースライセンスの下で無料配布されています。
FreeRTOS は、信頼性と使いやすさに重点を置いて構築されているため、使いやすい設計で多くのデバイスで利用可能。シンプルなプロセッサを搭載しており、クラウドまたはローカルで他のデバイスと接続することでより快適に使用できます。
低電力デバイスを実行する実証済みの堅牢性と信頼性を持ちあわせたカーネルと、クラウドへのセキュアな接続を実現するソフトウェアライブラリを搭載。FreeRTOSは、すでにクラウドへのエンドツーエンドの接続性を実証するマイクロコントローラベースの評価ボードに移植された事前統合済みOSのため、市場投入までの時間短縮が期待できます。
AI機能としての利用(Personalize)
AWSを利用すると、アマゾンが保有するAmazon.comの機械学習レコメンデーションに関する機能を活用できます。
すでに20年以上にわたるアマゾンでのレコメンデーションの実績をもとに開発されているAmazon Personalize だからこそのパーソナライズ機能は、製品やコンテンツのレコメンデーションだけでなく、ターゲッティングされたマーケティングプロモーションの強化に活用でき、カスタマーエンゲージメントの向上に貢献。API を使用すると、機械学習の経験がなくても簡単にパーソナライゼーション機能を構築できます。データの処理や統計、機械学習アルゴリズムを一から学ぶのではなく実践的な運用を行うために、モデルを最適化して運用することから始めることが可能で、タイムロスがないのも魅力です。
AWSの勉強方法
多くの企業が利用したり、導入を検討したりしているAWSを勉強するにはどのような方法があるのでしょうか。具体的な方法を紹介します。
書籍で学ぶ
AWSがわかりやすいユーザーインターフェースをもちあわせているとはいえ専門的な知識は必要です。サーバーやデータベースといったシステム上の基本知識に加え、AWS独自の専門用語もあります。これらは、まずは、書籍などから学ぶとよいでしょう。
AWSだけでなくネットワークやクラウドに関して初心者レベルから学びたいのであれば、「ゼロからわかるAmazon Web Services超入門 はじめてのクラウド」がおすすめです。
その他、AWSに関して専門用語をはじめサービスをわかりやすく理解したいのであれば、「図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書」、ネットワークに特化した情報は、「Amazon Web Services ネットワーク入門」から多くの情報を得ることができます。ほかにも専門性にあわせた多くの書籍が出版されています。
セミナーを受講する
Amazonでは、AWSに関する初心者向けのセミナーから上級者向けの専門セミナーまで各種のセミナーを開催しています。また、技術セミナー以外にも、サービスの最新情報やユーザー事例、利用方法などの情報も公開されています。業界のイベントやセミナーでも、AWSに関連するプログラムがありますので、勉強の場として利用するのもおすすめです。
まとめ
クラウドシステムが市場の拡大を続けるなかで、AWSは多くのユーザーにとって使い勝手のよいサービスです。機能を上手に使いつつ、クラウドサービスシステムの構築を役立ててみてはいかがでしょうか。システム構築においては、構築や運用にしやすさはもちろんのこと、セキュリティ対策や障害時対策も検討していかなければなりません。気になるクラウドの障害対策に関しては、「マンガでわかるクラウドでの障害対策の考え方」も参考にしてみてください。