Edited at

AWSの各サービスを超ざっくり把握する


概要

AWSの主要な各サービスを一行でまとめてみました。全てのサービスを網羅しているわけではないです。

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイトの本の復習がてらです。

読んだら何のサービスか聞かれて答えられるようになるかも。

ちなみにアイコンは公式のAWS アーキテクチャアイコンから取得できます。


ネットワークとコンテンツ配信

全ての始まりはネットワーク構築から。

リージョン・・・AWSがサービスを提供している国と地域のこと。

アベイラビリティーゾーン(AZ)・・・データセンターの集まり。リージョン内に複数のAZが含まれている。


VPC (Virtural Private Cloud)

プライベートなネットワークを構成するサービス。ゲートウェイ、サブネット、ルートテーブルなどを利用する。


CloudFront

サーバのキャッシュを配信するCDN(Contents Delivery Network)サービス。


Route 53

ドメイン管理とDNSを行うサービス。ドメインの取得や更新をしたり、ドメインとIPアドレスの名前解決をしたりする。


コンピューティングサービス


EC2 (Elastic Compute Cloud)

仮想サーバ。サーバの個数や性能を柔軟に変更できる。


ELB (Elastic Load Balancing)

ロードバランサ。負荷分散することで障害を防いだり、Auto Scaling機能でインスタンスの台数を増減できる。


ECS (Elastic Container Service)

Dockerコンテナの実行環境を提供。サーバの設定なしでDockerを利用できる。


Lambda

サーバなしでプログラム実行する環境を提供。サーバレスアーキテクチャの中核。


運用支援サービス


CloudWatch

運用監視を支援するサービス。CPU使用率などのリソース状態やログを取得できる。


CloudTrail

AWSマネジメントコンソールやCLIにおける操作ログを監査するサービス。誤操作や不正アクセスの早期発見・追跡などに利用する。


ストレージサービス

ストレージの種類の違いは以下。

ブロックストレージ・・・データを物理的なディスクにブロック単位で管理するストレージ。

ファイルストレージ・・・ファイルシステムを構成してデータをファイル単位で管理するストレージ。

オブジェクトストレージ・・・ファイルにメタデータを追加してオブジェクトとして管理するストレージ。直接操作はできずHTTP経由で登録・削除・参照の操作が可能。更新頻度の少ないデータや大容量のコンテンツを保存する用途で使う。


EBS (Elastic Block Store)

ブロックストレージサービス。EC2のOS領域、追加ボリューム、RDSのデータ保存領域などに使用する。


EFS (Elastic File System)

ファイルストレージサービス。容量無制限で複数のEC2インスタンスから同時アクセスが可能。


S3 (Simple Storage Service)

オブジェクトストレージサービス。高耐久性&容量無制限で様々な用途に利用できる。


Glacier

オブジェクトストレージサービス。高耐久性&安価な費用&データの取り出しに時間がかかるため、アーカイブ用途で利用される。


Storage Geteway

オンプレミスにあるデータをクラウドへ連携するためのインターフェースを提供。独自のストレージは持たない。


データベースサービス

データベースの種類の説明は以下。

RDB (Relational Database)・・・データを表形式で表す。SQLを用いて操作する。

NoSQL・・・SQLを使わないデータベースアーキテクチャの総称。RDBのパフォーマスやデータモデルの問題に対処するために作られた。RDSを完全に置き換えるものではなくユースケースに応じて使い分ける。


RDS (Relational Database Service)

RDBサービス。エンジンはMySQL/MariaDB/PostgreSQL/Oracleなどがあり、クラウドの特性を生かしたAWS独自のAuroraも選択可能。


Redshift

データウェアハウス向けのRDB。列指向型データベース&分散並行実行により、素早く安価にビッグデータ解析を行える。


DynamoDB

NoSQLデータベースサービス。Key-Value型のデータベースで拡張性が高い。


ElasticCache

NoSQLデータベースサービス。インメモリ型のデータベースでパフォーマンスが高い。エンジンはMemcachedやRediesを選択できる。


セキュリティとアイデンティティ


IAM (Identity and Access Management)

AWSアカウント利用の権限を管理するサービス。IAMポリシー、IAMユーザ、IAMグループ、IAMロールなどの機能がある。


KMS (Key Management Service)

鍵管理とデータ暗号化を行う鍵管理サービス。キーを階層構造にすることにより高セキュリティを保つ。


AWS Certificate Manager

AWS自身が認証局となり、RSA鍵とサーバの証明書の作成・管理を行う。AWSのサービスから無料で利用できる。


アプリケーションサービス

用途に合ったアプリケーションサービスを利用することで効率的にシステムを構築運用できる。

いわゆるSaaS型のサービス群。


SQS (Simple Queue Service)

キューとメッセージを管理するキューイングサービス。キューを介することにより疎結合なシステム構成にできる。


Step Function

ワークフローを制御するサービス。ワークフローを可視化して編集することができる。


SNS (Simple Notification Service)

システムイベントの通知を行うプッシュ型の通知サービス。様々な通信プロトコルに対応している。


開発者ツール

以下のサービス群を利用することによりCI/CD環境を構築することができる。

メリットとしては他のAWSサービスとシームレスに連携できる。


CodeCommit

ソースコードを管理するGitリポジトリサービス。GitHub的なやつ。


CodeBuild

ソースコードのビルドやテスト実行するサービス。JenkinsやCircleCI的なやつ。


CodeDeploy

ビルドされたモジュールをデプロイするサービス。JenkinsやCircleCI的なやつ。


CodePipeline

上記3つのサービスを連携し、一連の開発プロセスを自動化するサービス。


CodeStar

上記4つのサービスを利用したCI/CD環境を自動構築するサービス。


プロビジョニングサービス

インフラの環境構築作業を自動化するサービス群。


Elastic Beanstalk

インフラ構成を自動構築するサービス。インフラに詳しくなくても素早く定番のWebサーバやBatchワーカー構成などの環境を構築できる。


OpsWorks

Chef環境を提供し、OSより上のレイヤーの自動構築をサポートする。Ansible的なやつ。


CloudFormation

JSONやYAMLのテンプレートを作成し、OSより下のレイヤーの自動構築をサポートする。Terraform的なやつ。


分析サービス


EMR (Elastic MapReduce)

分散処理フレームワーク。スポットインスタンスと併用することで低コストが実現できる。


Kinesis

ストリーミング処理プラットフォーム。データをリアルタイムで処理・可視化・分析できる。


Data Pipline

データ処理やデータ移動を支援するサービス。ビジュアル操作で設定できる。


おまけ:アーキテクト設計のコツ


信頼性・回復性

・障害をシミュレーションして復旧手順をテストする。

・障害から自動復旧できるようにする。

・スケーラブルなシステムにする。

・キャパシティ推測を不要にする。

・変更管理を自動化する。


パフォーマンス

・リソースを適切に選択する。

・リソースを継続的にモニタリングする。

・キャッシュを活用する。


セキュリティ

・IAMを活用して、AWS利用時のセキュリティを高める。

・セキュリティグループ、ネットワークACL、バックアップ、バージョニング、暗号化などを利用して、システムのセキュリティを高める。


コスト

・リソースの需要を一致させる。

・適切なインスタンスを購入する。

・アーカイブストレージを活用する。


運用

・各種サービスを利用して運用を自動化する。(Insfrastructure as Code)

・障害への検知と対応方法を理解する。

・リリース方法の種類を理解する。


最後に

記事に間違いや不明な点があれば遠慮なくご指摘ください!