AWS認定ソリューションアーキテクト-アソシエイトレベル

AWSとは

AWSとは近年流行しているクラウド化で利用されているサービスです。

AWSの資格の種類

AWS認定試験は2023/8月時点で12種類に資格があります。

  • AWS認定Solutions Architect(ソリューションアーキテクト)アソシエイト(SAA-C02)
    システム設計
  • AWS認定Developer(デベロッパー)アソシエイト(DVA-C01)
    開発
  • AWS認定SysOps Administrator(シスオプス アドミニストレーター)アソシエイト(SOA‐C02)
    管理運用
(設計者向け)
ソリューションアーキテクト
(開発者向け)
デベロッパー
(運用管理者向け)
Sys Ops アドミニストレーター
Professional LevelAWS認定
ソリューションアーキテクト
-プロフェッショナルレベル試験
AWS認定
Dev Ops エンジニア
-プロフェッショナルレベル試験
Associate LevelAWS認定
ソリューションアーキテクト
-アソシエイトレベル試験
AWS認定
デベロッパー
-アソシエイトレベル試験
AWS認定
Sys Ops アドミニストレーター
-アソシエイトレベル試験
Foundation LevelAWS認定
クラウドプラクティナー試験

インフラエンジニアとしてどのようなことがしたいか、明確にあるほうが、 案件をアサインしやすい 例)AWSの環境構築をしたいので、キャリアは未経験ですが、AWSの資格をアソシエイトを3つプロを一つ取得しました。

AWS認定ソリューションアーキテクト-アソシエイトレベル試験概要

セキュアなアーキテクチャの設計30%
弾力性に優れたアーキテクチャの設計26%
高パフォーマンスなアーキテクチャの設計24%
コストを最適化したアーキテクチャの設計20%
  • 試験時間:130分
  • 問題数:65問
  • 合格ライン:720点/1000点

重要サービス
EC2 S3 VPC IAM ELB/Auto Scaling

IAM(AWS Identity and Access Management)
IAM は、AWS リソースへのアクセス権限を管理するためのサービスです。IAM より、AWS アカウントで誰が何(認証・認可)を実行できるかを定義します。

Permissions Boundary(アクセス許可境界)
IAMユーザーやIAMロールの操作可能範囲を限定、制約を設ける機能

リソースの記述はARN(Amazon Resource Name)形式
arn:aws:サービス:リージョン:アカウントID:リソース

VPC(Amazon Virtual Private Cloud)
仮想ネットワーク

↓1つのVPCはリージョン内すべてのAZにまたがる

VPCエンドポイント
インターネットとの通信が制限されているプライベートサブネット内のAWSリソースから、インターネットゲートウェイを経由せずにVPC外のAWSサービスへアクセス可能にする機能

