この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。DA事業本部の春田です。
年々増加するAWSのサービス数。もはや自分の担当領域外のサービスに関しては、把握しきれていないものも多いのではないでしょうか?
しかし、AWS認定のSolution Architect Professionalを受験するとなると、担当外の範囲でも概要くらいは理解しておく必要があります。ただ如何せん、ややこしい名前が多いんですよね……。けれどその辺を手作業で整理するのはかなり面倒。
ということで今回は、サービス名を簡単に形態素解析して、似たサービス名を機械的にあぶり出してみました。(正規表現ベースです)
目次
準備
対象となるAWSサービスは、マネジメントコンソールのサービス一覧と、AWSのCloud Productsから、主観をまじえてチョイスした 196個 のサービスです。なお、何を持って「サービス」とするのかは、あまり気にしないでください。
カテゴリ | サービス名 |
---|---|
Compute | Amazon Elastic Compute Cloud (EC2) |
Amazon EC2 Auto Scaling | |
Amazon Elastic Container Registry (ECR) | |
Amazon Elastic Container Service (ECS) | |
Amazon Elastic Container Service for Kubernetes (EKS) | |
Amazon Lightsail | |
AWS Batch | |
AWS Elastic Beanstalk | |
AWS Fargate | |
AWS Lambda | |
AWS Outposts | |
AWS Serverless Application Repository | |
AWS Wavelength | |
VMware Cloud on AWS | |
EC2 Image Builder | |
Storage | Amazon Simple Storage Service (S3) |
Amazon Elastic Block Store (EBS) | |
Amazon Elastic File System (EFS) | |
Amazon FSx for Lustre | |
Amazon FSx for Windows File Server | |
Amazon S3 Glacier | |
AWS Backup | |
AWS Storage Gateway | |
Database | Amazon Aurora |
Amazon DynamoDB | |
Amazon DocumentDB (with MongoDB compatibility) | |
Amazon ElastiCache | |
Amazon Managed Apache Cassandra Service | |
Amazon Neptune | |
Amazon Quantum Ledger Database (QLDB) | |
Amazon Relational Database Service (RDS) | |
Amazon RDS on VMware | |
Amazon SimpleDB | |
Amazon Timestream | |
Migration & Transfer | AWS Migration Hub |
AWS Application Discovery Service | |
AWS Database Migration Service | |
AWS DataSync | |
AWS Import/Export | |
AWS Schema Conversion Tool | |
AWS Server Migration Service | |
AWS Snowball | |
AWS Snowball Edge | |
AWS Snowmobile | |
AWS Transfer for SFTP | |
CloudEndure Migration | |
Networking & Content Delivery | Amazon Virtual Private Cloud (VPC) |
Amazon API Gateway | |
Amazon CloudFront | |
Amazon Route 53 | |
AWS PrivateLink | |
AWS App Mesh | |
AWS Cloud Map | |
AWS Direct Connect | |
AWS Global Accelerator | |
AWS Transit Gateway | |
Elastic Load Balancing | |
Analytics | Amazon Athena |
Amazon CloudSearch | |
Amazon Elasticsearch Service | |
Amazon Elastic MapReduce (EMR) | |
Amazon Kinesis | |
Amazon Managed Streaming for Kafka (MSK) | |
Amazon Redshift | |
Amazon QuickSight | |
AWS Data Exchange | |
AWS Data Pipeline | |
AWS Glue | |
AWS Lake Formation | |
Security, Identity, & Compliance | AWS Identity and Access Management (IAM) |
Amazon Cognito | |
Amazon Detective | |
Amazon GuardDuty | |
Amazon Inspector | |
Amazon Macie | |
AWS Artifact | |
AWS Certificate Manager | |
AWS CloudHSM | |
AWS Directory Service | |
AWS Firewall Manager | |
AWS Key Management Service | |
AWS Resource Access Manager | |
AWS Secrets Manager | |
AWS Security Hub | |
AWS Shield | |
AWS Single Sign-On | |
AWS Web Application Firewall (WAF) | |
Management & Governance | Amazon CloudWatch |
AWS Auto Scaling | |
AWS Chatbot | |
AWS CloudFormation | |
AWS CloudTrail | |
AWS Compute Optimizer | |
AWS Config | |
AWS Control Tower | |
AWS Health | |
AWS License Manager | |
AWS Managed Services | |
AWS OpsWorks | |
AWS Organizations | |
AWS Personal Health Dashboard | |
AWS Service Catalog | |
AWS Service Quotas | |
AWS Systems Manager | |
AWS AppConfig | |
AWS Trusted Advisor | |
AWS Well-Architected Tool | |
AWS Launch Wizard | |
Application Integration | AWS Step Functions |
Amazon EventBridge | |
Amazon MQ | |
Amazon Simple Notification Service (SNS) | |
Amazon Simple Queue Service (SQS) | |
AWS AppSync | |
Amazon Simple Workflow Service (SWF) | |
Developer Tools | Amazon Correto |
AWS Cloud Development Kit | |
AWS Cloud9 | |
AWS CodeBuild | |
AWS CodeCommit | |
AWS CodeDeploy | |
AWS CodePipeline | |
AWS CodeStar | |
AWS X-Ray | |
Machine Learning | Amazon SageMaker |
Amazon Augmented AI (Amazon A2I) | |
Amazon CodeGuru | |
Amazon Comprehend | |
Amazon Elastic Inference | |
Amazon Forecast | |
Amazon Fraud Detector | |
Amazon Kendra | |
Amazon Lex | |
Amazon Machine Learning | |
Amazon Personalize | |
Amazon Polly | |
Amazon Rekognition | |
Amazon Textract | |
Amazon Transcribe | |
Amazon Translate | |
AWS Deep Composer | |
AWS DeepLens | |
AWS DeepRacer | |
Apache MXNet on AWS | |
TensorFlow on AWS | |
AWS Cost Management | AWS Cost Explorer |
AWS Budgets | |
AWS Cost & Usage Report | |
Reserved Instance (RI) Reporting | |
AWS Marketplace Subscriptions | |
Savings Plans | |
Customer Enablement | AWS IQ |
AWS Support | |
Mobile | AWS Amplify |
AWS Mobile Hub | |
AWS Device Farm | |
Customer Engagement | Amazon Connect |
Amazon Pinpoint | |
Amazon Simple Email Service (SES) | |
Contact Lens for Amazon Connect | |
Business Applications & End User Computing | Alexa for Business |
Amazon Chime | |
Amazon WorkDocs | |
Amazon WorkMail | |
Amazon WorkSpaces | |
Amazon WorkSpaces Application Manager (WAM) | |
Amazon WorkLink | |
Amazon AppStream 2.0 | |
Internet of Things | AWS IoT Core |
Amazon FreeRTOS | |
AWS IoT Greengrass | |
AWS IoT 1-Click | |
AWS IoT Analytics | |
AWS IoT Button | |
AWS IoT Device Defender | |
AWS IoT Device Management | |
AWS IoT Events | |
AWS IoT SiteWise | |
AWS IoT Things Graph | |
Media Services | Amazon Elastic Transcoder |
Amazon Kinesis Video Streams | |
AWS Elemental MediaConnect | |
AWS Elemental MediaConvert | |
AWS Elemental MediaLive | |
AWS Elemental MediaPackage | |
AWS Elemental MediaStore | |
AWS Elemental MediaTailor | |
AWS Elemental Elemental Appliances & Software | |
Game Development | Amazon GameLift |
Amazon Lumberyard | |
AR & VR | Amazon Sumerian |
Robotics | AWS RoboMaker |
Blockchain | Amazon Managed Blockchain |
Satellite | AWS Ground Station |
Quantum Technologies | Amazon Braket |
Crowdsourcing | Amazon Mechanical Turk |
まずは簡単に頻出単語を可視化したいと思います。Python3.7でテキストマイニング・ライブラリのWordCloud をインストールします。
pip3 install wordcloud
WordCloudクラスはかなり細かくパラメータを設定できます。今回肝となるパラメータは、正規表現の regexp
ですね。大文字から始まる単語で分割し、想定通り分割できない一部の単語は例外にするため、 r'IoT|FSx|A2I|MXNet|[A-Z0-9][a-z0-9]+|[A-Z0-9]+|[a-z0-9]+'
という形になりました。画像の出力は generate
と to_image
メソッドでできます。
from wordcloud import WordCloud
text = """
Amazon Elastic Compute Cloud (EC2)
Amazon EC2 Auto Scaling
Amazon Elastic Container Registry (ECR)
Amazon Elastic Container Service (ECS)
Amazon Elastic Container Service for Kubernetes (EKS)
Amazon Lightsail
AWS Batch
AWS Elastic Beanstalk
AWS Fargate
AWS Lambda
AWS Outposts
AWS Serverless Application Repository
AWS Wavelength
VMware Cloud on AWS
EC2 Image Builder
Amazon Simple Storage Service (S3)
Amazon Elastic Block Store (EBS)
Amazon Elastic File System (EFS)
Amazon FSx for Lustre
Amazon FSx for Windows File Server
Amazon S3 Glacier
AWS Backup
AWS Storage Gateway
Amazon Aurora
Amazon DynamoDB
Amazon DocumentDB (with MongoDB compatibility)
Amazon ElastiCache
Amazon Managed Apache Cassandra Service
Amazon Neptune
Amazon Quantum Ledger Database (QLDB)
Amazon Relational Database Service (RDS)
Amazon RDS on VMware
Amazon SimpleDB
Amazon Timestream
AWS Migration Hub
AWS Application Discovery Service
AWS Database Migration Service
AWS DataSync
AWS Import/Export
AWS Schema Conversion Tool
AWS Server Migration Service
AWS Snowball
AWS Snowball Edge
AWS Snowmobile
AWS Transfer for SFTP
CloudEndure Migration
Amazon Virtual Private Cloud (VPC)
Amazon API Gateway
Amazon CloudFront
Amazon Route 53
AWS PrivateLink
AWS App Mesh
AWS Cloud Map
AWS Direct Connect
AWS Global Accelerator
AWS Transit Gateway
Elastic Load Balancing
Amazon Athena
Amazon CloudSearch
Amazon Elasticsearch Service
Amazon Elastic MapReduce (EMR)
Amazon Kinesis
Amazon Managed Streaming for Kafka (MSK)
Amazon Redshift
Amazon QuickSight
AWS Data Exchange
AWS Data Pipeline
AWS Glue
AWS Lake Formation
AWS Identity and Access Management (IAM)
Amazon Cognito
Amazon Detective
Amazon GuardDuty
Amazon Inspector
Amazon Macie
AWS Artifact
AWS Certificate Manager
AWS CloudHSM
AWS Directory Service
AWS Firewall Manager
AWS Key Management Service
AWS Resource Access Manager
AWS Secrets Manager
AWS Security Hub
AWS Shield
AWS Single Sign-On
AWS Web Application Firewall (WAF)
Amazon CloudWatch
AWS Auto Scaling
AWS Chatbot
AWS CloudFormation
AWS CloudTrail
AWS Compute Optimizer
AWS Config
AWS Control Tower
AWS Health
AWS License Manager
AWS Managed Services
AWS OpsWorks
AWS Organizations
AWS Personal Health Dashboard
AWS Service Catalog
AWS Service Quotas
AWS Systems Manager
AWS AppConfig
AWS Trusted Advisor
AWS Well-Architected Tool
AWS Launch Wizard
AWS Step Functions
Amazon EventBridge
Amazon MQ
Amazon Simple Notification Service (SNS)
Amazon Simple Queue Service (SQS)
AWS AppSync
Amazon Simple Workflow Service (SWF)
Amazon Correto
AWS Cloud Development Kit
AWS Cloud9
AWS CodeBuild
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
AWS CodeStar
AWS X-Ray
Amazon SageMaker
Amazon Augmented AI (Amazon A2I)
Amazon CodeGuru
Amazon Comprehend
Amazon Elastic Inference
Amazon Forecast
Amazon Fraud Detector
Amazon Kendra
Amazon Lex
Amazon Machine Learning
Amazon Personalize
Amazon Polly
Amazon Rekognition
Amazon Textract
Amazon Transcribe
Amazon Translate
AWS Deep Composer
AWS DeepLens
AWS DeepRacer
Apache MXNet on AWS
TensorFlow on AWS
AWS Cost Explorer
AWS Budgets
AWS Cost & Usage Report
Reserved Instance (RI) Reporting
AWS Marketplace Subscriptions
Savings Plans
AWS IQ
AWS Support
AWS Amplify
AWS Mobile Hub
AWS Device Farm
Amazon Connect
Amazon Pinpoint
Amazon Simple Email Service (SES)
Contact Lens for Amazon Connect
Alexa for Business
Amazon Chime
Amazon WorkDocs
Amazon WorkMail
Amazon WorkSpaces
Amazon WorkSpaces Application Manager (WAM)
Amazon WorkLink
Amazon AppStream 2.0
AWS IoT Core
Amazon FreeRTOS
AWS IoT Greengrass
AWS IoT 1-Click
AWS IoT Analytics
AWS IoT Button
AWS IoT Device Defender
AWS IoT Device Management
AWS IoT Events
AWS IoT SiteWise
AWS IoT Things Graph
Amazon Elastic Transcoder
Amazon Kinesis Video Streams
AWS Elemental MediaConnect
AWS Elemental MediaConvert
AWS Elemental MediaLive
AWS Elemental MediaPackage
AWS Elemental MediaStore
AWS Elemental MediaTailor
AWS Elemental Appliances & Software
Amazon GameLift
Amazon Lumberyard
Amazon Sumerian
AWS RoboMaker
Amazon Managed Blockchain
AWS Ground Station
Amazon Braket
Amazon Mechanical Turk
"""
regex = r'IoT|FSx|A2I|MXNet|[A-Z][a-z]+|[A-Z0-9]+|[a-z0-9]+'
wordcloud = WordCloud(background_color="white", width=1200, height=600, regexp=regex, collocations=False)
image = wordcloud.generate(text).to_image()
image.show()
wordcloud.to_file('./aws_name1.png')
わずか数行でおしゃれに可視化できます。非常に簡単ですね。
次に、頻出度を数値で見るためにグラフ化してみます。 process_text
メソッドを使うと、内部でPythonの標準ライブラリの collections
と re
がよしなに動き、単語別にカウントしてくれます。グラフ化ツールには bokeh
を使ってみました。
pip3 install bokeh
from bokeh.plotting import figure, show, output_file
word_freq = wordcloud.process_text(text)
word_freq = { k: v for k, v in word_freq.items() if v > 1} # 2以上のみ描写
word_freq = sorted(word_freq.items(), key=lambda x: x[1]) # 値でソート
p = figure(y_range=[v[0] for v in word_freq], plot_width=500, plot_height=1500, x_range=(0, 120), title="Word Frequency", toolbar_location=None, tools="")
p.hbar(y=[v[0] for v in word_freq], right=[v[1] for v in word_freq], height=0.9)
p.text(x=[v[1] for v in word_freq], y=range(len(word_freq)), text=[v[1] for v in word_freq])
show(p)
結果は以下のとおりです。
AWSのサービス名は、冠詞に AWS か Amazon のどちらかがつくことがほとんどですが、今のところ"AWS"とつくサービス名の方が多いみたいですね。また、案の定それ以外の単語も結構な数が重複していました。上から順に比較していきたいと思います。
同じ単語を持つサービス比較
※一部、上の正規表現ではカバーしきれなかったサービスを含めたりしています。
Service
Service がつくAWSサービスは、全部で18個ありますが、あまり中身のない単語なので端折ります。
Cloud
クラウドサービスなので Cloud とつくサービス名は多かったです。全13個。違いはわかりますか?
- Amazon Elastic Compute Cloud (EC2)
- VMware Cloud on AWS
- CloudEndure Migration
- Amazon Virtual Private Cloud (VPC)
- Amazon CloudFront
- AWS Cloud Map
- Amazon CloudSearch
- AWS CloudHSM
- Amazon CloudWatch
- AWS CloudFormation
- AWS CloudTrail
- AWS Cloud Development Kit (CDK)
- AWS Cloud9
Elastic
次に多かったのが Elastic 。日本語では、「伸縮性・弾力性」と訳されます。ElastiCacheとElasticsearchも入れると全部で13個ですね。なお、Elasticが付くサービスは略されがちです。
- Amazon Elastic Compute Cloud (EC2)
- Amazon Elastic Container Registry (ECR)
- Amazon Elastic Container Service (ECS)
- Amazon Elastic Container Service for Kubernetes (EKS)
- AWS Elastic Beanstalk
- Amazon Elastic Block Store (EBS)
- Amazon Elastic File System (EFS)
- Amazon ElastiCache
- Elastic Load Balancing
- Amazon Elasticsearch Service
- Amazon Elastic MapReduce (EMR)
- Amazon Elastic Inference
- Amazon Elastic Transcoder
IoT & Elemental & Media
IoT はその名の通りIoT系のサービス、 Elemental と Media はメディア系のサービスに対してついている名前です。SAPには滅多に出てこないので端折ります。にしても、こんなニッチなサービスがこんな数あったんですね……。
Manager & Management
SAP試験でかなり重要度が高い Manager と Management 。いつかこれらのManagerをManagementするManagerが出てきそうですね。その後、そのManagerをManagementするManagerが(ry
- AWS Certificate Manager
- AWS Firewall Manager
- AWS Resource Access Manager
- AWS Secrets Manager
- AWS License Manager
- AWS Systems Manager
- Amazon WorkSpaces Application Manager (WAM)
- AWS IoT Device Management
- AWS Identity and Access Management (IAM)
- AWS Key Management Service (KMS)
Work
同じ Work という単語でも、サービス毎にニュアンスが異なってます。OpsWorksとSWFは頻出、Business Apps系も特徴を問われたりするので、全て理解が必要です。
- AWS OpsWorks
- Amazon Simple Workflow Service (SWF)
- Amazon WorkDocs
- Amazon WorkMail
- Amazon WorkSpaces
- Amazon WorkSpaces Application Manager (WAM)
- Amazon WorkLink
Code
おなじみCI/CDの Code ファミリー。各サービスがCI/CDのどこを担当しているのかしっかり理解しておきたいです。今気づいたのですが、最新サービスのCodeGuruだけ冠詞が "Amazon" なんですね。なぜこれだけ仲間はずれにされてしまったのでしょうか。
Simple
どんなサービスも Simple さは大事かと思います。汎用性の高いサービスにつけられているようですね。なお、Simpleが付くサービスも略されがちです。
- Amazon Simple Storage Service (S3)
- Amazon SimpleDB
- Amazon Simple Notification Service (SNS)
- Amazon Simple Queue Service (SQS)
- Amazon Simple Workflow Service (SWF)
- Amazon Simple Email Service (SES)
Connect
オンプレとクラウドをつなぐDirect Connect 、顧客とカスタマーサポートをつなぐAmazon Connect 、何と何を繋ぐかによって役割もかなり変わってきますね。SAPではDirect Connectがかなり重要です。
App & Application
同意の App と Application はまとめると8サービスもあります。サービス名だけでは内容がわからないものが多い、曲者揃いな単語ですね。ほとんどが頻出度高めです。
- AWS Serverless Application Repository
- AWS Application Discovery Service
- AWS App Mesh
- AWS Web Application Firewall (WAF)
- AWS AppConfig
- AWS AppSync
- Amazon WorkSpaces Application Manager (WAM)
- Amazon AppStream 2.0
Migration
超重要単語 Migration 。サービス名で違いがわからなくなることはないと思いますが、それぞれを深く理解しておく必要があります。
Managed
AWSといったら Managed 。サードパーティをマネージド化したサービスに対して付けられるのでしょうか。
- Amazon Managed Apache Cassandra Service
- Amazon Managed Streaming for Kafka (MSK)
- AWS Managed Services
- Amazon Managed Blockchain
DB & Database & Data
DB か Database か Data がついたサービスは9つありました。現在はあまり使われていないサービスもありますが、概要は抑えておきたいところです。
- Amazon DynamoDB
- Amazon DocumentDB (with MongoDB compatibility)
- Amazon Quantum Ledger Database (QLDB)
- Amazon Relational Database Service (RDS)
- Amazon SimpleDB
- AWS Database Migration Service
- AWS DataSync
- AWS Data Exchange
- AWS Data Pipeline
Device
モバイルやIoTのサービスに付いている Device 。端折ります。
Deep
Deep Learningの Deep 。こうして見ると、AWSのガジェットに対して付く単語みたいですね。ビデオカメラ、ラジコン、鍵盤と来たので、今年はDeepCookerとか?(適当)
Hub
数は少ないけど重要単語 Hub 。上のリストには入れてなかったのですが AWS VPN CloudHub や、まさにHub的な役割をしているAWS Transit Gatewayも重要ですね。
Gateway
これまた重要単語 Gateway 。SAPでは全て頻出です。そういえば他にも、Internet GatewaysやNat Gateawaysもありましたね。
Container
その名の通り、コンテナ系のサービスに付く単語の Container 。こちらも深い理解が必要です。
- Amazon Elastic Container Registry (ECR)
- Amazon Elastic Container Service (ECS)
- Amazon Elastic Container Service for Kubernetes (EKS)
EC2
EC2 の名をもったサービス。名前の意味もわかりやすいですし、こちらは大丈夫でしょう。
残りは重要そうなサービスだけピックアップしてご紹介します。
Cost
Cost 最適化は重要な観点でしょう。 AWS Budgets も合わせて理解したいところです。
Config
AWS Config なのか、AWS AppConfig なのか、違いはしっかり理解しておきたいですね。
Access
管理系重要単語の Access。どちらも深めに理解したいです。
Formation
Cloud Formation と Lake Formation。モダンな環境構築で活躍するサービス群。
Pipeline
どんな内容なのか理解しやすい名前ではありますが、念のため。
Link
AWS PrivateLink と Amazon WorkLink は結構混同してしまいそうな印象。
Sync
どこの何を Sync しているのか、違いをしっかり理解しておきたいところです。
Auto Scaling
AWSの Auto Scaling は2種類あり、どちらもSAP試験でもよく問われますね。
感想
結果、個人的には Manager か App が付くサービスの理解が不十分だったなと感じました。本当は単語の綴りが似ているとか、最初の3文字が同じとかでもやりたかったのですが、かなりのボリュームになってしまうので今回は見送りました。
こう改めて整理してみると普段気づかない発見もあって面白かったです。次回はまた別の観点からまとめてみます。