最終更新
AWS のサービス一覧です。全サービスをおよそ3行で説明します!
目次
AWS 全サービスを 3行で
Amazon Athena とは
S3 に置いてある CSV, TSV, JSON などの形式のファイルの内容を、SQL で検索できる。 ファイルをまるごと手元に持ってくる時間と転送量を節約できる。 まず CREATE TABLE 文を発行し、S3 上にあるファイル群と対応づけたテーブルを作成する。そうすると、そのテーブルに対して SELECT することができる。WHERE 句や、GROUP BY なども普通に使える。
また、CREATE TABLE 文を発行するのではなく、AWS Glue のカタログ機能を使ってテーブル定義 (スキーマ) を作成しておく方法もある。
Athena を使うにはコンソール上でブラウザから SQL を実行できる (下記画面)。
ほかにも、JDBC/ODBC 経由でアクセスする、API を叩く、などの方法がある。
Athena は「アテナ」と読む。同類のサービスとして S3 Select がある。
AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)
Amazon API Gateway とは
世の中の API 全般を考えた上で、「API にあると便利な仕組み」を盛り込んだフレームワーク。
API Gateway 自体が何かしてくれるわけではなく、API Gateway が外部からリクエストを受け、 別のモノを呼び出し、結果を返すという考え方。 提供機能として、バージョン管理 (ステージング環境の提供や前バージョンへのロールバック)、 認証、監視、集計 (呼び出し回数/結果/レスポンスタイムなど)、キャッシュ機能などがある。また、リクエストやレスポンスの内容を、テンプレートを使って変更する機能があるので、 例えば XML でデータのやりとりを行う既存 API が存在するが、呼び出し側は REST でいきたい場合など、 API Gateway が間に入って変換を担当することができる。
API Gateway が呼び出せるのは、Lambda・Step Functions・EC2などのHTTPエンドポイント・Kinesis など。
AWS/Azure/GCP サービスマッピングへ (api)
Amazon Aurora とは
Amazon が作ったデータベースエンジン。MySQL 互換ながら、MySQL より高速で、耐障害性が高い。 Amazon RDS のラインナップのひとつ。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (rdbms)
Amazon Aurora Serverless とは
インスタンスを立ち上げる必要がない Amazon Aurora。2017/12 現在、プレビュー。
- AWS Lambda
- AWS サービス (S3・DynamoDB・SES・SNS・SQS・EC2・ECS・ELB 等々まだまだたくさん)
- 外部の http/https API
Lambda を起動する方法は DynamoDB・S3・SNS・Kinesis 等があるが、 API Gateway からの呼び出しが最も一般的な方法と考える。 また、S3 等の AWS サービスはそもそも REST API を持っているが、API Gateway を使うと 上記に記載した提供機能が使える上、統一的な API 設計が可能になる。
AWS/Azure/GCP サービスマッピングへ (api)
Amazon AppStream 2.0 とは
ブラウザ上で、Excel・Word や、その他好きな Windows デスクトップアプリケーションを利用できるサービス。 ブラウザ上で動作するリモートデスクトップのような感じだが、 管理者によってあらかじめ定められたアプリケーションしか使うことができない。
管理者は Image Builder という機能を使い、アプリケーションを追加できる。 使い所としては、下記のような感じではなかろうか。
- コールセンターや窓口業務で数千人の社員がいて、ある業務アプリが使えればそれで仕事ができる環境があるとして、 手元にはブラウザが動く程度の安い PC を準備し、全員 AppStream で仕事をし、各自 PC の OS 管理や業務アプリの配信管理の手間を省く
- 3D モデリングのような CPU/GPU リソースが必要なアプリを AppStream 経由で操作する
お試しの場合、Excel, Word , Visio, Eclipse, MS-Project, Firefox などが使える。 実体としては EC2 上で Windows Server 2012 R2 64 ビット が稼働しており、 その画面が手元のブラウザに転送されている、という仕組み。
ちなみに 2.0 ではない AppStream というものもあったが、SDK での開発が必須だったりして、 フルリニューアルしたのが AppStream2.0 である。元の AppStream はもう使うことはできない。
普通のクラウドデスクトップを使いたい場合は Amazon WorkSpaces を使うとよい。
AWS/Azure/GCP サービスマッピングへ (cloud-desktop)
Amazon Chime とは
複数人でのテキスト・音声・ビデオチャットサービス。スクリーン共有や録音機能も備える。 Windows、macOS、iOS、Android で利用可能。 Chime は「チャイム」のこと。 競合サービスは Slack・Skype・LINE など。
AWS/Azure/GCP サービスマッピングへ (chat)
Amazon Cloud Directory とは
フルマネージドなディレクトリサービス。 AWS Directory Service はユーザ管理に特化しているが、 Amazon Cloud Directory はより汎用的な使い方を想定しているのと、 何億という大規模データにも対応可能なのがウリ。 ユースケースとしては、人事アプリケーション・フリート管理システム・学習管理システムがおすすめだそうだが、 当ページ管理人はこういうミドルウェアを使ったことがないのでよくわからない。
AWS/Azure/GCP サービスマッピングへ (directory)
Amazon CloudFront とは
AWS の CDN サービス。主に画像等の静的なファイルを配置することで、 レスポンスタイム向上・サーバ負荷軽減が実現できる。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (cdn)
Amazon CloudSearch とは
フルマネージドな全文検索エンジン。例えば EC サイトなら商品検索ができる。 ソーシャルネットワークならメッセージ検索ができる。Wikipedia なら全ページ検索ができる。 内部は Apache Solr。 あいまい検索・表示順重み指定・日付検索・ファセット・ヒット部分の強調表示・独自の辞書等、 それなりに充実している。自動スケール機能あり。 より低レイヤの制御をしたい場合は Elasticsearch へ
AWS/Azure/GCP サービスマッピングへ (search-engine)
Amazon CloudWatch とは
CloudWatch は AWS サービスについてリソースを監視し、通知するサービスである。 各サービスごとに様々なメトリック (指標値) が定められており、 例えば EC2 であれば、CPU 使用率・ディスクIO回数・1分以内の生存チェック。 Lambda であれば呼び出し回数・失敗回数。 SQS であれば処理中メッセージの数、最も古いメッセージの経過秒数など。
メトリックがあるルールに合致した場合、通知・SQS・SNS・EC2操作・Auto Scaling を発動するようなルールを定めておくことができる。
例えば EC2 の CPU 使用率が 80% を超えている状態が 10分間以上継続したら Auto Scaling で 1インスタンス増やしたり、 生存チェックが失敗したら該当インスタンスを再起動したり、 SQS で 1時間処理されないメッセージがあれば SNS 経由でメール通知する、などなど。
請求額が一定額を超えたら通知、というのもできる。
なお、カスタムメトリクスというものがあり、あらかじめ準備されているメトリクス以外に、 好きなメトリクスを追加し、CloudWatch で監視ができる。 例えば EC サイトであれば、直近 1時間の受注数をカスタムメトリクスとして送信し、 一定数以下になった場合、何がトラブルがあって受注ができない状態かもしれないので通知する、といったことができる。
AWS/Azure/GCP サービスマッピングへ (resource-watch)
AWS/Azure/GCP サービスマッピングへ (log-watch)
Amazon CloudWatch Events とは
AWS の様々な「イベント」を起点とし、任意の「アクション」を実行するための仕組み。 「イベント」とは、例えば EC2 の running・shutting-down・stopped 等の状態変更、AutoScale の変動、 S3 操作、AWS API 呼び出しなど。 「アクション」とは、EC2 操作・Lambda 関数実行・SSM 経由でのコマンド実行等・Amazon SQS キュー・Amazon SNS など。 これを組み合わせることで実現できることは、 「EC2 が停止したときに SNS でエラーメール通知」 「AutoScale 時の通知」 「S3 操作のログ記録」 「AWS コンソールログイン時のログ記録」など。
CloudWatch Events 登場以前は、1分に一度など定期的なポーリングで現在の状態を取得し、 過去の状態と比較した上で状態変化判定をする、といった仕組みを自分で構築する必要があったが、その部分を簡素化できる。
また、アクションとして「cron 式でのスケジュール起動」もあるため、 「定期的な Lambda 関数の実行」「定期的な EBS のバックアップ」 「毎日 09:00 にインスタンスを起動」 「毎日 04:00 にデイリービルド実行」 「毎日 23:00 にインスタンスを停止」 などが実現できる。
AWS/Azure/GCP サービスマッピングへ (scheduler)
Amazon CloudWatch Logs とは
EC2 や AWS CloudTrail のログを収集し、管理画面で閲覧することができる。 ログは日付や文字列での検索が可能。 ログメッセージ内に特定文字列 (例えば “ERROR” など) を見つけるとメールなどのアラートを出すことができる (Amazon SNS 経由)。 “ERROR” “Database” など複数文字列検索はできるが、正規表現はつかえない (ログ解析を Amazon Kinesis に渡せば可能)。ログ保存期間は 1日・3日・5日などと設定できるが、無制限 (削除しない) も可能。保存ログのサイズに応じて課金される。 EC2 からログを収集する場合、EC2 インスタンスに CloudWatch Logs Agent というものをインストールする必要がある。Agent は Linux・Windows など各種 OS 用が用意されている。
AWS/Azure/GCP サービスマッピングへ (log-watch)
Amazon CloudWatch Logs Insights とは
AWS/Azure/GCP サービスマッピングへ (log-watch)
Amazon Cognito とは
アカウント管理基盤。モバイルアプリまたは Web アプリから使える。一意な ID の管理、オフライン機能、オンライン復帰時のデータ同期、ゲスト時に一時ID発行。Facebook・Twitter・Google・Amazon などを利用した認証が可能。複数アプリや、モバイルアプリと Web アプリ間でのアカウント情報やセッション情報の共有など。
AWS/Azure/GCP サービスマッピングへ (account-manage)
Amazon Corretto とは
Amazon Corretto は、Amazon 社の OpenJDK ディストリビューション。
2018年に Oracle 社が「Oracle JDK パッチ提供は有償サポートが必須」「Oracle JDK の商用利用目的での無償利用を不可」という方針を打ち出したことにより、これまで無償で Oracle JDK を利用していた利用者は困ったことになってしまった (なお OpenJDK はサポート期間 (=パッチ提供期間) が半年しかなく、ビジネス用途としては不向き)。
そこで Amazon が「OpenJDK をベースに、OpenJDK に提供されたセキュリティパッチ等をあてて、長期間利用可能なようリリースし続けますので安心してください!」と言い出したのが Amazon Corretto。
無償。Java8・Java11 に対応。AWS 以外の環境 (オンプレミスや他のクラウドサービスなど) でも利用可能。Windows・Linux・mac 版あり。
AWS/Azure/GCP サービスマッピングへ (jdk)
Amazon Comprehend とは
Amazon Comprehend は自然言語処理サービスである。テキストの文章を渡すと、単語抽出とカテゴリ分析、言語推測、感情推測を行う。ニュースやメールの自動分類、関連コンテンツの紐付けなどに使われる。
対応言語は日本語を含む 100以上の言語 (2019/11 日本語の分析に対応)。
例としてドナルド・トランプのあるツイート “It was my great honor to welcome Mayor’s from across America to the WH. My Administration will always support local government – and listen to the leaders who know their communities best. Together, we will usher in a bold new era of Peace and Prosperity!” を処理させてみると下記のようになった。「トランプ大統領が全米市長とホワイトハウスで会談」という内容なので、この結果は大変微妙である。
- 単語抽出
- 単語: Mayor、カテゴリ: Person、出現回数:1、信頼度: 49%
- 単語: America、カテゴリ: Location、出現回数:1、信頼度: 98%
- 単語: WH、カテゴリ: Organization、出現回数:1、信頼度: 66%
- 言語推測: English、信頼度: 98%
- 感情推測
- Positive: 信頼度 93%
- Netural 信頼度 6%
- Negative: 信頼度 0%
- Mixed: 信頼度 0%
Amazon Comprehend Medical という医療用語に特化したサービスもある。
AWS/Azure/GCP サービスマッピングへ (text-analysis)
Amazon Connect とは
IVR (自動電話応答) 機能を備えた、コールセンター・カスタマセンターのシステム。 「ご注文は 1 を、商品に関するご質問は 2 を、返品については 3 を、担当者との通話をご希望の方は 9 を押してください」 みたいな自動音声・ボタン入力・フロー分岐を設定可能。 人間の担当者と通話させることもできる。 ブラウザベースの通話ツールがあり、マイク・イヤホンのヘッドセットを用意しておけば通常の PC で通話が可能 (人間の担当者を雇用するなりして通話を受けられるようにしておくのはあなたの仕事であるわけだが、 Amazon に相談すればアウトソース可能なパートナー企業を紹介してくれると思う)。
電話番号は日本のもの (050-*-*) が取得可能。 音声は、録音済みの wave ファイル等でもいいし、Amazon Polly にてテキストから読み上げさせることもできる。 通話を録音し、S3 に保存することが可能。 AWS Lambda への連携も可能なので、「テンキーで注文番号を入力 → 配送状況を読み上げ」といったプログラム連携も可能。
2018/1 現在、Amazon Connect 利用開始より 12ヶ月使える無料枠あり (2019/2 現在、無料枠は終了した模様)。
AWS/Azure/GCP サービスマッピングへ (ivr)
Amazon Detective とは
Amazon DynamoDB とは
NoSQL・スキーマレスなデータベース。高速・大量データ可。基本的にはキー値を指定し、1行だけ取得する。SQL のように複雑な WHERE 句で検索するようなことは向かない。DynamoDB は Amazon SimpleDB の後継と考えてよいだろう。
AWS/Azure/GCP サービスマッピングへ (nosql)
Amazon DynamoDB Accelerator (DAX) とは
DAX は DynamoDB とクライアントの間に位置するキャッシュクラスタ。 インメモリなキャッシュで、クライアントからの Read 時に DynamoDB にアクセスせずにキャッシュしておいた値を返す。 そもそも DynamoDB は高速な DB であるが、それでも間に合わない場合に DAX を使うとよい。
Amazon EC2 Systems Manager とは
EC2 Systems Manager とは何かは非常にわかりづらいのだが、 EC2 やオンプレミスを管理するための下記のような機能を適当に寄せ集めたものだと思われる。
- Run Command (実行コマンド) … ssh 等でログインせず、リモートから任意コマンドを実行できる。
- State Manager (状態管理) … アンチウイルスソフトやアプリケーションの設定などを管理できる。
- Maintenance Window (メンテナンスウィンドウ) … RDS のメンテナンスウィンドウのようにメンテ可能時間帯を定義し、Run Command の実行が可能。OS パッチあてを早朝時間帯に実施するなど。
- Inventory (インベントリ) … OS やミドルウェア、ネットワーク設定、レジストリ等の情報を収集
- Patch Manager (パッチ管理) … Windwos のパッチ管理
- Automation (オートメーション) … AMI のパッチあてなどを自動化
- Parameter Store (パラメータストア) … クレデンシャルや DB 接続の ID/パスワードなどを一元管理。Run Command や AWS CLI、Lambda、ECS などからも参照可能。AWS Key Management Service に暗号化して保存される。
AWS/Azure/GCP サービスマッピングへ (etc-manage)
Amazon ElastiCache とは
オンメモリなキャッシュサービス。内部エンジンは memcached か Redis を選択可能。 Redis の場合、複数台でのクラスタ構成が可能。さらに Redis の場合、バックアップとリストアも可能。 “Elastic Cache” (エラスティック・キャッシュ) ではなく、”ElastiCache” (エラスティ・キャッシュ)。
AWS基礎入門チュートリアル で ElastiCache を使用しているので参考にしてほしい。
AWS/Azure/GCP サービスマッピングへ (cache)
Amazon Elastic Block Store (EBS) とは
EC2 に接続するストレージ。HDD・SDD 選択可能。同時に複数の EC2 とつなげることはできない。
AWS/Azure/GCP サービスマッピングへ (iaasstorage)
Amazon Elastic Compute Cloud (EC2) とは
仮想マシン。いわゆる IaaS。 Linux や Windows サーバを立ち上げることができる。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (iaas)
Amazon Elastic Container Registry (ECR) とは
自分で作った Docker イメージを登録できる。 外部に公開することも、非公開とすることも可能。 Docker Hub などのサービスを、Amazon が AWS 上に持ってきたもの、と考えるとよい。 CircleCI などの AWS パートナーが提供するサービスと連携し、継続的デリバリーを行うことができる。 Docker イメージは実際は S3 に配置されるため、 利用料はその分のストレージやネットワーク料金のみである。 元は Amazon EC2 Container Registry だったのが、いつのまにか EC2 → Elastic に名称が変わったようである。
AWS/Azure/GCP サービスマッピングへ (docker-registry)
Amazon Elastic Container Service (ECS) とは
Amazon ECS は、Docker コンテナのマネージドサービス。 元は Amazon EC2 Container Service だったのが、いつのまにか EC2 → Elastic に名称が変わったようである。
Docker は Linux 内で独立したコンテナというものを立ち上げて、 その中はプロセスも CPU もメモリも隔離されていますよというもの。 ある意味「それだけ」しかできないのが Docker。 例えば Web サービスを立ち上げるとして、複数マシンで同じコンテナを動かしたり、 複数コンテナにロードバランシングしたり、 リクエストが増えてきたらコンテナを増やしたり (オートスケール)、コンテナが死んだら再起動したり、 といった機能は Docker には一切ない。管理用プログラムを作り込めばできるけど、かなり大変。
そこで各社が、Docker に欠けている管理機能を開発した。これを「コンテナオーケストレーションサービス」と呼ぶ。 Amazon が開発したコンテナオーケストレーションサービスが ECS。 Google が開発したのが Kubernetes。Docker 社が開発したのが Docker Swarm。 いずれもできることは似ているが、コマンドや設定ファイルなどは全然違う。
2017年、AWS も、Azure も、Docker 社も Kubernetes に対応したので、 このままいくと Kubernetes がデファクトスタンダードになりそう。 今から使うなら ECS ではなく EKS の方がよいかもしれない。
ただ、2017/11 に AWS Fargate が発表された。これは ECS や Kubernetes が EC2 や Google Compute Engine などの「箱」としての仮想マシンを作成し、 それを複数組み合わせて「クラスタ」として定義し、 それぞれの仮想マシンにコンテナを配置するというものであった。 Fargate は「箱」としての仮想マシンやクラスタの管理が不要になる (勝手に裏側で自動管理してくれる) というもの。 これはこれで正常進化だと思うので、コンテナ界隈がどうなるか興味深い。
AWS/Azure/GCP サービスマッピングへ (container)
Amazon Elastic Container Service for Kubernetes (EKS) とは
AWS 上の Kubernetes サービス。詳細は ECS を参照。
AWS/Azure/GCP サービスマッピングへ (container)
Amazon Elastic File System (EFS) とは
NFS でマウントして使えるストレージ。複数 AZ で冗長化可能 (EBS では単一 AZ での冗長化)。複数の EC2 から同時に使える (EBS では同時に使える EC2 はひとつだけ)。S3 とは違い、普通のファイルにように扱える。事前の容量確保は不要で、使った分だけ請求。ただ、料金は S3 の 10倍くらい。
AWS/Azure/GCP サービスマッピングへ (filestorage)
Amazon Elastic Inference とは
Amazon Elastic MapReduce (EMR) とは
AWS 上で Hadoop や、Hive や、Apache Spark を簡単に使う仕組み。 何ができるかと言うと、Hadoop や Spark を使って、ビッグデータの分散処理が行える。 Hadoop は、複数マシンにデータを分散させて MapReduce ができる仕組み。 Hive は Hadoop を SQL で操作可能にする仕組み・ Spark は MapReduce 部分の代替品でオンメモリにより高速化するのが狙い。 向き不向きはあるものの、一般的には Amazon Redshift の方が高速かつ高額という評価らしい。
AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)
Amazon Elasticsearch Service とは
全文検索エンジン。Lucene を基盤として、Elastic 社が主に開発しているものを AWS 上に PaaS として乗っけたもの。楽して運用したい場合は CloudSearch を検討すべし。
AWS/Azure/GCP サービスマッピングへ (search-engine)
Amazon Elastic Transcoder とは
動画変換サービス。ビットレートを指定できたり、H.264 などの圧縮をかけたり、DRM で暗号化したり、HLS、SS、MPEG-DASH などのプレイリスト生成ができる。サムネイルの切り出しや、透かしマークの付加、キャプションの合成などもできる。
2017年に発表された Amazon Media Services がより高機能かつ包括的な動画配信サービスであるため、 まずはそちらの使用を検討するとよいだろう。ただし、WebM・MP3 オーディオのみの出力・アニメーション GIF ファイル生成や、 作成する必要がある場合や、AWS Key Management Service と連携する場合など、2018/7 現在で Amazon Elastic Transcoder にしか存在しない機能はある。
AWS/Azure/GCP サービスマッピングへ (video)
Amazon EventBridge とは
Amazon Forecast とは
2019/01/22 追加
時系列予測サービス。機械学習を使い未来を予測する。 例としては、売上・小売需要・在庫量・利益・Web トラフィック・エネルギー量・バンド幅などなど。 このサービスを使うには、過去のデータを提供し、学習させていく必要がある。
“forecast” とは、予測・予想という意味の英単語。
AWS/Azure/GCP サービスマッピングへ (ml-forecast)
Amazon GameLift とは
マルチプレイヤーゲームのサーバサイドのサービス。 デプロイ・オートスケール・バージョン管理・監視などが行える。 内部的には適切な数の EC2 インスタンスを作成し、そこにゲームアプリケーションをデプロイしてくれる。
AWS/Azure/GCP サービスマッピングへ (game)
Amazon S3 Glacier とは
S3 と似ているが、あまりアクセスしないファイルを低価格で保存しておけるサービス。 古いログやバックアップファイルなどを置くのに使うとよい。 S3 と比べると約5分の1 と低価格ではあるが、最低利用期間 90日、復元時に数分~1日かかるなどの制限がある (通常・速めなど、いくつかの取り出しモードがあり、それによって復元までの時間が異なる)。 “glacier” とは「氷河」という意味の英単語。データを氷漬けにしておくので、解凍には時間がかかるということなのだろう。旧名称は Amazon Glacier だったが、2018/11 に S3 の一部となり名称が Amazon S3 Glacier に変更となった。AWS/Azure/GCP サービスマッピングへ (storage)
Amazon GuardDuty とは
ログを分析し、異常と思われる挙動がある場合警告を行う仕組み。例えば以下のような警告例がある。
- EC2 インスタンスがポート 25 でリモートホストと通信して通常と異なる動作を示しています。
- EC2 インスタンスが通常と異なるポートでリモートホストと通信しています。
- API が通常とは異なる ISP の IP アドレスから呼び出されました。
2018/1 現在、EC2 と IAM のみが警告対象。 実際の挙動としては、VPC フローログ・DNS ログ・CloudTrail イベントを調査し、 通常とは異なる挙動が見つかった場合警告する。 類似サービスとして AWS Trusted Advisor がある。
AWS/Azure/GCP サービスマッピングへ (advisor)
Amazon Inspector とは
EC2 の脆弱性自動チェックサービス。対象範囲はネットワーク・OS・ミドルウェアで、あらかじめ AWS が CVE などを元に準備したチェック項目に従い、不正アクセスができたりしないかなどを実際にチェックする。EC2 に専用のエージェントをインストールする必要あり。対象 OS は Windows または Linux 系 OS。EC2 以外に対して脆弱性チェックを行うことはできない。自作の Web アプリケーションの脆弱性チェックをしてくれるわけではない。
AWS/Azure/GCP サービスマッピングへ (vulnerability)
Amazon IoT Things Graph とは
Amazon Kinesis とは
ストリームデータを処理するデータ処理基盤。 ストリームデータとは、絶え間なくデータが流れてくるもので、例えばテレビの視聴データ、 家庭の電気・水道・ガス使用データ、SNS (ソーシャルネットワークサービス) での投稿・コメント・参照データ、 EC サイトの閲覧・カート操作・購入データなど、多種多様なものがある。 このような数十万・数百万件の大量データを、取りこぼしなく、遅延なく、順序を保ち、重複なく処理する。 ストリームデータを受け取る目的としては、課金・分析・不正検出・異常検出などを迅速に行いたい場合。
Amazon Kinesis Data Streams はストリームデータをアプリで処理する仕組み。 EC2 で、Kinesis API を叩いてデータを取得するアプリを動かしてもよいし、 Lambda につなげれば EC2 なしでもいける。数秒で処理可能。
Amazon Kinesis Data Firehose はアプリ構築なしで Amazon S3、Amazon Redshift、Amazon Elasticsearch に自動的に格納する仕組み。データ保存・分析用途に使うとよい。数分の遅延あり。
Amazon Kinesis Data Analytics は、ストリームデータを SQL で処理することができる。 分析結果を S3 や Redshift に格納することができる。 また、SQL で一定条件のものを抽出し、再度 Kinesis Streams に流して、Lambda で処理し、通知したり DynamoDB や RDS に反映させたりすることができる。
AWS/Azure/GCP サービスマッピングへ (stream)
Amazon Lex とは
音声やテキストを使用したチャットボットを構築できる。 例えば、飲食店の予約サービスとして、「何名」「コース」「日時」の入力を受け付けることで「予約が完了」と 設定画面で定義する感じ。テキストでもいいし、音声をテキストに変換するエンジンもあるので、それを使ってもよい。 細かなロジック制御 (例えば予約が一杯でないか) などは Lambda 等と連携して実現する。
AWS/Azure/GCP サービスマッピングへ (chatbot)
Amazon Data Lifecycle Manager (DLM) とは
AWS/Azure/GCP サービスマッピングへ (backup)
Amazon Lightsail とは
一言でいうなら「カンタンでシンプルなAWS」。 プランの例をあげると、下記のとおり (実際は 1時間ごとの課金)。
- メモリ512MB/1コア/20GB SSD/1TB 転送量で $5/月。
- メモリ1GB/1コア/30GB SSD/2TB 転送量で $10/月。
- メモリ2GB/1コア/40GB SSD/3TB 転送量で $20/月。
静的 IP アドレス・DNS管理・サーバ監視込み。シンプルな専用管理画面。 その分素の AWS と比べて、ネットワーク制限や VPC 設定等、できなくなっていることは多い。
AWS/Azure/GCP サービスマッピングへ (easy-cloud)
Amazon Lumberyard とは
3D ゲームエンジン・開発ツール。無料。 対象環境は PC・Xbox One・PlayStation 4・iOS・Android。 開発ツールは Windows で動作する。AWS 連携がやりやすくはなっているが、AWS 接続が必須というわけではない (オンプレミスサーバと接続してもよい)。 しかしながら AWS の代替ウェブサービスを使用するのは NG とのこと (他のクラウドはダメらしい)。
Lumberyard は「材木置場」という意味の英単語。
AWS/Azure/GCP サービスマッピングへ (game)
Amazon Machine Learning とは
機械学習サービス。 例えば、1時間ごとの気温・風向きと、そのときの天気 (晴れ・曇など) を学習させると、 気温・風向きを入力すると想定される天気を出力、という天気予測システムができる (もちろん実際は、気温と風向きで天気が決まるほど話は単純ではない)。
Amazon Macie とは
S3 や CloudWatch にあるデータについて、不審と思われるアクションが行われた場合に通知する仕組み。 「不審」とは、例えば
- 通常とは異なる IP アドレスから大量のダウンロードがあった
- 通常機密コンテンツにアクセスしないユーザーが大量のソースコードをダウンロードした
など。なお、できることは通知のみで、遮断・保護はできない (検知したら Lambda 起動はできるので即時に権限変更やユーザ削除などはできなくはないが、実質的には難しいのでは?)。
AWS/Azure/GCP サービスマッピングへ (dlp)
AWS/Azure/GCP サービスマッピングへ (advisor)
Amazon Managed Blockchain とは
Amazon Mobile Analytics とは
モバイルアプリの使用状況の分析ツール。 この機能は現在 Amazon Pinpoint に取り込まれているので、そちらを使うのがよろしいでしょう。
Amazon MQ とは
オープンソースの Apache Active MQ を、AWS 上でフルマネージドサービスとして提供するもの。 詳細は こちら
AWS/Azure/GCP サービスマッピングへ (messaging)
Amazon MSK とは
Amazon Neptune とは
グラフデータベースサービス。 業界標準である Property Graph (ノード・リレーションシップ・プロパティからなる) を作れて、 クエリ言語として Gremlin と SPARQL をサポート。 推奨エンジン、不正検出、知識グラフ、創薬、ネットワークセキュリティなどで使えるらしい。
AWS/Azure/GCP サービスマッピングへ (graphdb)
Amazon Personalize とは
Amazon Pinpoint とは
アプリケーションの使用状況し、分析したセグメント情報を利用してアプリへのプッシュ通知や、SMS、メール送信を行える。
AWS/Azure/GCP サービスマッピングへ (app-analyze)
Amazon Polly とは
テキスト読み上げサービス。文字列を渡すと音声 (mp3等) で返してくれるサービス。 日本語可。SSML という形式でタグ表記をすることで、読み上げ速度・音程・強弱・文章間の休止時間などを指定できる。 質については Youtube 等に動画が上がっているので聞いてみてほしい。個人的には「悪くない」と思った。 実用例としては Amazon Connect を参照。
AWS/Azure/GCP サービスマッピングへ (text-to-speech)
Amazon Quantum Ledger Database とは
Amazon QuickSight とは
BIツール。多量のデータについて GUI 上で集計・抽出・分類したり、グラフや表形式にして、レポートや分析を行うことができる。
AWS/Azure/GCP サービスマッピングへ (bi-tool)
Amazon QLDB とは
Amazon Redshift とは
データウェアハウス (DWH) エンジン。DWH とは「データ倉庫」の意味で、数千万件や数億万件の売上データをどーんと突っ込んで、 年齢層や地域層ごとの分析ができたりする。その場その場で切り口を変えても動作するよう、いちいちインデックスなどを張ったりしなくても、 それなりに高速に動くようになっている。 Redshift のベースは Matrix という製品であるが、そこに Amazon が PostgreSQL 互換のインタフェースを追加したので、PostgreSQL と似たような感じで操作ができる。 また Amazon QuickSight のような BI ツール経由で操作することもできる。Redshift は「赤方偏移」の意味の英単語で、 オンプレからクラウドにデータがどんどん遠ざかっている的なことらしい。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)
Amazon Redshift Spectrum とは
S3 オブジェクトに対して Redshift
Amazon Rekognition とは
画像解析サービス。画像内の物体 (顔なのか自転車なのか家具なのか本なのか)、顔の位置・目/鼻/口などのパーツの位置、性別・表情 (笑っているかなど)、他の画像の顔の比較 (数万枚の画像の中から、特定の1人を探すなど) などなど。
また、画像だけではなく動画解析も可能 (Amazon Rekognition Video)。
2017/11 に、画像内のテキスト検出機能 (OCR) が実装されましたが、日本語は未対応。
2018/12 に、文脈や位置をもとにさらに高度な抽出を行うサービスとして Amazon Textract が発表された。
AWS/Azure/GCP サービスマッピングへ (image-analysis)
Amazon Relational Database Service (RDS) とは
MySQL・MariaDB・PostgreSQL・SQL Server・Oracle などのデータベースエンジンを、簡単に立ち上げることができる。また、簡単に起動・終了したり、リプリケーションやリードレプリカ (読み取り専用の複製) を作成したり、定期的なバックアップや任意時点のデータ復旧も可能。EC2 を立ち上げてそこで DB を動かすことに比べると、インストール・設定・パッチ適用などの工数を削減できる。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (rdbms)
Amazon Route 53 とは
DNS サービス。ドメインの AレコードやPTRレコードなどを設定する。 Route53 は定期的なヘルスチェック機能を持ち、失敗時にAレコードを別インスタンスにフェイルオーバーさせることも可能。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (dns)
Amazon SageMaker とは
Amazon SageMaker は、「人間が」機械学習を学ぶためのトレーニングツール。 機械学習を学ぶにはかなりハードルが高いので、 Amazon SageMaker は、 あらかじめデータを集めておいたり、学習アルゴリズムを準備したり、 複数インスタンスでスケールする仕組みを準備しておいたり、 学習結果を S3 に配置して利用しやすくしたりして、 少ない労力で機械学習に慣れてもらおうという試み。 Sage とは「賢者」を意味する英単語なので、SageMaker は「賢者製造器」的な意味と思われる。
AWS/Azure/GCP サービスマッピングへ (ml-training)
Amazon SimpleDB とは
NoSQL なデータベース。「ドメイン」という箱に「key-value」のペアを格納している形であるが、1ドメインは上限10GBであるなど制限が多い。DynamoDB が後継であるためそちらを使うとよい。SimpleDB は AWS のデータベース一覧ページからも外され、ゆくゆくは終了するであろうサービスと考えられている。
AWS/Azure/GCP サービスマッピングへ (nosql)
Amazon Simple Email Service (SES) とは
メール送信サービス。メールマガジン等の大量メール送信用途に使われる。 SES は DKIM・SPF に対応している。 (他のメール送信サービスと同様に) バウンスメール率等を適切なレベルにするよう管理する必要がある。
Amazon Simple Notification Service (SNS) とは
Amazon SNS は、2つの側面があるサービスである。 ひとつは、スマートフォン等へのプッシュ通知・メール・SMS (ショートメール) などユーザへの通知サービス。 もうひとつは、ある処理が終わると後続処理として AWS Lambda・SQS・http/https を実行するためのメッセージングサービス。
後者についての詳細は こちら
AWS/Azure/GCP サービスマッピングへ (messaging)
Amazon Simple Queue Service (SQS) とは
フルマネージドなメッセージキューイングサービス。 あるプログラムがキューにメッセージを送信し、それを別のプログラムで受信することができる。 使い所として、処理Aの後に処理Bを実行する場合、 もちろんそのまま実行してもよいのだが、このつながりを疎結合にしたい場合、 処理Bが時間がかかるなどの理由で非同期にしたい場合、処理Bを多重処理したい場合などの使用するとよい。 よくあるケースとしては、 ある処理の後にメール送信・PDF等のファイル生成・集計処理・データ削除・後続バッチ起動などを行いたい場合などなど。 キューの数・キューに入れるメッセージの数は無制限。 メッセージの保持期間は最大7日。メッセージはテキストで1メッセージあたり最大256KB。 標準キューと FIFO キューという 2種類があり、標準キューは順序性保持なし。 FIFO キューは順序性保持あり。 Amazon SQS においてメッセージを受信したい場合は Pull するしかない (Push はできない)。 Amazon SNSと組み合わせることで、Push 送信や、複数宛先への送信が可能となる。
詳細は こちら
AWS/Azure/GCP サービスマッピングへ (messaging)
Amazon Simple Storage Service (S3) とは
AWS の根幹を支えるストレージサービス。容量無制限。自動的にバックアップを生成。専用 SDK や専用 API にて操作する。ログファイルやデータファイル保存置き場とするのが一般的。 S3 に配置しておけば Web 上で一般に公開することができるため、 画像ファイルや HTML・CSS 等の置き場所として使うこともできる。 S3 に配置してある CSV・TSV 等のファイルを SQL で検索するには S3 Select を使う。 S3 に配置してあるファイルに対して Redshift でデータ分析するには Redshift Spectrum を使う。 あまりアクセスしないファイルは Amazon Glacier に置いておくと費用の節約になる。 詳細は こちら
AWS/Azure/GCP サービスマッピングへ (storage)
Amazon Simple Workflow Service (SWF) とは
順次処理・分岐・エラー判定・ループといったワークフローを処理する仕組み。 個々のタスクを処理するモノ (Activity と呼ぶ) は SWF の API に接続し、処理開始の指示を待つ。 また、次に何をすべきかを決定するモノ (Decider と呼ぶ) があり、 こちらも SWF の API に接続し、何をすべきかを指示する。 Actvity は何をするかだけに集中し、Decider はタスク管理だけに集中するので、 疎結合が実現できるというわけである。また、Activity は複数存在してよいので、 全体としてスケールアウトできる作りになっている。 Activity と Decider は、AWS 外に存在する形態は可能なので、 オンプレミスとの連携も可能である。
SWF の API だけを使うこともできなくはないが、かなり複雑になってしまうのと、 リトライなどの処理をより簡単に行うため、SWF Flow Framework というフレームワークが準備されている。 これを使うことでより簡単に SWF を利用することができるが、 このフレームワークは Java と Ruby しか存在しない。
類似サービスとして AWS Step Functions がある。 Amazon は SWF よりも後発である AWS Setp Functions の使用を推奨している。
AWS/Azure/GCP サービスマッピングへ (job-flow)
Amazon Sumerian とは
Amazon Sumerian は、VR (バーチャルリアリティ)・AR (拡張現実)・3D のアプリケーションを構築・公開することができる、コンテンツ作成サービスである。Amazon 想定している用途は、従業員教育・機械操作のトレーニング・家具販売時に自宅での配置シミュレーションなど。
コンテンツの構築作業はブラウザ上で行う。 作成したコンテンツは AWS が管理するストレージで公開できるので、URL を教えるだけで外部公開可能。 コンテンツを閲覧できるのは WebVR をサポートしているブラウザ。具体的には Oculus Go・Oclulus Rift・HTV Vive・Google Daydream などのヘッドセット・ヘッドマウントディスプレイや Android/iOS スマートフォンで見ることができる。
部屋や家具を配置したり、3D キャラクターに Amazon Polly を使って会話をさせたりすることができる。 チャットエンジンは Amazon Lex と連携する。
無料枠はあるが、ストレージ料金としてアップロードする 3D データについて 0.06 USD/GB・月が必要。 さらにトラフィック料金として、0.38 USD/GB・月 がかかる。トラフィック料金は視聴回数が 1,000回ならば トラフィック量×1,000回分となる。
Sumerian とは「シュメール人」という意味の英単語で、発音は「スメリアン」。シュメール人ははじめての文明と言われるメソポタミア文明を作り上げたと言われる。なぜこのサービスが「シュメール人」なのかはよくわからない。
AWS/Azure/GCP サービスマッピングへ (vr-ar-3d)
Amazon Textract とは
Amazon Textract は、画像内のテキスト検出 (OCR) を行い、 文字の配置位置や表の構成を加味した上で、より高度な文字情報の抽出を行い、データベース連携まで行えるサービスである。 イメージとしては
First Name: Taro Last Name: Yamada Country: Japan City: Tokyo
といった手書きの画像があるとして、それを普通に OCR で取り込むと “First” “Name:” “Taro” “Last Name:” “Yamada” などという文字列データになってしまう。Amazon Textract の場合、アプリケーションが処理しやすいように 下記のような構成情報を読み取り、なおかつ事前定義が必要ではあるがデータベースに自動格納する機能を持つ。
{ "First Name": "Taro", "Last Name": "Yamada", }
2018/11 発表。2019/6 GA。日本語は未対応の模様。
AWS/Azure/GCP サービスマッピングへ (image-analysis)
Amazon Time Sync Service とは
AWS の各リージョンにある原子時計を使った時刻同期サービス。 と言っても単なる NTP サーバであるので、Linux なり Windows なりで時刻同期先をこの NTP サーバに指定すればよい。 VPC でプライベートネットワークを構築した際は外部 NTP サーバに接続できなくなるが、 このような環境でも Amazon Time Sync Service には接続可能なのが特徴。 うるう秒は平準化される。
AWS/Azure/GCP サービスマッピングへ (time-sync)
Amazon Timestream とは
Amazon Timestream はフルマネージドの時系列データベースサービス。2019/2 現在プレビュー。IoT デバイスやスマホアプリなどから時々刻々と送られてくる大量データを格納することに特化したデータベース。格納したデータに対し、様々な分析が簡単にできるというのがウリのようだ。
AWS/Azure/GCP サービスマッピングへ (timeseriesdb)
Amazon Translate とは
多言語への翻訳サービス。 リアルタイム翻訳 (逐次翻訳) と、一括のバッチ翻訳両方に対応。 2018/7 に日本語に対応。 2018/11 に Amazon Translate Custom Terminolog が発表された。社名やサービス名などの固有名詞を登録することで、たとえば「日本電気」を「Japan Electricity」ではなく「NEC Corporation」と翻訳できたりする。
AWS/Azure/GCP サービスマッピングへ (translation)
Amazon Transcribe とは
音声を元に文字起こしを行う。 WAVE・MP3 などに対応。 2018/1 現在、英語とスペイン語のみ。 解析結果のイメージは下記。文章全体と、 何秒目からどの単語が始まるかという情報が返ってくるので、 頭出しや音声とテキストの同期処理に活用できそうである。
"transcripts":[ { "transcript":" that's no answer", } ], "items":[ { "start_time":"0.180", "end_time":"0.470", "word":"that's" }, { "start_time":"0.470", "end_time":"0.710", "word":"no" }, { "start_time":"0.710", "end_time":"1.080", "word":"answer" } ]
AWS/Azure/GCP サービスマッピングへ (speech-to-text)
Amazon Virtual Private Cloud (VPC) とは
AWS におけるネットワーク管理の仕組み。 VPC を設定することで、パブリック・プライベートや、フロント・バックエンド・DB などネットワークセグメントを分割することができる。 VPC にインターネットゲートウェイというものを作ればインターネットに接続可能になるし、 作らなければインターネット接続不可になりセキュリティは向上する。
ややこしいのが、PaaS のサービスにおいて、「VPC 内部」のサービスと「VPC 外部」のサービスがあるということ。 例えば RDS は VPC 内部のサービスなので、プライベートネットワーク内に置くことができる。 一方、S3 は VPC 外部サービスなので、プライベートネットワーク内に置くことはできない (EC2 や RDS のように自分専用のインスタンスを自分で作成するものは VPC 内部に置ける、とも言える)。
S3 のような VPC 外のサービスに接続する場合、インターネットゲートウェイを作成する手もあるが、 VPC エンドポイントという IF を作ると、プライベートネットワークから AWS サービスに接続できる。
昔は VPC を使わない EC2 インスタンスを作ることができたが (EC2-Classic という)、 2013年頃 EC2 を作るときは VPC を使うのがデフォルトになったので、VPC だからこれができる/できない、というのを気にする必要はない。 今は自動的にデフォルト VPC やインターネットゲートウェイが作成されるため、 おそらくあなたは VPC を使っている可能性が高い。
余談だが、「VPC でのセグメントわけなんていらないじゃん」という人もいる。 例えば Lambda・S3・DynamoDB は全部「VPC 外」のサービスなので、 これを組み合わせて作ったシステムには VPC は出てこない。 VPC を使っていないから危険かと言うとそんなこともない。 「じゃあ VPC っていらないよね」 という話。
AWS/Azure/GCP サービスマッピングへ (vpn)
Amazon WorkDocs とは
エンタープライズ向けの、ストレージ・ファイル共有サービス。コメントを付けられたり、 編集中としてロックできたりする。 PC・スマホ・タブレット用のファイル同期ツールあり。 Dropbox 的なものだろうか。
AWS/Azure/GCP サービスマッピングへ (office-suite)
Amazon WorkMail とは
一言でいうなら「Gmail と Google カレンダー」。 ブラウザ上でメール送受信やカレンダーでのスケジュール管理が行える。 Outlook やスマホ等、ブラウザ以外からの連携も可能。 Google の Gsuite よりちょっと安い。
AWS/Azure/GCP サービスマッピングへ (office-suite)
Amazon WorkSpaces とは
クラウド上で Windows デスクトップ環境が使える。OS は Windows7・10。Office 利用可能なオプションもある。Windows・Mac・iOS・Android 向けに接続用のクライアントがあるので、それを実行して使う。ブラウザ上での接続や、リモートデスクトップも使用可能。 若干毛色は違うが、Amazon AppStream 2.0 というものもある。
AWS/Azure/GCP サービスマッピングへ (cloud-desktop)
Auto Scaling とは
CPU 使用率やリクエスト数など、様々な指標値を元に EC2 のインスタンスを起動したり削除したりする仕組み。 例えば「CPU 使用率が 80% 以上になったら、この AMI を元に新規インスタンスを作成する。 ただし上限は 10 インスタンスとする」といった定義を作っていくイメージ。 EC2 だけではなく、 Amazon ECS、 Amazon EC2 スポットフリート、 Amazon EMR クラスター、 AppStream 2.0 フリート、 Amazon DynamoDB、 Amazon Aurora レプリカ数 などの制御にも使える。 また、特定日時や cron 書式での繰り返し制御も可能なので、アクセスが多い夜はインスタンス数を多めに、 朝方は少なめに、といったことも可能。
AWS Amplify とは
AWS Amplify Console とは
AWS Application Discovery Service とは
オンプレミスから AWS の移行にあたり、 オンプレミスの OS種類・マシン名・CPU・メモリ・ディスク・カーネルモジュール・起動中プロセス情報・ネットワーク通信 (どの IP/ポートからどの IP/ポートへ) など調べ、そのデータを Application Discovery Service にアップロードする。 そのデータを分析することで、AWS でのインスタンスサイズやインスタンス数がどの程度必要かなどを分析するのが目的 (Application Discovery Service が行うのはデータ収集までで、分析は人が行う模様)。OS にエージェントをインストールして情報収集するエージェントベースと、VMware の機能を利用してエージェントなしで情報収集するエージェントレスの 2種類がある (エージェントレスは VMware 必須)。
AWS/Azure/GCP サービスマッピングへ (migration)
AWS App Mesh とは
AWS AppSync とは
AWS Artifact とは
AWS Artifact は、認証やセキュリティ基準について「第三者機関が AWS を監査したときのレポート」を閲覧できるサービス。 例えば Amazon は PCI DSS とか ISO 27001 準拠とうたっているが、本当に認証を受けたのかの証拠として活用できる。 たいそうな名前がついているが、単に数百ページの PDF が何個か置いてあるだけである。 「こんなのサイト上に PDF ファイルを置いておけばいいじゃん」と思うのだが、機密事項であり機密保持契約条件に同意が必要とのこと。
AWS/Azure/GCP サービスマッピングへ (compliance-report)
AWS Backup とは
2019/1 リリース。AWS Backup は、下記を対象とした統合バックアップサービス。対象は下記。
- EBS ボリューム
- EFS ファイルシステム
- RDS データベース
- DynamoDB テーブル
- Storage Gateway のボリューム
EBS・RDS など、個々のサービスでバックアップを行うことはこれまでもできていたものの、サービスの数が増えてくると管理がしづらくなる。これを一元管理・集中管理しましょうというのが AWS Backup。AWS Backup にて、日次・週次・月次などのバックアップスケジュールを定義し、その中でどのサービスの何をバックアップするかを定義する形。バックアップ先は S3 や Glacier などで、N日経過後に削除する等のライフサイクル定義も可能。
EBS・RDS など、個別サービスでのバックアップはこれまで通り利用可能。
AWS/Azure/GCP サービスマッピングへ (backup)
AWS/Azure/GCP サービスマッピングへ (onpre-backup)
AWS Batch とは
AWS でバッチ処理を自動的に、並列分散しつつ行うための仕組み。 まず開発者は、ジョブ処理を Docker コンテナ上で実装する必要がある。 そして入り口となるジョブキューを定義し、キューイングされたらどのジョブが動くべきか、 そのジョブが終わったら後はどのジョブが動くべきか、といった依存関係を定義する。 AWS Batch は、クラスタ管理、ジョブキュー、ジョブスケジューラの管理を行ってくれて、 必要なときに必要なだけのクラスタを自動構築して、コンテナをデプロイしてくれる。 処理が終わったらクラスタはなくなる。 インスタンスサイズや、クラスタの CPU・メモリなどのリソースのことをあまり考えなくて良いというサービス (各コンテナの vCPU とメモリ量は指定しないといけないので全く考えなくてよいわけではない)。 デメリットとしては、Docker コンテナ化が必須 (EC2 や Lambda との連携はできない)、 分岐などの複雑なジョブフローは定義できない。
AWS/Azure/GCP サービスマッピングへ (batch-flow)
AWS Budgets とは
AWS Certificate Manager (ACM) とは
ELB・CloudFront・API Gateway・Elastic Beanstalk 向けの SSL/TLS 証明書の発行を行う。 SSL/TLS 証明書は無料で、ACM 自体も無料 (ELB や CloudFront の費用に含まれるため)。 EC2 単体には使えないし、秘密鍵等を持ち出して AWS 外で使うこともできないことに注意。AWS/Azure/GCP サービスマッピングへ (certificate)
AWS Chatbot とは
AWS Chatbot は、監視結果などを Slack 等のチャットに通知するサービス。無料。
情報の起点となるのは下記。
- Amazon CloudWatch による監視・アラート状況
- AWS Health
- AWS Budgets によるコスト状況
- AWS Security Hub によるセキュリティ情報
- Amazon GuardDuty によるログ分析結果
- AWS CloudFormation
通知先にできるのは Slack と、Amazon Chime のみ。
Lambda で Slack 通知の API を叩く手間が削減できるが、カスタマイズはしづらい。AWS/Azure/GCP サービスマッピングへ (chatbot)
AWS Client VPN とは
AWS CloudFormation とは
CloudFormation は、JSON または YAML で記述されたテンプレートファイルを元に、 EC2 や RDS 等のインスタンスを生成することができる仕組みである。 管理画面でマウスをポチポチしなくてもいいので、 複数環境構築時の操作ミス防止であったり、 スケールアウトで台数を増やしたり、 サーバの設定変更を出来る限り避けるために毎回インスタンスを作り直したり (つまり Immutable Infrastructure)、 Infrastructure as Code が実現できるので git で履歴管理したり、 等々がメリット。
- 「AWS CloudFormation デザイナー」を使うとブラウザ上で GUI で AWS の構成を設計し、 CloudFormation テンプレートを生成できる。
- 「CloudFormer」を使うと、既に存在するインスタンスを元にテンプレートファイルを作ってくれる。 CloudFormation 自体は無料。
- 「CloudFormation StackSets」を使うと、複数の AWS アカウント・複数のリージョンに対してインスタンスを生成することができる (素の CloudFormation では単一 AWS アカウント・単一リージョンのみ)。
CloudFormation の管理対象は AWS サービスであって、例えば EC2 内部の Apache 等のミドルウェアやアプリケーションは対象外である (起動時のスクリプトでセットアップする)。ミドルウェア・アプリケーション領域は AWS OpsWorks での管理を検討するとよい
AWS/Azure/GCP サービスマッピングへ (build-env)
AWS CloudHSM とは
HSM とは「ハードウェアセキュリティモジュール」のこと。物理的な耐タンパー性を持った暗号モジュール (物理的な拡張カードのようなもの) が AWS のデータセンタ内に用意されており、あなた専用の暗号モジュールとして専有するので、そこに鍵を入れておくと安心できますよ、という話。 CloudHSM 自身に暗号化・復号・署名等の機能がある。 Oracle や SQL Server などの TDE (Transparent Data Encryption=透過的データ暗号化) の鍵を置いておくこともできる。 2013年発表当時は初期費用 $5,000(!) という、クラウドっぽくない価格設定であったが、2018/1 現在では初期費用は不要となり、1.4~2.0USD/時間 程度で利用可能な模様。 鍵管理は行いたいが、ハードウェアの専有は不要ということであれば、AWS Key Management Service を検討するとよい。
AWS/Azure/GCP サービスマッピングへ (key-manage)
AWS Cloud Map とは
AWS/Azure/GCP サービスマッピングへ (service-discovery)
AWS CloudTrail とは
AWS コンソール操作や API 呼び出しを記録する。例えば「この EC2 インスタンスを消したのは誰だ!」的なことが追跡可能となる。直近7日分については、AWS コンソールで検索が可能。設定を有効にすることで、7日超のデータを S3 にログとして残すことが可能。
AWS/Azure/GCP サービスマッピングへ (log-watch)
AWS CloudTrail Insights とは
AWS Cloud9 とは
Cloud9 は 2つの機能がある。
1つ目は Azure の Cloud Shell や GCP の Cloud Shell と同じく、管理用・作業用インスタンスとしての機能。 環境を作成すると自動的に EC2 インスタンスが作成され、ブラウザ上で ssh でログインした状態になる (すでに EC2 インスタンスがある場合は、新規でインスタンスを作らずに、既存インスタンスを利用することもできる)。 EC2 インスタンスには AWS CLI 管理用コマンドや、Java・Python・PHP・Ruby 等の実行環境、 MySQL クライアントなど揃っているので、インスタンスの起動・停止・インスタンスサイズ変更や、 S3・RDS のデータ確認や更新など様々な作業が行える。
実体としては単なる Amazon Linux なので、vi・emacs・awk・sh スクリプト等も自由自在。 もちろん root になることもできる。
2つ目は開発環境。 ブラウザに IDE 機能があり、Java・Ruby・Python・PHP・Go・Node.js・C++ で開発ができる。 同じ AWS アカウントにぶら下がっているユーザ間であれば、チャットや開発画面共有ができる。 少なくとも Lambda アプリは作れたが、その他は作れるのだろうか?
AWS/Azure/GCP サービスマッピングへ (shell)
AWS CodeArtifact とは
AWS CodeBuild とは
フルマネージドなアプリケーションビルドのサービス。 ビルドサーバを自前で構築する場合、EC2 インスタンスを作成し、Jenkins をインストールすることになるが、OS などのメンテナンスの手間がかかる。 CodeBuild だとビルドサーバの管理を AWS に全部おまかせできる。
Circle CI や Travis CI などの外部サービスを利用する手もあるが、プラベートリポジトリかつ同時ビルド数をある程度確保すると、結構なお金がかかる。
CodeBuild のメリットは、ビルド時間によって課金が行われること(1分単位)。 また、並列ビルドができるので、ビルド待ちが起こらないこと (最大数20。上限緩和リクエスト可能)。 単体では毎日自動でビルドする機能はないが、AWS CodePipeline からキックさせることができる。 ソースは AWS CodeCommit や GitHub から取得できる。 プルリクエストからのビルドは、2018/1 現在では Pull Request → Amazon SNS → AWS Lambda → CodeBuild とつながなければならない。 自前の Docker コンテナを使ってビルドすることもできるので、各種パッケージインストール済みのコンテナを用意しておくと、ビルド時間を短縮できる。
AWS/Azure/GCP サービスマッピングへ (ci-cd)
AWS CodeCommit とは
マネージドなソース管理サービス。一言でいうと「GitHub のようなもの」。 GitHub や BitBucket などの Git ホスティングサービスを利用していた人は、 使いたい機能が CodeCommit に存在するか確認したほうがよいと思う。 ちなみに CodeCommit は 2015/7 にサービスインして、トリガ (WebHook) が実装されたのが 2016/3。 プルリクエストを実装したのが 2017/11。機能追加に結構時間がかかっているイメージではある。
AWS/Azure/GCP サービスマッピングへ (source)
AWS CodeDeploy とは
EC2・オンプレミス・Lambda にアプリケーションをデプロイしてくれるサービス。 EC2・オンプレミスにデプロイする場合、単純に言うと Java なら WAR ファイルなり Python なら .py ファイルなりを配置したり、 git pull したりして、最新ファイルをサーバにアップロードすればよい。 しかしながら、もっと本格的に行うなら、途中でエラーにならないよう、 EC2 インスタンスを ELB から切り離し、デプロイし、ELB に再び接続するなどの工夫が必要になる。 また、インスタンスが数十・数百・数千になると単純に時間もかかり、どれが成功したかを管理するのも一手間である。
CodeDeploy を使うと、ELB 切り離し・復旧や、管理画面でのデプロイ状況確認やログ確認が容易に行える。
Auto Scaling と連携しており、新規インスタンスが作成されると CodeDeploy にて適切なアプリがデプロイされる。
EC2 へのデプロイでは、Blue/Green デプロイにも対応している。具体的には、 新しいインスタンス群を新規作成し、最新アプリをデプロイし、 動作確認後、ELB を新インスタンス群に切り替え、その後古いインスタンス群を全部削除することができる。
AWS/Azure/GCP サービスマッピングへ (ci-cd)
AWS CodePipeline とは
継続的デリバリーの管理サービス。 GitHub や AWS CodeCommit 等で管理するソースを、 Jenkins や AWS CodeBuild でビルドし、 テストをし、 AWS CodeDeploy 等でデプロイする、という一連のワークフローを設定・管理するものである。
AWS/Azure/GCP サービスマッピングへ (ci-cd)
AWS CodeStar とは
実行環境 (EC2・Lambda など)、言語 (Java・Node.js・PHP・Python 等)、ソース管理 (AWS CodeCommit・GitHub) などの基本情報を選択すると、 AWS CodePipeline, AWS CodeBuild, CodeDeploy などをよい感じに設定してくれて、 コミット → 自動デプロイ という環境を構築してくれるサービス。 CodeStar を使わず個別に設定しても全く問題ないが、CodeStar を使うと簡単・便利である、という位置づけ。
AWS/Azure/GCP サービスマッピングへ (develop-env)
AWS Config とは
AWS の設定変更、例えば EC2 インスタンス作成や、S3 バケットの作成などの履歴を保存し、 変更が行われたら SNS 経由で通知する。 また、「EBS は暗号化必須とする」「SSH ポートを開放しない」などのルールを設定することができ、 このルールに反した場合は通知が行われる。 防止できるわけではないが、監査・コンプライアンス・証跡 という観点からの要望なのだろう。 しかしこのサービス名はあまりにもわかりづらいと思うがどうか。
AWS/Azure/GCP サービスマッピングへ (log-watch)
AWS Control Tower とは
AWS Database Migration Service とは
データベース移行ツール。 オンプレミス → RDS、オンプレミス → EC2上の DB、EC2 上の DB → RDS に対応。その逆もできる。 Oracle から MySQL、MySQL から Aurora など、異なるデータベースエンジンでも対応可能。 まずは初期移行し (全テーブルを 1万行ずつ SELECT する)、その後継続して差分移行も可能 (バイナリログや REDO ログから変更点を読み取る)。 DB を止めなくてもよいのが特徴。 AWS 内に DMS インスタンスという EC2 インスタンスを立てて、DMS インスタンスが移行元 DB からデータを取得し、 移行先 DB にデータを突っ込み、移行が完了すれば DMS インスタンスを削除する、というイメージ。 逆に言うと、同じ DB で、移行時の停止が許容されるのであれば、停止→ダンプ→新DBにリストア でよい。
DB 移行経験がある人なら想像できると思うが、なんでも自動でやってくれるかというとそうではなく、 プライマリキーがないと差分更新できないとか、Oracle で LOB 列のみ更新は反映されないとか、Truncate は反映されないとか、MySQL の AUTO_INCREMENT 属性は移行されないなど制限事項は山ほどあるので、結局は十分な検証と試験が必要になる。
AWS/Azure/GCP サービスマッピングへ (dbmigration)
AWS Data Exchange とは
AWS Data Pipeline とは
定期的かつ簡易的な汎用データ処理ツール。 用途としては定期的なデータ集計とか、ファイルコピーとか、ファイルから DB への取り込みとか、バックアップとか、レポートとかいろいろ。 入出力可能なデバイスは DynamoDB や S3 や RDS、Redshift 等で、 例えば RDS で SQL を実行した結果を S3 に保存する、といったことができる。 また、AWS CLI の結果や、任意のシェルスクリプトを実行させることもできる。 1日1回、1時間に1回などのスケジューリング機能も備える。 Data Pipeline では複雑なデータ変換などの処理は行えない。 そのような用途には AWS Glue の使用を検討してほしい。
AWS/Azure/GCP サービスマッピングへ (etl)
AWS DataSync とは
2019/01/22 追加
オンプレミスと AWS でデータ同期・転送を行うサービス。 AWS 側は S3 か Amazon EFS から選択可能。 「オンプレミスから AWS」「AWS からオンプレミス」のいずれにも対応している。 オンプレミス側にエージェントのインストールが必要。エージェントからのファイルアクセスは NFS 経由で行うため、オンプレミス側で NFS サーバ設定が必要。
パーミッションやタイムスタンプをコピーするか、転送元で削除されたファイルは転送先でも削除するか、 帯域制御をするか、などのオプションを指定可能。
AWS/Azure/GCP サービスマッピングへ (onpre-backup)
AWS DeepComposer とは
AWS DeepLens とは
AWS DeepRacer とは
AWS DeepRacer は、1/18 サイズの自走式のラジコンカーである。カメラやWifiを搭載している。写真は下記。
DeepRacer は最初は運転が下手くそで、頻繁にコースアウトしてしまう。そこで機械学習の一種である強化学習 (RL: Reinforcement learning) で、コースアウトせず最速の DeepRacer を作り上げてください、その際は SageMaker を使ってね! という話。
DeepRacer カーは Amazon.com にて購入可能 (発売日は 2019/03/06 予定) であるが、日本からは注文できない模様。実機がなくてもシミュレーションで遊ぶことはできる。AWS 主催の DeepRacer リーグ なるものがあり、実機を持ち寄ってレースが行われている。バーチャルでのリモート参加も可能。
AWS/Azure/GCP サービスマッピングへ (race)
AWS Device Farm とは
iOS/Android/Fire OS のリモートテストツール。 アプリの apk 等と、JUnit/TestNG/Calabash/UI Automation/UI Automator/XCTest などで記述したテストコードを登録することで、 テストの繰り返し実行が可能となる。 さらに、一部端末についてはリモートでの画面操作が可能である (当ページ管理人は Remote TestKit のようなリモート操作が出来るのが普通だと思っていたのだが、 AWS Device Farm はリモート操作ができるのは一部端末のみで、 しかもサービスイン当初はリモート操作自体できなかったようで、かなりびっくりしてしまった)。 対応端末については、Sharp も Fujitsu も Panasonic も Kyocera もない。 日本市場に弱いと言うべきか、相手にされないくらいの弱小メーカーになってしまったと言うべきか。
AWS/Azure/GCP サービスマッピングへ (device-test)
AWS Direct Connect とは
AWS への専用線接続。自前のデータセンタがあり、インターネットを経由せず AWS と直接接続したい場合に使う。 セキュリティが心配なだけであれば InternetVPN を使う方法もあるが、InternetVPN の不安定さを回避したい、高速に接続したい、セキュリティ的にインターネット経由にしたくない、安定的な速度を保証したい、といった場合に使う。 日本では東京・大阪に接続ポイントがあり、そこにラックスペースを借りるか、そこにすでに接続済の通信事業者と契約する。
AWS/Azure/GCP サービスマッピングへ (directconnect)
AWS Directory Service とは
早い話が「マイクロソフトの Active Directory (以下 AD)」である。AWS マネージメントコンソール (管理画面)、WorkDocs、WorkSpaces、WorkMail、EC2 のユーザ管理を AD 化することができる (EC2 の場合、EC2 Simple Systems Manager (EC2 SSM) の事前導入が必要)。 いくつかのプランがあり、「Microsoft AD」はそのまんま Windows Server 2012 R2 で動く AD。「Simple AD」は Samba を用いた AD。「AD Connector」は外部のドメインコントローラに proxy 経由で接続する構成。 より一般的なディレクトリサービスは Amazon Cloud Directory を参照。
AWS/Azure/GCP サービスマッピングへ (directory)
AWS Elastic Beanstalk とは
AWS が提供する PaaS。アプリをデプロイするだけでよく、サーバ管理不要で、 オートスケールなどよい感じに自動でやってあげます、という触れ込みであるが、 実態としては EC2 をラップしたものなので、普通にログインもできる。 なお、Beanstalk は “Beans Talk” ではなく “Bean(豆) の Stalk (茎)”。 なので、「ビーンズ・トーク」ではなく「ビーンスターク」。1単語である。 ちなみに童話の「ジャックと豆の木」は “Jack and the Beanstalk” である。
AWS/Azure/GCP サービスマッピングへ (paas)
AWS Fargate とは
サーバ・クラスタ管理が不要なコンテナ実行の仕組み。 位置づけは Amazon ECS にまとめて書いたので、そちらを読んでほしい。
AWS/Azure/GCP サービスマッピングへ (container-no-manage)
AWS Global Accelerator とは
世界中からアクセスされるようなサービスがあるとする。AWS Global Accelerator はそのようなサービスに対し、 経路の最適化・可用性の向上を行う。AWS Global Accelerator を使うと、固定IPアドレスが提供される。この固定IPアドレスへの通信はエニーキャストにより、ネットワーク的に近いAWSのエッジロケーションと通信することになる。
例えば東京リージョンに EC2 があるとして、利用者が東京であれば東京リージョンに直接接続する。一方、利用者が米国にいた場合は、最も近いAWSエッジロケーションから AWS のネットワークに入り、AWS ネットワークを通って東京リージョンの EC2 に接続することになるため、米国の利用者からは若干高速になる。そして東京・米国いずれも、同じ固定IPアドレスで運用可能、ということだ。
さらに東京リージョンと米国リージョンの両方に EC2 を配置し、東京からは東京リージョンへ、米国からは米国リージョンへ、とすることも可能。こちらも同じ固定 IP アドレスであるため、運用面ではお手軽である。
AWS Glue とは
マネージドな ETL サービス。 ETL とは抽出 (Extract)、変換 (Transform)、ロード (Load) を指す一般的な用語で、 ファイル等のデータからデータベースにデータを格納する際、どのようなデータ・システムであっても、たいていは抽出・変換・ロードが必要になってくるため、その部分をフレームワーク化した考え方である。
AWS Glue の抽出は、RDS・S3・EC2 上の DB などからデータを取得できる。 変換は、取得対象カラムの選択、カラムの分割、値の変換 (Man を 1に、Woman を 2 に、など)、日付フォーマット変換、タイムゾーン変換、通貨変換、行の集約、行と列の置換、などを定義できる。 ロードは、Redshift・S3 等にデータを格納することができる。
AWS Glue はバッチ指向であり、最短で 5分単位の起動しかできない。 リアルタイム性が必要なストリームデータ処理については Amazon Kinesis の使用を検討してほしい。 また、複雑性のないデータコピー程度の作業については、よりシンプルな AWS Data Pipeline の使用を検討してほしい。
AWS/Azure/GCP サービスマッピングへ (etl)
AWS IoT Greengrass とは
IoT デバイス上で AWS 環境 (の一部) を動かす仕組み。 デバイスで AWS Lambda が動くようになっている。2018/1 現在で言語は Python・Node・Java に対応。 また、データを AWS に簡単に同期することができる (そのとき接続不可であっても、接続状態が回復したらまとめて送信してくれる)。 さらに機械学習モデルを利用した推論が可能。Amazon Machine Learning で学習した機械学習モデルを IoT デバイス上に持ち込むことで、 例えば掘削装置のダイヤモンドヘッドに関する予測モデルを Amazon Machine Learning 上で構築し、それを IoT デバイス上に持ち込むことで、クラウド接続のない地下でもダイヤモンドの摩耗と消費を予測することができる。旧名 AWS Greengrass。いつのまにか AWS IoT Greengrass に名称が変わっていた。
なんのためにこれが必要かと言うと、例えば数千万台の IoT デバイスで Lambda 実行・データ送信・機械学習推論をするとして、毎回クラウドに通信しているとレスポンスが遅くなるし、クラウド側リソースが大量に必要だし、通信不可の状態だとどうしようもない。 そこで IoT デバイスでできることはなるべく IoT デバイス上でやってしまいましょうという考え方がある (「エッジコンピューティング」と呼ばれる)。例として、計測したデータをクラウドに送る場合、毎分データを送るのではなく、サマリデータを 1時間に一度送りましょう、といったことである。Greengrass では IoT デバイスに特化した OS・言語を使うのではなく、クラウドと同じような環境を準備するので学習コストを抑える効果がある。
AWS/Azure/GCP サービスマッピングへ (edge)
AWS Ground Station とは
2019/01/22 追加
Amazon が、Amazon データセンタの基地局にアンテナを立て、 人工衛星の所有者がそのアンテナと通信できるようにするためのサービス。
人工衛星にもいろいろ種類があり、ずっと同じ地点にとどまっている静止衛星は高さ 35,000km である。 とても高いので、打ち上げるのが難しいしコストがかかる (たぶん)。 一方、高度数百km を周回する方法もあるが、こちらはコストが安い (たぶん) かわりに、 地球を一定周期で周回するため、常に地上と通信する場合は地上に複数の基地局を持たないといけない。
「あなたのかわりに Amazon が地上局を作りますよ。AWS データセンタは世界中にあるので、 24時間通信できますよ」というサービス。
発表当初は、「誰でも人工衛星経由で通信できるのか?」と皆が驚いたが、 どうやら人工衛星所有者のためのサービスらしい。 まずは人工衛星を打ち上げるところから始めよう。
AWS/Azure/GCP サービスマッピングへ (astro)
AWS Identity and Access Management (IAM) とは
AWS におけるアカウントの権限管理の仕組み。 AWS で最初に作る「AWS アカウント」は何でもできるいわば root 権限なので、これで運用することは非常に危険である。 IAM を適切に使うことで、情報秘匿・情報漏えい対策・操作ミスによる事故防止につなげることができる。
IAM ユーザを作成し、ロールを付与することで、そのユーザが何をできるのかの権限を管理する。 ロールとは、例えば EC2 インスタンスを作成可能とか、S3 のファイルを閲覧可能、など。
IAM ユーザ単体での管理は煩雑なので、グループを作成し複数ユーザをたばねて管理することも可能。 プログラムが AWS の API を使うときは、アクセスキーID・シークレットアクセスキーという情報を使う。 2つまで設定可能なので、3ヶ月ごとに更新するなどのキーローテーションが実現できる。
IAM は「アイアム」と発音する。
AWS/Azure/GCP サービスマッピングへ (iam)
AWS IoT とは
AWS の IoT 基盤。IoT とは、「モノのインターネット」と訳されるが、身の回りのあらゆるもの、 例えば車・エアコン・テレビ・カメラ・農地・電気水道ガスメーターなど、何でもアリである。 下記のように多くのサービスがある。
- AWS IoT Core … IoT デバイスから Lambda・Kinesis・S3・DynamoDB 等、AWS サービスを利用しやすくするための基盤。
- AWS IoT ボタン … Amazon Dash Button という、ボタンを押すとオムツやお茶が届くというボタンが販売されている。 このようなボタン押下で何かが起こるサービスを自分でも作れるのが AWS IoT ボタンである。ただし、 2018/1 現在、日本では技適マーク未認証と思われるので利用できないと思われる。
- AWS IoT 1-Click … 任意のデバイスに AWS Lambda トリガーをワンクリックで作成する。
- AWS IoT Analytics … IoT から受信したデータを分析するサービス。SQL を使うこともできる。 メッセージのタイムスタンプが自動的に保存されるため時系列分析が簡単であるとか、タイムスタンプとデバイス ID でパーティショニングされるなど、IoT 向けな内容になっている。
- AWS IoT Device Management … IoT デバイスのデバイス名・種類・製造年等を一元管理でき、デバイス上で再起動・システム更新などをリモートから行うことができる。
- AWS IoT Device Defender … IoT デバイスのセキュリティ管理を行う。デバイス上にエージェントを仕込んでおくことで、証明書期限切れ・オープンしているポート数・データ転送量等を AWS に送信する。AWS では、AWS にIoT Device Defner が各種データを見て異常検知を行い、AWS CloudWatch や Amazon SNS にて通知を行う。
- Amazon FreeRTOS … 組み込み用のデバイス用オープンソース OS である FreeRTOS を Amazon がカスタマイズし、AWS IoT Core や AWS Greengrass などと簡単に連携できるようにしたもの。
AWS/Azure/GCP サービスマッピングへ (iot-base)
AWS Key Management Service とは
鍵の生成、鍵のインポート、鍵の無効化・削除が行えるサービス。各種操作についてログを記録可能。 RDS・S3・SES・EBS・Redshift など、データストレージ系のサービスにおいて暗号化するときの鍵の保管庫として KMS を使用できる。
2018/11 に KMS Custom Key Store が発表され、 KMS の API を使いつつ、ハードウェア専有タイプの AWS CloudHSM 上で鍵を管理することができるようになった。
AWS/Azure/GCP サービスマッピングへ (key-manage)
AWS Lake Formation とは
AWS Lambda とは
サーバレスでのプログラム実行。EC2 のようにサーバを確保しなくても、 あらかじめ関数を定義しておけばプログラムが実行される。必然的にインフラ管理が不要となる。 関数で使える言語は、Node.js、Python、Java、C#。 データのインプットは Amazon S3、Amazon Kinesis、DynamoDB、API Gateway、SNS など。
内部実装は Amazon Linux で動くコンテナであるため、Linux コマンドが使えたりする。 また、Lambda 内部のファイルシステムは永続化されない。 永続化したいデータは S3 なり何なりに保存しておくこと。 実行は300秒以内という上限がある。 典型的な使い方は、「画像が S3 にアップされたら、複数サイズのサムネイルを作る」。
AWS Step Functions にて、Lambda のフロー制御を行える。詳細は こちら
AWS/Azure/GCP サービスマッピングへ (serverlesspaas)
AWS/Azure/GCP サービスマッピングへ (scheduler)
AWS License Manager とは
AWS Managed Services とは
AWS パートナー会社 (SIer とか) が、運用管理を手助けしてあげますよというサービス。 OS パッチの管理、自動バックアップ、マルウェア対策・侵入検知・侵入保護などのセキュリティ管理、 障害管理、レポートなど。 「詳細はお問い合わせください」だそうで、詳細も価格も不明。
AWS/Azure/GCP サービスマッピングへ (operation-support)
AWS Marketplace とは
マーケットプレイスとは「市場」のこと。Amazon が市場を整備し、そこに Amazon とは関係ない第三者が商品を出店し、利用者は自由に購入することができる、という関係性。料金は一括して Amazon に支払う。ファイアウォール・NAS・VPNサーバ等が主力と思われるが、FreeBSD・CentOS など、無料のものもある。EC2 上にデプロイして利用する形と、SaaS としての「利用権」という形式の 2通りある。
AWS/Azure/GCP サービスマッピングへ (marketplace)
AWS Media Services とは
AWS Media Services は AWS の動画配信ソリューションの総称で、実際には下記 7サービスから構成される。
- AWS Elemental MediaConnect: ライブ動画伝送サービス。ライブ撮影した動画データを受け取り、他リージョンの AWS Elemental MediaLive などに転送する。これまで人工衛星などで送信していたデータを AWS のネットワーク上で転送するソリューション 2019/01/22 追加
- AWS Elemental MediaConvert: 動画ファイルのコンバートを行える。動画ファイルを入力として、解像度・ビットレート変換、圧縮 (H.264/H.265 など)、サムネイル生成、HLS/MPEG-Dash 等の配信フォーマット別の出力を担う。
- AWS Elemental MediaLive: ライブ動画を入力とし、リアルタイムでエンコード等を行う。
- AWS Elemental MediaPackage: DRM エンコーディングを行える。また、HLS/MPEG-Dash 等の配信フォーマット別の出力も可能。
- AWS Elemental MediaStore: MediaLive とセットで使用する。HLS 配信かつ DRM なしに特化し、低遅延配信を可能とする。
- AWS Elemental MediaTailor: 動画配信に広告を配信するためのシステム。ユーザごとのパーソナライズや広告視聴の測定も可能。
- Amazon Kinesis Video Streams: IoT デバイスや監視カメラなど、数百万の機器からの動画を取り込む。例えば監視カメラより侵入者を検知し、監視者に通知するといった使い方。
もともとは Elemental Technologies 社という会社が、動画配信エンコーダなどの機器を販売していたが、 2015年に Amazon が Elemental Technologies 社を買収し、2017年に がっつり AWS に組み込まれたサービスとして登場したのが AWS Media Services。なお、Elemental Technologies 社は買収後 AWS Elemental という社名に変更となった。 なお、買収後に一時期 Amazon Marketplace にて “Elemental Cloud” という名称でサービスを展開していたが、 2018年現在では新規申し込みは不可となっている。
なお、AWS Elemental 社が過去に販売していた機器は、 「AWS Elemental Live」や「AWS Elemental Server」という名前で販売が継続されているが、 これは AWS 上のサービスではなく、オンプレミス用のハードウェア機器であることに注意。
AWS/Azure/GCP サービスマッピングへ (video)
AWS Mobile Hub とは
AWS と連携するスマホアプリの雛形ソースを自動生成してあげますよ、というサービス。 AWS と連携する部分は、例えば認証は Amazon Cognito、プッシュ通知は Amazon SNS、サーバサイドロジックは AWS Lambda を呼び出すようになっている。 もちろん自分のつくりたいアプリになるようにカスタマイズは必要だが、基盤部分は自動生成されるのでゼロから開発するよりは大変ラクである。 生成したソースは Android Studio や Xcode でビルドする。
AWS/Azure/GCP サービスマッピングへ (app-dev)
AWS OpsWorks とは
OpsWorks は、Chef や Puppet をベースにした OS・ミドルウェアの構成自動管理ツールである。 例えば Apache をインストールする際に、Apache パッケージのインストールや設定ファイル修正を自動化することができる。 AWS OpsWorks for Chef Automate は、マネージドな Chef サーバで、Chef レシピを使って環境構築を自動化することができる。 AWS OpsWorks for Puppet Enterprise も同様に、Chef と同種である Puppet を使って環境構築を自動化することができる。 AWS OpsWorks スタックは、EC2・RDS・EBS・オンプレミス等にレイヤ等の抽象概念を持ち込み、統一的に環境構築ができるものである (と思うがよくわからない)。
AWS/Azure/GCP サービスマッピングへ (build-env)
AWS Organizations とは
組織内で複数のユーザが AWS を利用するにあたり、 複数の AWS アカウントを統合して管理して共通ポリシーを設定したり、 請求を一本化させることができるサービス。 無料。
AWS/Azure/GCP サービスマッピングへ (multi-account)
AWS Outposts とは
AWS Outposts は、「あなたのデータセンタに、専用のハードウェア + AWS ソフトウェアを送るので、データセンタ内に設置して思う存分 AWS を使ってね」というサービス。
目的はネットワーク遅延の最小化、外部にデータを置かなくてすむ、というもの。運用監視リモートで AWS 側が行う。ハード故障時はデータセンタに訪問して交換作業をしてくれる。利用者側は何もしなくてよい (何もできないとも言う)。
利用できるサービスは EC2・ECS・EKS・RDS・EMR などで、AWS の全サービスが使えるというわけではない。
料金はサーバのタイプによるが、1ラックで月80~300万円。前払いだと3000万円~ (いずれも東京リージョンの場合)。最低利用 3年間。お値段的には気軽に使えるサービスではないようだ。
“outpost” は、前線の軍事基地・前哨などを意味する英単語。
AWS/Azure/GCP サービスマッピングへ (cloud-beside-onpre)
AWS Partner Device Catalog とは
AWS Personal Health Dashboard とは
AWS Service Health Dashboard は全リージョン・全サービスの情報であるが、 AWS Personal Health Dashboard は自分が使っているリージョン・サービスの情報のみが表示される。 また、メンテナンス予定の情報も表示される。 過去 7日分の情報しか表示されないのはなんとかしてほしい。AWS/Azure/GCP サービスマッピングへ (failure)
AWS RoboMaker とは
Robot Operating System (ROS) というロボット用のソフトウェアプラットフォームがある (Operating System と言っても実態としては OS ではなく、Linux 等の上で動くプラットフォームソフトウェアである)。AWS RoboMaker は、AWS でこの ROS を簡単に導入できるようにして、開発・シミュレーション・テストをやりやすくするものである。
また、AWS が提供する下記サービスとの連携が簡単に行えるような ROS 拡張を提供する。
- Amazon Kinesis Video Streams (ビデオストリーミング)
- Amazon Rekognition (画像および動画解析)
- Amazon Lex (音声認識)
- Amazon Polly (音声読み上げ)
- Amazon CloudWatch (ログおよびモニタリング)
なお、実態としては RoboMaker 環境を構築すると EC2・EBS・Cloud9 等が作成される。RoboMaker 自体は無料だが、EC2・EBS 等は通常どおりの料金がかかる。
AWS/Azure/GCP サービスマッピングへ (robot-dev)
AWS Schema Conversion Tool とは
AWS Schema Conversion Tool は AWS Database Migration Service の一部の機能で、 異なるデータベースでスキーマ定義を変換するツールである (要は Oracle の DB を参照し、 MySQL 用の CREATE TABLE などの DDL を作成したり、Oracle 向け SQL 文を MySQL 向けに変換するツールということ)。
対応しているパターンは下記。
- SQL Server → RDS の Aurora・MySQL・PostgreSQL・SQL Server
- MySQL → RDS の Aurora・MySQL・PostgreSQL
- Oracle → RDS の Aurora・MySQL・PostgreSQL・Oracle・Redshift
- PostgreSQL → RDS の Aurora・MySQL・PostgreSQL
すべて自動で変換できるわけではないが、 変換できない部分はその旨レポートが出力されるので、 後は手動で頑張ることになる。
AWS/Azure/GCP サービスマッピングへ (dbmigration)
AWS Secrets Manager とは
AWS/Azure/GCP サービスマッピングへ (key-manage)
AWS Security Hub とは
AWS Security Hub は、Amazon GuardDuty、Amazon Inspector、Amazon Macie などのセキュリティ系サービスのレポートを集約して一画面で確認可能とするサービス。また、カスタムアクションというものを登録することで、上記サービスからのアラートを、メール・Slack 等で通知することができる。2019/2 現在、プレビュー。
AWS/Azure/GCP サービスマッピングへ (advisor)
AWS/Azure/GCP サービスマッピングへ (vulnerability)
AWS Serverless Application Repository とは
AWS Server Migration Service とは
オンプレミスにて VMware を使っている場合、 AWS Server Migration Service を使うことで EC2 用の仮想マシンイメージを作成できる。 増分レプリケーションにも対応。
VM Import/Export の後継的な機能。AWS/Azure/GCP サービスマッピングへ (onpre-vm-migration)
AWS Service Catalog とは
組織内で使用可能な AWS サービスのカタログを定義できる。 具体的には組織全体の管理者が、制約を踏まえつつ、雛形となる EC2・ELB・セキュリティグループ等を決め、 AWS CloudFormation や AMI として定義する。制約とは例えばテスト環境ならインスタンスタイプは t2.micro か t2.small のみ、など。
利用者は、与えられたカタログを使って EC2 などのインスタンスを作成する。
率直に言って、これがマッチする組織形態が全くイメージできない。ガバナンス重視な大企業向けだと思うが、 全社的に適用したい制約なんて果たして存在するのか?
AWS/Azure/GCP サービスマッピングへ (catalog)
AWS Service Health Dashboard とは
EC2 や RDS など、AWS が提供する各サービスについて、現在トラブルが発生しているかを表示しているページのこと。 URL は https://status.aws.amazon.com/ である。 また、直近 1年間のトラブル履歴についても参照可能であるが、見づらいにもほどがある。
詳細は AWS Personal Health Dashboard も参照のこと。
AWS/Azure/GCP サービスマッピングへ (failure)
AWS Shield Advanced とは
AWS Shield Standard に加え、下記のようなより高度な防御を行う。 さらなる DDos 緩和、L7 トラフィックの監視、攻撃に関するレポート、AWS のDDoS 対応チームのサポート (主体的に動いてくれるらしい)、ELB/CloudFront/Route 53 について DDoS 攻撃に起因する料金上昇時の調整)。 なお、1年間契約 + 3,000 USD/月 + ELB/CloudFrontデータアウト料金に上乗せ なので、 それなりの規模のサービスを前提としているのであろう。AWS/Azure/GCP サービスマッピングへ (ddos)
AWS Shield Standard とは
AWS WAF に付属する、DDoS からの保護機能。具体的には SYN flood や UDP リフレクタ等の攻撃を防ぐことができる。 無料であり、AWS WAF にて最初からで ON になっている (OFF にはできないっぽい)。 AWS Shield Advanced も参照。
AWS/Azure/GCP サービスマッピングへ (ddos)
AWS Single Sign-On とは
自組織が利用している既存の認証と連携し、複数の AWS アカウントにログインを可能とする仕組み。 AWS に加え、Office 365 や Slack など、外部アプリケーションへのログインも可能。
AWS/Azure/GCP サービスマッピングへ (sso)
AWS Snowball とは
データセンタなどに置いてあるペタバイト程度の大量データを AWS に物理的に転送するためのもの。 AWS から 80TB の HDD が郵送で送られてくるので、 データセンタなどにあるオンプレミスからデータを HDD にコピーして、 AWS へ HDD を送り返すと、AWS が AWS 内にデータを上げてくれる感じ。 AWS Snowball Edge、 AWS Snowmobile も参照。
AWS/Azure/GCP サービスマッピングへ (physical-storage-transfer)
AWS Snowball Edge とは
AWS Snowball の進化版。 Snowball は 80TB であったが、Snowball Edge は 100TB。 Snowball はディスクのみであるが、Snowball Edge はディスク + コンピュータであるため、 NFS 接続・Lambda 実行・Snowball Edge 複数台でのクラスタリング等、より賢いことができる。AWS/Azure/GCP サービスマッピングへ (physical-storage-transfer)
AWS Snowmobile とは
Snowball のもっとデカい版。 長さ 13m、高さ 3m のコンテナに、ストレージが詰め込まれている。1つあたり容量 100PB。トラックで運ばれてくるので、既存データセンタに接続し、データを吸い出す。吸い出しが終わるとトラックが帰って、そのうち S3 あたりにファイルがドンと置かれる感じ。 AWS Snowball、AWS Snowball Edge も参照。
AWS/Azure/GCP サービスマッピングへ (physical-storage-transfer)
AWS Step Functions とは
AWS Lambda の処理フロー、例えば順次処理・分岐・エラー判定・ループなどを定義する。 個々の Lambda 関数は小さなマイクロサービスとしておいて、それぞれのつながりを AWS Step Functions で定義することで、各 Lambda 関数は次に何を実行するのかを知らなくてよくなるので、 疎結合を実現できる。 Lambda 以外で使うことも可能だが、push 型ではなく pull 型にはなる (自分で Step Functions の API を叩いて、タスクがあるかポーリングする)。 類似サービスとして Amazon SWF があるが、Amazon は後発である AWS Setp Functions の使用を推奨している。AWS/Azure/GCP サービスマッピングへ (job-flow)
AWS Storage Gateway とは
Storage Gateway を使うと、オンプレミスのデータを S3 や EBS に転送することができる。 バックアップや DR (災害対策) 用。
AWS/Azure/GCP サービスマッピングへ (onpre-backup)
AWS サポート とは
AWS のサポートには、ベーシック・開発者・ビジネス・エンタープライズの 4つのプランがある。 上位プランほど、問い合わせ時間・初回応答時間・電話やチャット可能・設計レビュー可否・担当エンジニアアサインなどの優遇措置があるが、 もちろん上位プランのほうが金額が高い (それぞれのプランの月額サポート費用: 無料・$29~・$100~・$15,000~)。
AWS Transfer Family とは
AWS Transfer for SFTP とは
AWS Transit Gateway とは
AWS Trusted Advisor とは
コスト・セキュリティ・対障害性・パフォーマンスの観点で、現在の AWS 設定をチェックし、 改善候補を教えてくれるサービス。誰もでも使えるが、AWS サポートのプランが「ベーシック」 「開発者プラン」の場合は 4項目のみ。「ビジネス」「エンタープライズ」の場合は全項目利用可。 具体的には、この EC2 や EBS は使っていないんじゃないかとか、逆にこの EC2 は CPU 使用率が高すぎるのでインスタンスサイズの見直しをしたほうがよいとか、このポートが開放されているとか、RDS のバックアップ期間が 0日になっているがこれでよいか、とかそういう感じ。 メールでの通知も可能。 類似サービスとして Amazon GuardDuty がある。
AWS/Azure/GCP サービスマッピングへ (advisor)
AWS VPN とは
AWS/Azure/GCP サービスマッピングへ (vpn)
AWS WAF とは
Web アプリケーションファイアウォール。連携が可能なサービスは EC2・CloudFront・ALB・API Gateway。たとえば「このページは “?id=英数字” というパラメータしか受け付けない」と定義することで、記号を含むリクエストが届くとエラーにしたりする。これにより SQL インジェクションなどの攻撃を防御しやすくなる。また、「5分以内でこんなアクションをしたIPアドレスをブロック」なども可能。AWS WAF に付属している AWS Shield Standard・AWS Shield Advanced も参照。
AWS/Azure/GCP サービスマッピングへ (waf)
AWS Wavelength とは
AWS Well-Architected Tool とは
AWS X-Ray とは
アプリケーションのデバッグ・分析ツール。レントゲンの「X線 (X-ray)」のように、中身を見通すから X-Ray という名前になった。 近年のアプリケーションは、フロント・API を分離するなどマイクロサービス化したり、Lambda・S3・DynamoDB など PaaS を利用する傾向にあるが、 登場人物が増えた分、つながりを追いづらくなっている。例えば、ある Web ページが遅い場合、どこで時間がかかっているかを調査するのは難しい。 AWS X-Ray は、ユニークな追跡 ID を含む情報を受け取り、同じ追跡 ID をひとつながりのリクエストとして表示する。イメージとしては下記のような感じで、Lambda で 5秒以上かかっているなどの分析を簡単に行える。
- 2018/01/27 18:55:12.000 63ms [Front EC2] request
- 2018/01/27 18:55:12.063 60ms [API EC2] request
- 2018/01/27 18:55:12.123 219ms [API EC2] request
- 2018/01/27 18:55:12.332 5121ms [Lambda] functions get_user_info start
- 2018/01/27 18:55:17.483 151ms [DynamoDB] search uid=123
- 2018/01/27 18:55:17.532 49ms [DynamoDB] update uid=123
- 2018/01/27 18:55:18.311 789ms [S3] store file [/foo/bar/uid/123/xxxx]
また、平均レスポンスなどの統計情報の表示や、日時での絞り込みが可能。
Lambda 等、簡単に設定変更で X-Ray 対応が可能なサービスもあるが、 おおむね自作アプリケーションに若干のコード追加が必要。
AWS/Azure/GCP サービスマッピングへ (debug)
Elastic Load Balancing (ELB) とは
ロードバランサ。Classic Load Balancer (CLB) と Application Load Balancer (ALB) の 2種類ある。Class の方は、EC2 にトラフィックを振り分ける。負荷分散とフェイルオーバーが目的。HTTPS 対応。複数 AZ には対応しているが、複数リージョンには対応していない。パスでの振り分けはできない。一方、ALB は…
S3 Select とは
S3 に置いてある CSV, JSON などの形式のファイルの内容を、SQL で検索できる。 ファイルをまるごと手元に持ってくる時間と転送量を節約できる。 ファイルが gzip や bzip2 で圧縮されていても検索可能。 類似サービスとして Amazon Athena があるが、S3 Select はテーブルスキーマを事前定義する必要はないため、ログ検索などで簡単に使用できる。 2017/12 プレビュー公開。2018/4 GA。
AWS/Azure/GCP サービスマッピングへ (bigdata-analysis)
VM Import/Export とは
VMware・Hyper-V・Citrix Xen にて仮想マシンイメージを取得し、EC2 にインポートすることができる機能。 VM Import で作成した EC2 インスタンスであれば、逆に EC2 からエクスポートして VMware 等にインポートすることもできる。 後継サービス AWS Server Migration Service の方が使いやすく機能も多いので、まずはそちらを検討してほしい。
AWS/Azure/GCP サービスマッピングへ (onpre-vm-migration)
メモ
IAM、Kinesis 動画ストリーム、SAM, / Performance Insights/ Amazon SageMaker と AWS Glue の連携 / Amazon Kinesis Data Analytics for Java Applications / Amazon Managed Streaming for Kafka / AWS Container Competency Firecracker / Amazon EC2 P3dn インスタンス / Amazon EC2 オンデマンドハイバーネーション / DynamoDB トランザクション / Amazon RDS on VMware / Amazon Aurora Global Databases DynamoDB On-Demand / AWS IoT Events / AWS IoT SiteWise / AWS IoT Service Delivery Designations AWS IoT Device Tester for Amazon FreeRTOS / Amazon SageMaker Ground Truth Amazon Sagemaker Neo Amazon SageMaker RL / Amazon Sagemaker Developer Enhancements / Amazon Sagemaker Orchestration and Management Dynamic Training with Apache MXNet on AWS / AWS IoT Greengrass ML Inference / Amazon CloudWatch Logs Insights / CloudWatch Application Insights / AWS Marketplace for Containers / AWS Marketplace for Machine Learning Private Marketplace / Amazon API Gateway support for WebSocket APIs , Elastic Fabric Adapter / Amazon Elastic File System Infrequent Access / Amazon S3 Glacier Deep Archive / Amazon S3 の4つの新機能 Amazon FSx for Windows File Server Amazon FSx for Lustre / AWS Snowball Edge Compute Optimized S3 Transfer Acceleration EFS File Sync, worklink, Amazon IVS (Interactive Video Service), AWS CloudShell, AWS ParallelCluster, Amazon CodeGuru, AWS Proton, Amazon Location, AWS Fault Injection Simulator, Amazon Managed Service for Prometheus(AMP), Amazon Managed Service for Grafana, Amazon HealthLake, Amazon EMR on Amazon EKS, AWS Audit Manager, Amazon Lightsail コンテナ, Lambda コンテナ, Amazon QuickSight Q, AWS Batch で Fargate, AWS SaaS Boost, AWS Trainium, Amazon Monitron, AWS Panorama Appliance, Amazon Connect Wisdom, ECR Public, AWS CDK
説明がないエントリは…