
クラウドサービスという言葉を最近よく耳にすることが増えましたね。
クラウドサービスは目の前に物理的に存在しなくても、データを取り扱ったりサーバーを構築したりできるサービスになります。
このmoriblog(モリブログ)を運営しております筆者は30歳から未経験でエンジニア異キャリアチェンジを行いました遅咲きエンジニアです。このブログでは筆者の経験からIT業界やIT技術について発信しておりますので、興味のある方は読みすすめていただけたら幸いです。
さて現在では自身のPCやスマホ以外でもクラウドサービスを使うことでデータを保存するというようなことも意識せずともやっている方が多いのではないでしょうか?
アメリカの巨大企業のAmazonは皆さんご存じだと思うのですが、このAmazonは自分の販売サイト(EC)以外にもアマゾン ウェブ サービス(AWS)というクラウドサービスを提供しております。
この記事では今注目されているアマゾン ウェブ サービス(AWS)について書いております。これからIT業界に関わることを検討している方は必須の知識になりますので読んでいただくことをお勧めします。
※IT業界の情報について知りたい方は以下も合わせて読んでみてください。
アマゾン ウェブ サービス(AWS)とは?
AWS(アマゾンウェブサービス)とは、Amazonが提供しているクラウドサービスの総称になります。
目の前に物理的なサーバーやネットワークが無くとも、インターネットのブラウザ上で、システムを構築できる複数のサービスをAmazonが提供しておりこのサービスをまとめてAWS(アマゾンウェブサービス)と言っています。
アメリカのAmazonはショッピングサイト以外にこのようなサービスを運営しているというのは知らない方もいらっしゃるのでは無いでしょうか?
アマゾンでお買い物したことのある方は理解されているかもしれませんが、アマゾンのショッピングサイトは非常に様々なデータやプログラムを使っておりますので機能が充実しています。もちろん世界中の方々が毎日たくさん利用されていますが、サーバーが落ちてしまって買い物ができなくなってしまったということは起きていないですよね?
アマゾンのサイトは世界各国からアクセスがあるため貧弱な環境ではサーバーがダウンしてしまいとてもショッピングができる状態ではなくなってしまいます。
膨大なアクセスに対応するために、Amazonは各国にデータセンターを作りリクエストを分散するなどの対応をしながら運営した結果インフラのノウハウが蓄積されていったようでして、自分たちで環境した環境を切り売りして使いたい人にお金を払ってもらって遣わしてあげればサービスになるというところからスタートしたようです。
AWSのサービス開始は2006年からになります。
現在でも主要なサービスである
などがこの時点から使用開始になっていました。
AWS(アマゾンウェブサービス)の社員の方にお話をお伺いする機会があったのですが、AWSのサービスで得た収益のほとんどはAWSの開発に費やすそうです。
なのでAWS(アマゾンウェブサービス)の更新は頻繁に行われており、先日まで見ていた画面が全然違うデザインになっていたり、機能が追加になっていたりということも多々あります。
こちらは機能追加に関してはAWS(アマゾンウェブサービス)公式のドキュメントなどで案内がある場合や利用にはAWS(アマゾンウェブサービス)のアカウントが必要になりますのでアカウントのメールアドレスに通知が来ることもあります。
AWS(アマゾンウェブサービス)以外にもMicrosoft Azure(アジュール)やGoogle Cloud Platformなどクラウドサービスを提供している事業者はいくつかありますがサービスの数はAWS(アマゾンウェブサービス)がダントツに多いです。
比較的他の事業者に比べても歴史もあることからAWS(アマゾンウェブサービス)は、クラウドサービスのなかでもトップクラスの高い人気を誇っています。
最近AWSを使って環境構築を行ったりサービスを作り上げるエンジニアをAWSエンジニアと呼ばれたりします。
アマゾン ウェブ サービス(AWS)の特徴
データセンターなどに購入したサーバーやネットワークを構築する環境をオンプレミスと呼ばれます。
このオンプレミスの環境にこのAWS(アマゾンウェブサービス)を比較されるのですが、オンプレミスの環境とクラウド環境ではそれぞれメリットとデメリットがあります。
AWS(アマゾンウェブサービス)のメリットとデメリットとしては以下のように言われています。
対してオンプレミス環境でのメリットとデメリットに関しましては以下のように言われています。
AWS以外のクラウドサービスも基本は上記と同じ考えになります。
AWSなどのクラウドサービスの料金に関しては従量課金(使用したら使用した分の支払い)という形態を取っており、使用するサービスやスペックによって金額は変わります。また事業者によっても金額設定は異なります。
現在では様々なWEBサービスやWEBシステムがクラウドサービスで構築されておりますので、インフラエンジニアを目指している方はもちろん、プログラマーやシステムエンジニアなどのエンジニアはクラウドサービスについては知っておく必要があります。
クラウドサービスのメリットとしてはスペックの変更などが容易ということが挙げられ
AWS(アマゾンウェブサービス)の代表的なサービスであるEC2(クラウドコンピューター)の例であげますと、スペックや容量も都度変えることが出来ます。
容量に関しては一度上げてしまうと面倒なのですが、メモリーなどのスペックは簡単なボタン操作で行うことで変更が可能となっております。
想定より高スペックなマシンにしてしまったとしても変更してリソースを落とすことができますし、逆にスペックが足りていなくてサービスとして裁けない状況でもスペックを変更したり台数を増やし分散処理(冗長化)することで柔軟に対応することができます。
AWS(アマゾンウェブサービス)はVPCという閉ざされたネットワーク上にEC2(クラウドコンピューター)などを使ってインフラを構築し、また構築したインフラ上にAWSのサービスやその他のソフトウェアなどを組み合わせることで、Webやネットワークに関するさまざまな機能をセキュアに使用することができます。
AWS(アマゾンウェブサービス)の主要サービス
AWS(アマゾンウェブサービス)の代表的な主要サービスをいくつかご紹介いたします。
Amazon Elastic Compute Cloud(EC2)