EC2(Elastic Compute Cloud

elastic … 拡張性
AWS上に仮想サーバを作るサービス

EC2を起動するとき元となるイメージをAMI(Amazon Machine Image)を選んで作成します。
…AMI(Amazon マシンイメージ)は、EC2インスタンスを起動するために必要なOSミドルウェアなどのテンプレートです。

従量課金型(使った分だけ課金)
・起動中(Running)→費用発生
・停止中(Stopped)→EBSの費用のみ発生
・削除済み(Terminated)→発生しない

ELB(Elastic Load Balancing)
アプリケーションへの負荷やCPUの稼働状況をリアルタイムにモニタリングできるロードバランサーです

RDS(Amazon Relational Database Service)
データベースのマネージドサービス
Aurora AWSが独自に開発

S3(Amazon Simple Storage Service)
・オブジェクトストレージサービス … データを固有のIDを持つ「オブジェクト」として扱う→ディレクトリのような階層構造を持たない
・AWSのストレージサービスの中で1TBあたりの保存料金が最も安い
・保存容量が無制限

ストレージクラス保存料金の高い順取出し料金取出し遅延保存AZ最短保存期間
S3 Standard
標準(Standard)
1なしなし3以上なし
S3 Intelligent-Tiering
アクセス頻度が予測不能なデータを保存する際に適している
変動なし変動3以上なし
S3 Standard-IA
(S3 Standard-Infrequent Access)
2ありなし3以上30日
S3 One Zone-IA3ありなし130日
S3 Glacier Instant Retrieval
※アーカイブデータ向け
4ありなし3以上90日
S3 Glacier Flexible Retrieval
※アーカイブデータ向け
5あり数分~数時間3以上90日
S3 Glacier Deep Archive
※アーカイブデータ向け
6あり数時間3以上180日

バケット
Amazon S3のオブジェクトが保存される領域
・一つのバケットにはオブジェクト数が無制限で保存可能
・バケット名はグローバルで一意、作成したバケット名は変更は不可

マルチパートアップロード
S3バケットに5GBを超えるファイルをアップロードするときに利用
※S3バケットに保存できるオブジェクトの最大サイズは5TBですが、一度にアップロードできる最大サイズは5GB

クロスリージョンレプリケーション
S3オブジェクトを自動的に異なるリージョンに保存したい場合に利用

S3 Transfer Acceleration
ユーザーからS3バケットへ最適化したネットワークルートを経由してデータを転送する機能

ライフサイクル
 ・移行アクション … 利用頻度に応じてストレージクラスを変更
 ・有効期限アクション … 指定された期限を超えたオブジェクトを削除

ライフサイクルポリシー
S3バケット内のデータに対して、ストレージクラスの変更やオブジェクトの削除を自動化する機能

著名付きURL
アクセスを許可したいオブジェクトに対して期限を指定してURLを発行

バケットポリシー
・S3で保存しているデータにバケット単位でアクセス権限を設定する機能
・サーバー側の暗号化(Server-Side Encryption:SSE)を強制できます

<サーバー側の暗号化には、以下3種類の方法があります>

  1. Server-Side Encryption:SSE
    データをS3に保存する時にサーバーで暗号化する方法
  2. SSE-KMS
    AWS KMS(AWS Key Management Service)に保存されているKMSキーを使用する
  3. SSE-C
    ユーザーが管理している鍵を使用する

バージョニング
オブジェクトの世代管理ができる機能

静的Webサイトホスティング
バケットに保存している静的コンテンツ(HTMLやJPGなど)をWebサイトとして公開できる機能

MFA Delete
S3のバージョニング機能で世代管理されているオブジェクトを削除する際に、MFAデバイス認証が必要となる機能

オブジェクトロック
S3バケットに保存したオブジェクトに対して更新・削除を制限する機能
・S3バケット作成時にのみ設定可能
・オブジェクトロックを有効にするとバージョニング機能も有効になります。
※主にオブジェクトが意図的に改ざん・削除されることを防止する目的で使用

  • リテンションモード … 一定期間の保護
    • ガバナンスモード … s3:BypassGovernance Retention という権限がないと変更できない
    • コンプライアンスモード … 保護期間が明けるまで誰も上書き削除ができない
  • リーガルホールド … 保護期間を設定しない

グローバルインフラストラクチャとネットワーク

リージョン
日本国内には「東京リージョン」と「大阪リージョン」の2つのリージョンが存在

アベイラビリティゾーン(AZ)

エッジロケーション
ユーザに近いネットワークで高速なコンテンツを配信

CIDRブロック
VPCで作成者はIPアドレス(CIDRブロック)をアサインできます
/16~/28の範囲

ルートテーブル
ルーティング設計
・サブネットに1つずつ設定

インターネットゲートウェイ(IGW)
VPCとインターネットを接続するためのゲートウェイ

NATゲートウェイ
ネットワークアドレス変換機能を持ちプライベートサブネットからインターネットへの通信を可能にする

NATインスタンス
・NATゲートウェイと同じくプライベートサブネットからインターネットへの通信を可能にする
・EC2インスタンスから作成
・ポート転送機能を設定可能
・IPv4専用

仮想プライベートゲートウェイ(VGW)
・VPCごとに1つだけ紐づけることが可能

VPCエンドポイント
インターネットとの通信が制限されているプライベートサブネット内のAWSリソースから、インターネットゲートウェイを経由せずにVPC外のAWSサービスへアクセス可能にする機能

VPCピアリング
2つのVPC間でプライベートな接続をするための機能
・異なるVPCアカウント間でも可能

VPCフローログ

AWS Direct Connectゲートウェイ
オンプレミスと物理専用線で接続するサービス 
※インターネットを経由しないプライベートな接続を確保
・ZVPCと拠点を1対1で繋ぎます

AWS Transit Gateway
複数のVPC、Direct Connect、VPNをスター型トポロジーで接続
※ハブを介して、ネットワークを接続するクラウドルーター
→ネットワークが簡素化

AWS Site-to-Site VPN(サイト間VPN)
カスタマーゲートウェイ(オンプレミスのルーター)とVPCの仮想プライベートゲートウェイ(VGW:Virtual Private Gateway)を、インターネットVPN(VPNトンネル)で接続するサービス

コンピューティングと関連サービス
Lambda/API Gateway ECS/Fargate/EKS

EC2(Elastic Compute Cloud

elastic … 拡張性
AWS上に仮想サーバを作るサービス

EC2を起動するとき元となるイメージをAMI(Amazon Machine Image)を選んで作成します。
…AMI(Amazon マシンイメージ)は、EC2インスタンスを起動するために必要なOSミドルウェアなどのテンプレートです。

従量課金型(使った分だけ課金)
・起動中(Running)→費用発生
・停止中(Stopped)→EBSの費用のみ発生
・削除済み(Terminated)→発生しない

スポットインスタンス
AWSが余らせているEC2リソースを入札形式で利用

「スポットフリート」はスポットインスタンスのオプションの一つです。必要なインスタンス数を指定することで、指定した数のスポットインスタンスが起動します。スポットインスタンスが中断されて必要なインスタンス数を下回った場合、自動的にインスタンスを補充してインスタンス数を維持します。

ハードウェア専有インスタンス(Dedicated Instances)は、他のAWSアカウントとは分離された専用ハードウェアでEC2インスタンスを利用できる購入オプションです。物理的なCPUソケット、コア数、ホストIDは確認できません。

・Dedicated Hosts(専有ホスト)
他のEC2インスタンスとは分離された専用ハードウェアで利用できる購入オプションです。
物理的なCPUソケット、コア数、ホストIDを確認する必要がない場合、ハードウェア専有インスタンスの方が低価格で利用できるので誤りです。

リザーブドインスタンス(RI)
長期間の利用を約束することで、割引を受ける

ELB
スケールアウト時の負荷分散を担うサービス
CLB(Classic Load Balancer):L4/L7
ALB(Application Load Balancer):L7 CLBより後に登場、機能豊富
NLB(Network Load Balancer):L4 HTTP(S)以外のプロトコル通信時での負荷分散で利用

ヘルスチェック(ELBの機能)
インスタンスが正常に動作しているかチェック

Auto Scaling
EC2の状況に応じて自動的にインスタンスの数を増減させる機能

ECS(Amazon Elastic Container Service)
Docker環境を用意
・Task:EC2インスタンス上で実行されるコンテナ
Cluster:Taskを保有しているEC2インスタンス
Task Definition:Cluster上で動作するTaskの定義

Lambda(ラムダ)
サーバーをプロビジョニングしなくてもプロジェクトを実行できるコンピューティングサービス

Lambda関数
実行するプログラムとその実行トリガーとなるイベントを事前に定義する関数
・割り当てるメモリ用
・タイムアウトまでの時間
・Lambdaに割り当てるIAMロール
・VPC内外

ストレージサービス
S3 EBS EFS FSx Storage Gateway Snow Family

EBS(Elastic Block Store)
ブロックストレージ
「Elastic」…用途に合わせて柔軟な使用ができる

汎用SSD(gp3)3,000IOPS
開発環境を構築する時に最適
1GB〜16TB
プロビジョンドIOPS(io2)64,000IOPS
マルチアタッチ
4GB〜16TB
スループット最適化HDD(st1)500IOPS
大量のデータ
125GB〜16TB
コールドHDD(sc1)250IOPS
EBSの中で一番低コスト
アクセス頻度の低いログデータやバックアップデータの保存
125GB〜16TB

EFSElastic File System
Amazon EFSはNFS(Network File System)プロトコルをサポートするファイルストレージサービス

▼EFSのパフォーマンスモード

汎用モードファイルサービスなど一般的な用途を想定したモードで、レイテンシーを優先する場合に使用するモードです。
最大I/Oパフォーマンスモード・レイテンシーが汎用モードに比べ、わずかに長くなる
・合計スループットを優先する場合に使用

▼EFSのスループットモード

バーストスループットモード・ベースラインとなるスループットが設定されている
・一時的なスループットの上昇にも耐えられるバースト機能を持っている
プロビジョニングスループットモードバーストモードで許容されている以上の要件がある場合に使用
エラスティックスループットモード・自動的にスケールアップダウン
・パフォーマンスもーどが汎用モード時のみ利用可

FSx
ファイルストレージサービス
・FSx for Windowsファイルサーバー
・FSx for Lustre
・FSx for NetApp ONTAP
・FSx for OpenZFS

FSx for Windowsファイルサーバー
Windows上にファイルシステムを提供
SMBプロトコルを使用…主にWindowsコンピュータ間において、ファイル共有やプリンタ共有に使用されるプロトコル

Storage Gateway
オンプレミスにあるデータをクラウドに連携させるための受け口

AWS Storage GatewayのS3ファイルゲートウェイは、オンプレミスからNFS(Network File System)またはSMB(Server Message Block)を使用してS3バケットへアクセスできるようにするゲートウェイタイプです。ローカル(オンプレミス)にキャッシュストレージを持つため低レイテンシでのアクセスも可能です。

データベースサービス
RDS/Aurora Redshift DynamoDB ElastiCache

▼AWSのデータサービス

タイプサービス
リレーショナル
SQL
Amazon Aurora、Amazon RDS、Amazon Redshift
NoSQL キー値Amazon DynanoDB
NoSQL インメモリAmazon ElastiCache、Amazon MemoryDB for Redis
NoSQL ドキュメントAmazon DocumentDB
NoSQL ワイドカラムAmazon Keyspaces
NoSQL グラフAmazon Neptune
時系列Amazon Timestream
台帳AmazonQLDB

Amazon RDS
・マルチAZ構成
・リードレプリカ

Amazon Aurora
・DBクラスタ
・Auroraレプリカ

データベースへの負荷に応じて動的にレプリカインスタンスを増減するAuto Scaling機能を備えています。

Redshift
・データウェアハウス向け(データの「倉庫」
・拡張性
 →MPP…処理を複数のノードで分散(スケールアウト)
 →シェアードナッシング…各ノードがディスクを共有しない(I/O性能の劣化を回避)

Redshift Spectrum
Redshift内にデータを取り込むことなくクエリの実行が可能

DynamoDB
・Key‐Value型
・NoSQL
・階層的なデータ構造をもったJSON形式のデータの扱いについてもサポート

DynamoDBでは自動的に3つのAZにデータが保存されます

DynamoDB Accelerator(DAX)
DynamoDBの前段にキャッシュクラスタを構成→性能向上

<Amazon DynamoDBには2つのバックアップ方法があります>
オンデマンドバックアップ…ユーザーが任意のタイミングで作成するバックアップ
ポイントインタイムリカバリ(PITR)…差分バックアップが定期的に自動で取得(35日前まで遡ることができます)

DynamoDB Streams
Amazon DynamoDBのDynamoDB Streams(ストリーム)とは、テーブルに対して行われた直近の24時間の変更(追加や更新、削除)をログに保存する機能です。

ElastiCache
・インメモリ型データベース
1)Memcached:再起動ですべてのデータが消える
2)Redis:Memcachedよりも多くのデータ型が利用可能、データ永続性能

マネジメント、ガバナンス
CloudWatch CloudTrail Elastic Beanstalk CloudFormation Trusted Advisor AWS Systems Manager

Amazon CloudWatch
AWSサービスやオンプレミス(自社運用)のシステムを監視するサービス
状態に応じたアクションを取らせることができます。

メトリクスCloudWatchが監視する様々なリソースの情報は「メトリクス」と呼ばれます(インスタンスのCPU使用率やディスクの使用状況

標準メトリクスCPU使用率、
ディスク読み取り書き込み量、
ネットワーク使用率
カスタムメトリクスメモリ使用量、
ディスク空き容量・使用状況、
プロセス情報

AWS CloudTrail
AWSサービスに対して「いつ」「誰によって」「どのような操作が行われたのか」を記録・保存するサービスです
・管理イベント … ユーザーのログイン、EC2インスタンスの作成 など
・データイベント … S3上のオブジェクト(データ)の操作、Lambda関数の実行
・インサイトイベント … 通常と異なる操作(書き込みAPIの呼び出し)

Amazon CloudWatch Logs
Amazon CloudWatch LogsはAWSサービスやEC2インスタンスのOSやアプリケーションのログを収集し、一元管理するサービスです
例)CloudTrailにおけるAWSサービスの操作ログや、VPCフローログ

AWS CloudFormation
AWSのリソースをコード化しプロビジョニング(構築)するサービスです。
→IaC(Infrastructure as Code)

AWS Elastic Beanstalkはアプリケーションが動作する定番の環境を自動で構築するサービスです。開発者は、用意された環境にアプリケーションをアップロードするだけでデプロイ(実行環境への展開)を行うことができます

AWS Systems Manager Session Manager
・EC2インスタンスへマネジメントコンソールやAWS CLIからセキュアにログインできる機能
・プライベートサブネットにあるインスタンスへも踏み台サーバーなしで接続が可能

セキュリティ、アイデンティティ、コンプライアンス
WAF/Shield KMS/CloudHSM

AWS Shield
DDoS攻撃からの保護に特化したサービス

AWS WAF(Web Application Firewall)
脆弱性を突く攻撃(クロスサイトスクリプティングやSQLインジェクションなど)から、Webアプリケーションを保護するサービスです
Web ACL地理的制限

Network Load Balancer(NLB)とClassic Load Balancer(CLB)には対応していないので利用できません

AWS Network Firewall
・VPC向けのファイアウォール機能
・侵入防止システム(IPS)やドメイン名によるトラフィックのフィルタリングなど、セキュリティグループやネットワークACLよりもさらに高度な機能
・VPC上のアウトバウンド及びインバウンド両方のトラフィックを検査可能
・特定のドメイン名を含むURLへのアクセスのみを許可したり、特定の送信元からのトラフィック以外は全てブロックするなど、きめ細かな通信の制御が可能

ネットワーク、コンテンツ配信
Route 53 CloudFront Global Accelerator Direct Connect/VPN

CloudFront
AWSが提供する高速でセキュアなコンテンツ配信ネットワークサービス
・「地理的制限」というクライアントからのアクセスを国別に制限できる機能があります

フィールドレベル暗号化
フィールドレベル暗号化は、ユーザーから送信されたHTMLフォームのPOSTリクエストのうち、一部のフィールドを暗号化し、特定のアプリケーションでのみ復号可能とするCloudFrontの機能です。

アプリケーション統合
SQS SNS

SQS(Amazon Simple Queue Service)
フルマネージドのメッセージキューイングサービスであり、サービス同士の橋渡しを担います。SQSはプル型なので、受信側の都合の良いタイミングでSQSへポーリング(問い合わせ)を行って、メッセージを受け取りま

SNS(Amazon Simple Notification Service)
プッシュ型のメッセージングサービス
SNSはプッシュ型なので、サブクライバー(受信者)の状態に関わらずメッセージを配信します。
トピックという単位で情報を管理

分析
Kinesis EMR Glue Athena

AWS kinesisには大きく分けて3つの機能があります。

  • Amazon Kinesis Data Streams
  • Amazon Kinesis Data Firehose
  • Amazon Kinesis Data Analytics

Kinesis Data Streams
Kinesis Data Streamsはストリーミングデータを収集します。ストリーム上のデータは分析や機械学習などを行うアプリケーションがリアルタイムに読みだして処理します。

Kinesis Data Firehose
Kinesis Data FirehoseはストリーミングデータをAmazon S3やRedshiftなどへ配信するサービスです

AWS Glue
フルマネージドのサーバーレスETLサービス
複数のデータソース(S3やDynamoDBなど)からデータを抽出し、変換・統合したデータをターゲット(Redshiftなど)へ格納
・クローラーはデータソースからデータの抽出を行い、データカタログを作成