エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
AWS(Amazon Web Services)は、Amazon社が提供しているクラウド上のインフラストラクチャープラットフォームです。
今回はAWSの特徴やAWSの便利なサービスをご紹介します。
AWS は、低コストで拡張性の高いクラウド上のインフラストラクチャープラットフォームです。企業や組織のスピーディでフレキシブルな活動をを実現するために役立つ、幅広いサービスを複数提供しています。
ここではAWSの特徴をご紹介します。
他社サービスと異なり、AWSの各サービスは従量制料金を採用しています。AWS では個々のサービスに対し、利用する期間のみ料金を支払います。さらに、サービスの使用量が増えると、料金も安くなります。
さらに、サーバー群はAuto Scaling(自動的スケーリング)によって、高負荷時は自動的に台数が増え、低負荷時は自動的に少数にします。そのため、各サービスだけではなく、サーバー使用も従量制料金で請求します。
(出典:Amazon)
この画像は、世界各地にあるAWSのアベイラビリティーゾーン(AWSを運用するサーバーのロケーション)の位置を表した図です。世界中の 18 個の地理的リージョンとひとつのローカルリージョンにある、 54個のアベイラビリティーゾーンで運用されています。
この数は現在も増え続けており、中国香港特別行政区やスウェーデンなども近日に追加する予定です。
(出典:Amazon)
AWSはクラウドストレージのシステムであるため、オンプレミスよりセキュリティ性が高いという特徴があります。保管中/転送中にはデータをデータを暗号化し、ユーザーのデータを守っています。
AWSにおいて、Amazon InspectorやAWS Certification Managerなどのような複数のセキュリティサービスがあります。さらに、AWSは、多数の第三者認証の取得や保証プログラムへの準拠を検証しています。AWSは、ISO(国際標準化機構)やアメリカ国防総省などの基準に準拠しています。国際的権威のある組織に認められるほどセキュリティが強固なため、安心してAWSを使えます。
Dockerは、アプリケーションを構築、テスト、デプロイできるソフトウェアプラットフォームです。その中、コンテナと呼ばれるDockerで使われているユニットにソフトウェアをパッケージ化します。
コンテナに格納されるコードは、どの環境においても、同様な操作になります。操作が異ならないため、サービスの統一感にとっては重要です。
AWSには、Amazon EX2 Container Serviceのようなプラットフォームを利用し、AWS で簡単に実行およびスケールできます。
AWSのサービスは年々増加の一途を辿っています。2017年時点では、1,430のサービスがリリースされました。その中、サービス群も100個超えています。アナリティクスやアプリサービス、IoTなどの幅広い分野があります。
機能が多くて便利そうな一方、自社に必要な機能の見極めや、アップデート情報をキャッチしづらいのがデメリットです。乗りこなすには、AWSの公式ブログをチェックしたり、イベントに参加するといった積極的な情報収集が求められます。
下記のサービスはAWSのインフラストラクチャの一部であります。AWSに登録しているユーザーが利用できます。
Amazon S3とは、AWSのプラットフォームにおけるインターネット用のストレージサービスです。Webサイトやモバイルアプリケーション、社内アプリケーション、ビッグデータ、IoT センサーやデバイスからのデータなどの保存と取得ができるクラウドストレージです。
サイトのファイル(オブジェクトと呼ばれている)を「バケット」という形で保存し、Amazonのクラウドストレージにアップロードします。
Amazon Simple Storage Services (S3)
Amazon CloudFrontは、データ、ビデオ、アプリケーション、API をビューワーに安全に配信するグローバルコンテンツ配信ネットワーク (CDN) サービスです。
ユーザーが用いているウェブサーバーをオリジンサーバー(元データを格納するサーバー)として Amazon CloudFront に登録し、ウェブページ内のコンテンツリンク先をキャッシュ参照用 URL に変更すると、Amazon CloudFront がオリジンサーバーからデータを取得できます。
Amazon S3とCloudFrontのサービスを合わせて使うと、サイト内のコンテンツをセキュリティ性の高いサーバーに保存できます。CloudFrontによって、読み込み時間とファイル形式を最適化し、世界各地のユーザーにコンテンツを配信できます。
AWS Lambdaとは、サーバーなしにアプリケーションコードをクラウド化し、イベント駆動でコードを実行できるサービスです。また、サーバレスアーキテクチャの中心となるサービスです。
AWS Batchとは、バッチ処理を実行できるサービスです。Lambdaのサービスと類似していますが、Lambdaのリクエストの限界は最大実行時間300秒であるため、時間のかかる処理や複雑な処理をしたい時にはAWS Batchを使うべきです。
Amazon Regional Database Serviceとは、Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle、Microsoft SQL Serverの6つのデータベースエンジンを簡単にセットアップし、運用・拡張ができるサービスです。
Amazon Regional Database Service
AWS Direct Connectとは、オンプレミスのネットワークとAWSのネットワークを接続できるプライベートネットワークサービスです。
AWS Database Migration Serviceとは、既存のデータベースをAWSに移行できるサービスです。ソースコードとしては、RDBとMongoDBがサポートされています。
AWS Database Migration Service
AWS Elastic Beanstalkとは、アプリケーションのクラウド化・管理ができるサービスです。AWSのPaaSの一種です。
Amazon API Gatewayとは、RESTful APIを作成し、クラウドに転送できるサービスです。データの転送先として、Webサイト、Lambda関数、その他のAWSサービスがサポートされています。
Amazon Route 53とは、可用性が高くスケーラブルなクラウドDNSです。リソースのヘルスチェック、ルーティングポリシーとトラフィックポリシーに加え、通常のレコードタイプのほかエイリアスレコードもサポートされています。
Amazon Chime は最新のオンラインミーティングサービスです。高品質な音声とビデオ通信を備えており、ストレスのない会議を実現できます。
Amazon AppStream 2.0とは、任意のデバイスでデスクトップアプリケーションをストリーミングできるサービスです。ユーザーは必要なアプリケーションに、安全かつスムーズにアクセスすることができます。アプリケーションの書き換えは必要ありません。
Amazon Connectは、あらゆる規模の顧客窓口を簡単に構築できるサービスです。Amazonのコネクトセンターと同様の技術がAmazon Connectで用いられています。プログラミングの知識がなくても、Amazon Connectの管理画面を用いて、対応フローの設計、スタッフの管理、業績指標の追跡を設定できます。Amazon Connectにかかる費用は、分単位の従量課金と、開発者が使う電話サービスの料金だけです。
Amazon Lex は、アプリケーションに対話型インターフェイスを構築するサービスです。音声のテキスト変換には自動音声認識 (ASR)、テキストの意図認識には自然言語理解 (NLU) という学習機能が搭載されているため、ユーザーにとっては自然な会話ができるアプリケーションになります。
なお、Amazon LexにはAmazon Alexaと同様の学習技術が用いられています。
Amazon Pinpoint は、メール、SMS、モバイルプッシュメッセージをユーザーに送信できるサービスです。Amazon Pinpointは、アプリに組み込んで使用状況データをキャプチャでき、ユーザーのアプリ操作状況についてより良く理解できるようになります。また、ユーザーに送られたメールの開封状況やメッセージのクリック数など、メッセージに対するユーザーの対応を追跡することができます。
Amazon ECS(Elastic Container Service)とは、Dockerコンテナの拡張性とパフォーマンスを最適化するコンテナオーケストレーションサービスです。これにより、コンテナ化されたアプリケーションを AWS で簡単に実行およびスケールできます。
Amazon EKS(Elastic Container Service for Kubernetes)は、Kubernetes を AWS で実行できるようにするマネージドサービスです。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動的に行うためのオープンソースシステムです。
AWS Fargateとは、Amazon ECS や EKS のテクノロジーを使い、サーバーやクラスターなしでコンテナを実行できます。AWS Fargate を使用すると、コンテナを実行するために仮想マシンのクラスターをプロビジョニング、設定、スケールする必要がありません。
Amazon ECR(Elastic Container Registry)は、Dockerコンテナレジストリです。このレジストリを使うと、開発者は Docker コンテナイメージを簡単に保存、管理、デプロイできます。
AWS EC2は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。
AmazonはもはやECサービスに限らず、AWSを提供することによって、インターネット業界への大きなな影響を及ぼしています。AWSの大きな特徴は、その料金制度とアベイラビリティーゾーンの世界展開にあります。さらに、AWSのサービスは非常に多くあり、状況に合わせて様々な施作が展開できます。
今後のWeb開発において、AWSを使ってみてはいかがでしょうか?
(翻訳:Jordan Colston)