EC2(クラウドコンピューター)はAmazon Elastic Compute Cloudの略になります。
ということでして
AWS(アマゾンウェブサービス)のサービスではこのような名前の付け方がいくつか存在します。
Amazon EC2はEC2インスタンスと呼ばれ、EC2インスタンスを作成して起動することで、クラウドコンピューターとして利用することができます。
EC2インスタンスに載せるOS(オペレーションシステム)は様々ありまして、LinuxやWindowsサーバーも構築することができます。
Amazon EC2は必要なリソースを必要な分だけ調達して使用することができるサービスとなっており、レンタルサーバーのように仮想サーバーとして運用することが可能です。
例えば、
などを組み合わせることで、初期費用をかけずに柔軟性や拡張性の高いWebサイトを運用することができます。
Amazon Lightsail

サーバーにWordPress(CMS)を構築するということであればAmazon Lightsailを使う選択もあります。
Amazon Lightsail とEC2の違いとしては、
Amazon Lightsail はパッケージングされているサービスのためある程度ワードプレスやELB等の用意はされていますが、ある程度型が決まっているため
柔軟にさまざま場面での用途で考えるのであればEC2の方が良いです。
単純にWordPressなどで自身のブログを構築するにはAmazon Lightsailの方がコストパフォーマンスに優れます。
仮想サーバーのようなネットワーク上のインフラをインターネットのサービスとして構築したサービスをIaaSといます。
Amazon EC2やAmazon LightsailはIaaSの代表的なサービスです。
他にもコンテナという仮想システムを使ったECSなどもあり使用者が柔軟に状況に応じてこれらのサービスを使い分けています。
Amazon S3

Amazon Simple Storage Service (Amazon S3) は
AWS(アマゾンウェブサービス)の主要なサービスの一つでオンラインストレージと呼ばれます
大容量のストレージとして機能し、静的WEBサイトのサーバーとしても利用が可能です。
S3の特徴は以下になります。
S3に関しては静的ホスティング機能がありまして、
WEBサーバーとしての機能を持ち合わせております。
サーバーサイドのプログラムを動かすことはできませんが、
httpもしくはhttpsでアクセスした際に静的な画面(html、css、javascript)の表示ができます。
サーバーサイドの実装はできませんがAPIサーバーやデータベースを別途用意することでアプリケーションの構築も可能となります。
Amazon S3のようなクラウド上で提供されるソフトウェアをSaaSといいます。
ビッグデータ分析
AWS(アマゾンウェブサービス)は企業内のオンプレミスやIoTのデータを取り込み、Amazon S3などを使用して保存したうえで、機械学習による分析を行うことができます。
分析可能なサービスとしては、
などがあります。
Amazon RDS

Amazon RDSはにデータベースのインスタンスを構築して運用することができます。
データベースの種類としては有名どころのデータベースが使用できますが、Amazon Auroraというアマゾンが最新技術を使って作ったデータベースがあります。
Auroraは既存のデータベースをAWS(アマゾンウェブサービス)が現在の技術で再構築したらどうなるかを体現したデータベースです。
RDSは
などを容易に行うことができます。
RDSのように、OSやミドルウェアを実行するためのインフラを提供するサービスをPaaSといいます。
Amazon Route 53

Amazon Route 53 は、可用性と拡張性に優れたクラウドのドメインネームシステム (DNS) ウェブサービスになります。www.example.com のような名前を、コンピュータが互いに接続するための数字の IP アドレス (192.0.2.1 など) に変換するサービスになります。
Route 53を使うことでドメインをAWSの各サービスと連携してhttp httpsの連携が可能になりますのでAWSでWEBサービスを使う場合は必ず利用することになります。
Elastic Load Balancing

Elastic Load BalancingはAWS(アマゾンウェブサービス)のロードバランサーのサービスになります。
種類としては
があります。
以前のElastic Load Balancingはクラシックロードバランサーと呼ばれ最新のロードバランサーはApplication Load BalancerとNetwork Load Balancerとなります。
ロードバランサーはサーバーの冗長化に使われるシステムになりましてAWSであればEC2の負荷が大きい場合に分散処理をさせるためEC2インスタンスのコピーを作成しロードバランサーを使ってリクエストを自動的に振り分けるという手法がとられます。
AWS(アマゾンウェブサービス)のベストプラクティスは冗長化構成なのでWEBサービスを構築する際にはElastic Load Balancingを利用することになるでしょう。
Elastic Load Balancingはリクエストによって課金されますが、クラシックロードバランサーとその他のロードバランサーでは課金の計算方法が違います。
Amazon CloudFront

Amazon CloudFront は、高速コンテンツ配信ネットワーク (CDN) サービスです。
世界各国様々なサーバー(エッジサーバー)の集まりによって、リクエストされた場所で一番近いサーバーからデータ配信を行うことで高速コンテンツ配信を実現します。データはキャッシュして次回も同様のデータがリクエストされた場合はCloudFrontの先(オリジン)に問い合わせることなくキャッシュしたデータを返します。
このようなサービスをCDNと呼ばれます。
Amazon CloudFrontはS3やElastic Load Balancingなどのhttp httpsリクエストを受けるサービスと連携して利用します。
AWS Lambda
AWS Lambdaはサーバーを作成したり管理する必要なくコードを実行できるコンピューティングサービスになります。
APIサーバーと同じ機能ををAWSマネージメントサービスのAWS Lambdaを使うことで実現可能になります。
各AWS(アマゾンウェブサービス)との連携も可能で
例えばS3のこのフォルダにファイルが保存されたらコードを実行してAmazon RDSにデータを書き込むなどの操作が可能です。
ユーザーがサーバーを用意ぜずともサーバーサイドのプログラムを実行可能となっておりサーバレスアーキテクチャと呼ばれ注目を集めています。
AWS Lambdaはコードの実行により課金となります。
AWS(アマゾンウェブサービス)のベストプラクティス

AWS(アマゾンウェブサービス)のベストプラクティスとしてはAWS マネージドサービスを利用し、スケーラビリティで高耐久な構成にすることです。
AWS(アマゾンウェブサービス)では
という地理的な概念があります。
リージョン
リージョンはAWS(アマゾンウェブサービス)の国という概念になります。
東京リージョンは
アジアパシフィック (東京)
となりコード上では
ap-northeast-1で書きます。
EC2などのサービスはこのリージョンを決めて構築することになりますが、
サービスによってはグローバルリージョンとして提供されリージョンの指定ができないものもあります。
サービスによっては特定のリージョンでしか使えないサービスもあります。
アベイラビリティーゾーン(AZ)
アベイラビリティーゾーン(AZ)はリージョン内に複数あるデータセンターのことです。
各リージョンには複数のデータセンター(AZ)がありましてこの複数のAZを使ってインスタンスを構築することをMulti-AZといいます。
AWS マネージドサービスはマルチリージョン、Multi-AZが標準で組み込まれているため障害にも強いということが言えます。
AWSの障害
AWSは安定したサービスを提供されていますが、障害は発生します。
2020年4月20日午後7時ごろから午後11時ごろにかけて東京リージョンで規模な障害が発生しました。
この時はEC2やRDSなどのインスタンスには影響はありませんでしたが以前にはこれらのインスタンスに影響のある障害も発生しています。
障害がデータセンターの一箇所のみの場合であれば冗長化構成を取ることでもう片方のサーバーが生きていればサービス継続が可能となります。
AWS(アマゾンウェブサービス)のベストプラクティスとしてはAWSマネージドサービスを利用するということですが、EC2インスタンスなどのIaaSを利用する場合は冗長構成を検討する必要があります。
この記事のまとめ

AWS(アマゾンウェブサービス)の各設定に関しては公式ドキュメントを読んだりインターネットで読んだりすることが必要なこともありますがAWSで困ったときはネット上でも対処法を上げている方が多くいます。
情報自体は豊富で親切ですので、初心者にも理解しやすい環境が整っております
AWSの理解が深まると、ITの仕事の幅も広がります。
AWSは無料枠もありますのでまずは使ってみたいという方がいましたら登録をしてみるのもいいでしょう。登録にはクレジットカードが必要になります。
下記がAWSのTOPページになります。

エンジニアの職業はインフラエンジニア(AWSエンジニア)の他にもさまざまあります。 AWSエンジニア 以外のエンジニアにも興味がある方はエンジニアの種類についてまとめましたので以下の記事を確認してみてください。
プログラミングやIT知識に関する学習は時間がかかります。
プログラミングスキル・IT知識を最短で学習しプログラマーやエンジニアとして働きたいという方はエンジニアスクールやプログラミングスクールを使うことが現在では当たり前となっています。
以下のリンクにて無料から有料の「プログラミングスクール」「エンジニアスクール」についての情報をまとめて共有していますので是非参考にしてください。
未経験からエンジニアを目指す場合には業界情報や職種に関する情報、IT技術や用語など知るべきことが多くあります。以下の記事にて業界未経験のエンジニア職希望者が知るべき情報をまとめていますので是非見てみてください。
この記事が参考になった、役に立ったと感じていただけましたらフォローとシェアをお願いいたします。
No tags for this post.
コメント 記事に関するご意見・ご感想・ご質問などお気軽にどうぞ!※メールアドレスは非公開です