この記事では、AWSの基礎から知りたい方向けに、AWSの特徴や物理サーバーとの違い、AWSができること、AWSの代表的なサービス、AWSを利用するメリット・デメリットなどをまとめて紹介します。
目次
AWSとは
はじめに、AWSの特徴や物理サーバーとの違いなどを簡単に紹介します。
AWS=「Amazon Web Services」のこと
AWSは、Amazonが提供するクラウドコンピューティングを活用したサービスのことです。クラウドコンピューティングサービスを利用すると、サーバー・ストレージ・ソフトウェア・データベースなど、さまざまなIT関連のリソースを必要なときに・必要な分だけインターネットを介して利用できます。
もともとAWSは、AmazonのITインフラを整備する(膨大なアクセスに対応するなどの)ために開発されたものです。現在では、個人や企業向けに200種類以上のサービスを提供しており、サーバー環境を構築したい・大量のデータを保存したい・AIのデータ分析を活用したいなどのさまざまな用途に対応しています。(AWSができること、AWSの導入事例などについては記事の後半で紹介しています。)
AWSの特徴
AWSの料金体系は、使った分だけ料金を支払う「従量課金制」であることが特徴です。水道料金や電気代のように、AWSのサービスを利用した分だけ秒単位(あるいは時間単位)で料金が加算されます。
例えば、サーバーなどを使わないタイミング(休日・夜間など)ではAWSの利用を停止し、繫忙期にはサーバーの台数を増やすなど、利用する目的や用途に合わせてコストを調整できます。
また、AWSの各種サービスは、データを削除した時点で利用時間のカウントが停止します。そのため、新規プロジェクト立ち上げ時や開発案件のテストなどで、一時的にITリソースを増やして対応したい場合は、スモールスタートで業務を進めながら撤退コストを抑えることも可能です。
AWSの料金体系やコストの算出方法、AWSの料金を見積もる際の注意点などについては、以下のページで詳しく紹介しています。
関連記事:AWSの費用はどのくらい?料金体系や料金が決まる仕組みを徹底解説
AWSと物理サーバーの違い
従来の物理サーバーは、自社の建物内にサーバー機器を設置するケースが一般的でした。この運用形態を「オンプレミス」といいます。オンプレミスでは、サーバーの設置や保守運用を自社で行いながら、アプリなどの構築や管理も対応する必要があるため、時間と手間がかかる運用形態です。また、サーバー機器などを購入するための初期費用がかかり、物理サーバーを設置するスペースも確保する必要があります。
一方で、AWSはクラウドコンピューティング(仮想サーバー)なので、サーバー機器などの購入費用や管理の手間がかからず、サーバーを設置するスペースも必要ありません。AWSを利用した場合、1台のPCとインターネットの接続環境があれば、IT関連のリソース(サーバー・ストレージ・データベースなど)を必要な分だけ利用できます。つまり、AWSを導入すれば物理サーバーを自社に設置するよりも導入コストを抑えることができ、ビジネスをよりスピーディーに進められるようになりました。
オンプレミスの場合のサーバー構築にかかる費用相場や、料金の内訳などについては、以下のページでまとめています。
関連記事:サーバー関連費用の相場をまとめて紹介
パブリッククラウドとプライベートクラウドの違いは?
AWSのクラウドコンピューティングの種類は、主に「パブリッククラウド」と「プライベートクラウド」に分かれます。それぞれにメリット・デメリットがあるため、AWSを利用する目的や用途に合うものを選びましょう。
パブリッククラウド
パブリッククラウドとは、個人や企業がAmazonが提供するクラウド環境を共有して利用するサービスのことです。他のユーザーと共有環境であるため、自社の業務フローや要件と部分的にマッチしない場合があります。また、システムトラブル(ハードウェアの故障など)が起きた際は、運営会社の復旧対応を待つしかないことがデメリットです。
一方で、クラウド環境を構築するために必要なサーバーやストレージなどを手軽に利用でき、データセンターと契約する必要がありません。サーバー機器の購入費用もかからず、スピーディーに導入できるため、初期費用を抑えながらITリソースを増やしたい場合に適しています。
プライベートクラウド
プライベートクラウドとは、自社専用のクラウド環境を構築できるサービスのことです。ユーザーは自社(あるいは個人)のみなのでカスタマイズ性が高く、自社の業務フローに合わせてクラウド環境を整備・構築することができます。
一方で、サーバー機器などの購入費用がかかり、サーバーを設置するためにデータセンターと個別に契約する必要があります。また、サーバー機器などの設置や構築、運用保守を自社で対応しなければならないことがデメリットです。そのため、ある程度の導入コストをかけてでも独自のクラウド環境を構築したい場合に適しています。
AWSができること
サービスにおいてAWSのできること
AWSはさまざまな活用方法がありますが、サービスにおいてAWSのできることの一例を紹介します。
【配信】静的コンテンツを配信するサーバーを作れる(S3)
【データ保存】容量無制限で大量のデータを保存できる(S3)
【サーバー環境構築】仮想のレンタルサーバーを利用できる(EC2)
【データベース利用】保守・運用を任せながらデータベースを利用できる(RDS)
【セキュリティ】サイトなどのセキュリティレベルを診断できる(Amazon Inspector)
【専用回線】AWSを介して専用ネットワークを接続できる(AWS Direct Connect)
※上記の()内は、AWSのサービス名です。
プラットフォームにおいてAWSのできること
プラットフォームでAWSを活用する場合、以下のような内容に対応しています。
【開発】アプリの開発・構築・運用をスムーズに行える(AWS CodeStar)
【電子メール】大量のメールを一斉送信でき、開封率などを測定できる(AWS SES)
【データ分析】機械学習(ML)を利用してデータ分析ができる(Amazon Personalize)
【ワークフロー】AWSのサービスを連携・管理できる(Amazon Simple Workflow)
※上記の()内は、AWSのサービス名です。
AWSの代表的なサービス例
AWSのサービスは200種類以上もあり、それぞれ特徴やサービス内容が異なります。ここでは、AWSの代表的なサービスをいくつか紹介します。
AWS CLI(コマンドラインインターフェイス)
AWS CLIは、利用しているAWSのサービスを統合・連携し、自動化できるツールです。複数のAWSサービスを利用している場合は、よく行う操作をスクリプト(※)でまとめて自動化できるため、業務効率化が期待できます。また、自動化することで手作業によるミスを削減でき、自社の仕事の流れに合わせて独自の業務フローを柔軟に構築できます。
(※)スクリプトとは、プログラミング言語などへの変換作業を省略し、すぐにコンピュータが解釈・実行できるようにした簡易プログラムのこと
AWS Lambda(ラムダ)
AWS Lambdaは、サーバーレスコンピューティング(※サーバーを管理する必要がない)サービスです。アプリのプログラムコード(Function as a Service)を利用すると、自動でコードが実行されるため、アプリの開発やセットアップをスムーズに行えます。例えば、プログラムを定義することで、ファイルのインデックスや画像のサムネイルをリアルタイムで作成したり、コンテンツを検証したりなどの一連の作業を自動化できます。
Amazon RDS
Amazon RDSは、顧客情報や商品リストなどのデータベースを管理できるサービスです。複数のデータベースエンジン(※)を選択でき、既存のデータベースから簡単に移行することもできます。物理サーバーにデータベースをインストールする場合と比べると、機能が一部制限されるものの、データベースの運用・保守(ライセンス管理、ミドルウェアやOSの設定など)はAWS側が対応するため、管理者の負担を軽減できます。
(※)PostgreSQL、MySQLなどのオープンソースや、Oracleなどの商用データベースなど
Amazon CloudWatch
Amazon CloudWatchは、AWSで構築したアプリなどの状態を監視(モニタリング)できるサービスです。関連サービスとして、ログを保存する「Cloudwatch Logs」や、アラートを発信できる「CloudWatch Alarm」、イベントに応じたアクションを自動化・スケジューリング可能な「Amazon CloudWatch Events」などの種類があります。これらの機能を組み合わせて特定の作業でアラートが発信するように設定しておくなど、AWSの運用を自動化する際に活用されています。
Amazon EC2
Amazon EC2は、仮想レンタルサーバーを利用できるサービスです。仮想サーバーを自由に構築でき、各スペック(メモリやCPU、サーバーの台数など)を数クリックで変更できます。例えば、Webサイトの運用でEC2を利用すると、サーバー構築などの初期費用を抑えながら急なアクセス増加にも柔軟に対応することができます。EC2の仮想サーバーは、個人の開発環境から法人向けのハイスペックモデルまで、幅広い用途に対応しています。
Amazon S3
Amazon S3は、AWSのオンラインストレージサービスです。格納できるデータ容量は無限となっており、データの種類に関わらず保存や保護ができます。サービス上でデータ転送も簡単にでき、セキュリティ対策(データアーカイブや暗号化の機能など)も施されています。Webサイトやアプリ、その他バックアップなどの幅広い分野で活用されており、ビッグデータを分析する際に大量のデータを保存するために利用されるケースもあります。
AWSの利用メリット・デメリット
AWSを利用すると多くのメリットを享受できます。一方で、AWSを利用するデメリットもあるため、メリット・デメリットを把握したうえで導入するかどうかを検討しましょう。
AWSの利用メリット
AWSを利用するメリットは、以下のとおりです。
【コスト】
AWSを利用するとサーバー機器などの購入費用がかからないため、初期費用を抑えられます。また、サービスを使った分だけ料金を支払う「従量課金制」のため、月額料金などのサービスよりコストを調整しやすいことがメリットです。
【拡張性】
AWSのサービスはCPUやメモリ、ストレージの容量などの拡張性・柔軟性が高く、簡単に変更できることがメリットです。繁忙期にはサーバーの台数を増やし、閑散期にはサーバー利用を停止するなど、AWSを利用する目的や用途に合わせてカスタマイズできます。
【管理者の負担】
AWSを利用すると、従来は多くの費用と手間がかかった「ハードウェアのアップデート」を行う必要がないことがメリットです。AWS側にアップデート・メンテナンスを任せられるため、その分のリソースを業務にあてることができます。
【セキュリティ対策】
AWSのサービスは最新のセキュリティ対策が施されており、AWSのセキュリティサービスを組み合わせれば、機密情報や顧客データなどをきちんと保護することができます。重要情報を処理する際に適しており、政府の各機関や金融機関などもAWSを利用しています。
【リスク分散】
AWSは世界中にデータセンターを設置しているため、リスクを分散できることがメリットです。システムトラブルや大規模災害などが起こった際は、別のデータセンターへ自動でトラフィックが移動され、負荷が分散されるシステムになっています。
AWSの利用デメリット
AWSを利用するデメリットは、以下のとおりです。
【コスト】
従量課金制はコストを調整できますが、利用頻度によっては定額制のサービスより高額になる場合があります。また、利用した分だけ料金が加算されるため、事前に費用の見積もりを出すことが難しく、予算化しづらい点がデメリットです。
【トラブル対応】
AWSはサーバー構築などの環境を用意していますが、各サービスの設定や管理はユーザーが行う必要があります。システムトラブルなどが発生した場合は、自社で対処することになるため、トラブルシューティングのノウハウが必要です。(トラブル発生時は有料サポートを利用することもできます。)
【メンテナンス】
AWSのメンテナンス中はシステムが停止するため、その間は別のハードウェアを利用するなどのダウンタイム対応が必要です。自社でメンテナンスを行うことはありませんが、AWSのメンテナンス日にスケジュールを合わせる必要があります。
AWSの導入事例
ここでは、企業がAWSを導入した事例を紹介します。
株式会社ラフォーレ原宿では、コスト削減やセキュリティ対策向上のためにAWSを活用しています。もともとセキュリティ対策を施しており、サーバールームには免震装置を入れていましたが、震災を機に社内にサーバーがあること自体にリスクを感じるようになったそうです。
そこで、オンプレミスを検討したものの、セキュリティ対策が万全とはいえないので社内の給与サーバーをAWSへ移行し、サーバー管理にかかるコストや人的リソースを削減することに成功しました。
結果、サーバー管理にかかるコストや人的リソースを削減することに成功したそうです。以前はエアコンが1台切れると、サーバールームの温度上昇のアラートメールが届き、急遽出社しなければいけないこともありましたが、AWSは仮想サーバーなのでこのようなハードウェアの心配がなくなり、運営コストやサーバー管理の負担を軽減できました。
AWS関連のお仕事依頼ならクラウドワークス
AWSに詳しい人を探している場合、オンラインでAWS関連の仕事をスムーズに依頼できるクラウドソーシングサービス(※)がおすすめです。なかでも業界最大手の「クラウドワークス」は登録ワーカー数が500万人を超えており、エンジニアやプログラマ、Webデザイナーなどが多数登録しています。
プロフィールを閲覧すれば、AWSに関する実績や経歴、得意ジャンル、対応可能なツール、目安料金(希望時給など)を確認することができます。「AWSを使いたいけれど運用するだけの知識や経験がない」という場合などは、依頼する条件に合うエンジニアやプログラムを探し、スカウトすることも可能です。
【クラウドワークスでの発注事例】
・AWSの導入サポート(WebサービスをAWSに移行する作業など):5~10万円
・AWSのコンサルティング(研修の講師やアドバイザー業務など):時給3,000~4,000円
・AWS Amplifyを使った開発(フロントエンド、バックエンドの開発):月額30~40万円
・AWSのインフラ構築(要件定義、運用設計、テスト、運用保守など):月額50~80万円
・AWS認定資格の翻訳(問題集や解説文を日英翻訳するなど):1問あたり500~1,000円
▶クラウドワークスで発注されているAWS関連の仕事・案件の一覧を見てみる
(※)クラウドソーシングサービスとは、仕事を外注したい人・受注したい人をインターネット上でマッチングするサービスのこと
▶クラウドワークスの使い方や事例、発注相場がわかる資料をダウンロードする
まとめ
AWSは、従来の物理サーバーより導入コストが安く、ビジネスをスピーディーに進められる画期的なサービスです。200種類以上のAWS関連サービスがあり、さまざまな用途に対応しているため、ITリソースを増やしたい場合は利用するかどうかを検討しましょう。なお、類似したサービスとして、Google(Google Cloud Platform)や、Microsoft(Microsoft Azure)などが挙げられますが、AWSは世界シェアNo.1のサービスです。
Azureの料金体系や見積もり方法、料金計算ツールの使い方などについては、以下のページを参考にしてください。