クラウドコンピューティングサービスの利用を検討していますか?
現在、最も人気のあるクラウドサービスはAmazon Web Services(AWS)でしょう。
いざAmazon Web Services(AWS)を使ってみようと思ってはみても、提供されているサービスが多すぎて、どれから手を付けたらいいのかよくわからない方も多いのではないでしょうか?
この記事では、Amazon Web Services(AWS)でどんなサービスが提供されているのかざっくり知りたいエンジニアの方のために、AWSの概要や主要サービス、関連ツールなどを説明していきます。ぜひご一読して、業務にクラウドコンピューティングを取り入れてみてください。
Amazon Web Services(AWS)の概要
Amazon Web Services(AWS)サイト:https://aws.amazon.com/jp/
AWSとは、Amazonが提供するクラウドサービスの総称です。Amazonが保有する膨大なコンピューターリソースを、使用量に応じた従量課金制で使用できます。オンプレミス(自社)サーバーのように多額の先行投資が必要なくなり、システムコストを下げることが可能です。また、多数のデータセンター(アベイラビリティーゾーン、AZ)で構成されており、AZも世界中の地域(リージョン)に分散して配置されています。このため、物理障害に強いシステムを構成することができます。現在のところ、40以上のサービスから成り、100万社を超える企業で利用されています。
AWSで提供されている主要サービス一覧
Elastic Compute Cloud(EC2)
多くのシステムの基盤となる、仮想マシンを実行できるサービスです。AWSといったらEC2を思い浮かべる方も多いでしょう。クラウド上でLinuxやWindowsなどの仮想マシンを起動して、その上でアプリケーションを実行することができます。課金は1時間単位で仮想マシンの性能や転送データ量などに基づいて行われるので、必要なときだけ仮想マシンを起動すればコストを抑えられます。一般的に、EC2と他のAWSサービスを組み合わせることでシステムを構築することが多いです。
Elastic Load Balancing(ELB)
ELBは、仮想的なロードバランサーサービスです。ある程度の規模のシステムでは、すべてのトラフィックをひとつの仮想マシン(EC2)で処理するのは無理があるため、ELBを使って複数の仮想マシンにトラフィックを分散して処理します。また、常に仮想マシンのヘルスチェックを行い、異常がある仮想マシンにはトラフィックを送らないようにすることも可能です。安定したシステムを構築するには欠かせない要素でしょう。
Simple Storage Service(S3)
S3は、KVS(Key Value Store)に分類されるオンラインストレージサービスです。データ(オブジェクト)を、パケットと呼ばれるコンテナにキーと紐付けて保存します。オブジェクトを取得する際には、パケット名とキーを指定して取得するオブジェクトを特定します。RDB(リレーショナルデータベース)を使うまでもない、シンプルなデータモデルを扱う場合に適しています。RDBとKVSには向き不向きがありますので、利用用途に応じて適切に選択しましょう。
CloudFront
CloudFrontは、CDN(コンテンツデリバリーネットワーク)サービスです。ユーザー(クライアント)から最も近い場所からデータを配信できるため、EC2から直接HTMLやCSS、JavaScriptなどを配信するよりも短い時間で配信することができます。ユーザービリティの改善に一役買ってくれるでしょう。配信元になるエッジロケーションは世界中に配置されているので、どんな地域にも対応できます。
Relational Database Service(RDS)
AWS上でRDBを利用できるサービスです。現在のところ、Amazon Aurora(MySQL互換DB)やOracle、SQL Server、PostgreSQL、MySQL、MariaDBといった主要なデータベースエンジンに対応しています。ボトルネックになりやすいデータベースを、簡単にスケールできるクラウドに任せられるのはうれしいですね。サーバーの管理からも開放されて一石二鳥です。最近では、次に説明するNoSQLデータベースも普及が進んでいます。
DynamoDB
DynamoDBは、NoSQLと呼ばれるスキーマレスデータベースのひとつです。スキーマ定義が不要なため、JSONなどの半構造化データを効率的に格納できます。従来のRDBには不得意な分野をカバーするのがNoSQLデータベースの役目です。使い分けが肝心なので、本来RDBが必要な部分に誤ってNoSQLを採用しないように注意してください。両者は競合するものではなく、共存するものなのです。
Route 53
Route 53は、AWS上でDNSを提供できるサービスです。このサービスから直接ドメインを取得することもできます。また、ELB同様、エンドポイントのヘルスチェックを行い、異常が発生しているエンドポイントを自動的にルーティングから外すなどの対応が可能です。
Amazon Web Services(AWS)を使った開発を便利にするツール
AWSコマンドラインインターフェース(CLI)
AWS CLIを使うと、AWSのサービスをCLIから操作できるようになります。慣れればGUIよりも素早く操作できますし、自動化する際にはCLIが必要になってくることでしょう。
AWSコマンドラインインターフェース(CLI)公式ページ:https://aws.amazon.com/jp/cli/
AWS SDK
AWSでは、Javaや.NET、PHPなど主要な言語を対象としたSDKを提供しています。自前でAWSにアクセスするコードを書かなくてもよいので便利ですね。対象の言語を使っている場合は、積極的に利用しましょう。
AWS SDK公式ページ:https://aws.amazon.com/jp/tools/#sdk
IDEプラグイン
IDEからAWSにアクセスできるプラグインも提供されています。現在のところ、Eclipse用とVisual Studio用の2種類のみです。デプロイやデバッグなど、面倒な作業がIDEからできると生産性も向上しそうですね。
IDEプラグイン公式ページ:https://aws.amazon.com/jp/tools/#ide
Amazon Web Services(AWS)の無料利用枠を活用しよう
AWSで新規にアカウントを取得すると、12ヶ月の無料利用枠が与えられます。これは、サービスごとに設定されている一定の利用条件内ならタダで使用できるというものです。中には、期限後にもそのまま無料で使えるサービスもあります。評価目的や学習目的のみならず、スモールスタートでの実運用にも活用できるでしょう。
非常に多くのサービスが対象になっており、ここでは書ききれないため、詳細は下記のページをご覧ください。なお、AWSアカウントの登録にはクレジットカードが必要です。もちろん、無料枠内なら課金はされません。課金されたくない方は、無料枠を超えないように注意してください。
AWSの無料利用枠について:https://aws.amazon.com/jp/free/
まとめ
Amazon Web Services(AWS)には非常に多くのサービスがあり、これからも増え続けていくことでしょう。しかし、一般的なアプリケーションに使われるサービスは限られています。ひとまず主要なサービスをおさえておき、それ以外のサービスは必要に応じて学んでいくとよいでしょう。無料利用枠を最大限に活用して、学習を進めていくことをおすすめします。あなたはどんなことにAWSを使ってみたいですか?
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments