今回の記事はAWS認定資格のソリューションアーキテクトアソシエイト資格の用語まとめ記事です。ソリューションアーキテクトアソシエイト資格はクラウドサービスの機能ではなくサービスを使った設計に関して考える必要があります。用語に関してはテストに出やすい機能や注意点をまとめたので、資格受験を考えている方は是非参考にしてください。
- ソリューションアーキテクトアソシエイト出題範囲
- ソリューションアーキテクトアソシエイト資格用語まとめ
- AWSサービスについて
- AWS Well-Architected フレームワーク
- VPC
- EC2
- S3
- Amazon EBS
- Amazon SNS
- Dynamo DB
- IAM
- Elastic IP
- Amazon RDS
- Amazon SQS
- Amazon kinesis
- AWS CloudFormation
- Cloudwatch
- Amazon CroudFront
- Amazon Route53
- Amazon Athena
- AWS Data Pipeline
- Amazon Redshift
- RedShift Spectrum
- AWS Glue
- AWS Transit Gateway
- AWSサービスの上限関連
- その他アーキテクト概念系
- ハブアンドスポークシステム
ソリューションアーキテクトアソシエイト出題範囲
ソリューションアーキテクトアソシエイトの出題範囲は下記です。
- セキュアなアーキテクチャの設計 30%
- 弾力性に優れたアーキテクチャの設計 26%
- 高パフォーマンスなアーキテクチャの設計 24%
- コストを最適化したアーキテクチャの設計 20%
クラウドプラクティショナーと違い、サービスを利用して顧客要望を満たす設計ができるかという観点の問題が出題されます。
そのため、各サービスに感してはクラウドプラクティショナーの用語と変わりません。それは別記事でまとめていますので、サービスの機能を抑えられているか不安な方はこちらの記事を参照ください。
【AWS】クラウドプラクティショナー用語まとめ。
【AWS】クラウドプラクティショナー無料試験問題。
クラウドプラクティショナーの知識を前提にソリューションアーキテクトで問われるポイントを今回はまとめたので順番に紹介していきます。
ソリューションアーキテクトアソシエイト資格用語まとめ
AWSサービスについて
AWSサービスには3種類あります。
- アベイラビリティゾーンサービス:EC2/RDS/サブネットなど
- リージョンサービス:VPC/AutoScaling/DynamoDBなど
- グローバルサービス:Route53/Cloud Front/S3(データはリージョンに保存)など
AWS Well-Architected フレームワーク
AWS Well-Architected フレームワークは、以下の6つの柱で構成されています。
・運用上の優秀性
・セキュリティ
・信頼性
・パフォーマンス効率
・コスト最適化
・持続可能性
可用性などは含まれない。
VPC
VPC自体へのアクセス制御
VCP自身に対してのアクセス制御を行う場合は、VPCピアリングなどで異なるVCPからのセキュアな接続をできるように設定する。
VPCのAZ配置について
VPCは複数のAZに配置できる。
セキュリティグループの使い方
セキュリティグループにより特定のネットワークからのアクセスを許可することで、それ以外のネットワークからの接続を遮断できる。VPC自体ではなく、VPC内のサービスに対して設定するもの。
VPCの上限
1リージョンあたり5VPC。申請フォームによりAWSに申請すれば100まで上げることが可能。
セキュリティグループとネットワークACLの違い
セキュリティグループはインスタンス単位で設定するファイアウォールで、ネットワークACLはサブネット単位で設定するファイアウォールです。それぞれ、アウトバウンド(外に出る)とインバウンド(中に入ってくる)のルールを設定して利用します。
セキュリティグループはステートフル(ルールで許可された通信の戻りの通信も自動的に許可)、ネットワークACLはステートレス(アウトバウンド/インバウンドそれぞれで、ルール設定が必要)。
NATゲートウェイの使い方
インターネットからのアップデートを取得するなどインターネット接続が必要な場合は、NATゲートウェイを使って、プライベートサブネット内の配置したインスタンスから、VPC外のサービスに接続します。外部からはそのインスタンスとは接続できません。
EC2
インスタンスファミリー
用途にあったインスタンスファミリー
- 汎用:ax/tx/mx
- コンピューティング最適化:cx
- メモリ最適化:rx/xx/zx
- 高速コンピューティング:px/gx/fx
- ストレージ最適化:ix/dx/hx
EC2のバッチ処理分散
重い処理をバッチ処理として複数のEC2インスタンスに分散させる場合、Amazon SQSを使用する。
Amazon ELB(Elastic Load Balancer)はEC2に対して、Webトラフィックなどの負荷分散を、Amazon ALB(Application Load Balancer)はアプリケーション層のロードバランシングに特化。
ELBでDBの利用率を下げるなどは無理。あくまでもEC2のみ。
EC2の付与できるタグ条件
EC2インスタンスに付与できるタグの上限は50。キーの最大長はUnicode文字128文字。値の最大長は Unicode文字で256文字です。タグでは、大文字と小文字が区別されます。
EC2にアタッチできるストレージ
Amazon EBS(Elastic Block Store)とAmazon EFS(Amazon Elastic File System)の2つです。
インスタンスのAutoScalingでのスケールイン
AutoScalingでスケールアウトしたEC2インスタンスをスケールインする場合、デフォルトでは以下の順番で実行されます。
- インスタンス数が最も多いAZを選択する。
- AZのインスタンス数が同じ場合は、起動設定が古いインスタンスがあるAZを選択する。
- 起動設定が古いインスタンスが複数ある場合は、次の課金発生までの時間が最も短いインスタンスを選択する
- 次の課金発生までの時間が同じインスタンスが複数ある場合はランダムで選択する
インスタンスのAutoScalingでのスケールアウト
複数のAZを跨いでスケールアウトすることができる。また、スケールアウトするEC2インスタンスの上限数を設定することができる。
AutoScalingのスケーリングクールダウン
スケーリングクールダウンは、Auto Scalingが連続で実行されないようにするために、新しいインスタンスの処理が開始されるまでの待ち時間のために設定する時間のこと。これがないと、CPU使用率が下がる前に次のインスタンス起動が始り、想定より多いインスタンスが起動してしまうことがある。デフォルトは300秒。スケーリングポリシーでスケーリング固有のクールダウンかAutoScalingグループ全体へ適用ができる。
プレイスメントグループ
プレイスメントグループは、複数のインスタンスを論理的にグループ化して、パフォーマンスの向上・耐障害性を高める機能。
- クラスタープレイスメントグループ 単一AZ内でネットワーク性能の引き上げを行う
- パーティションプレイスメントグループ 同一リージョン内でハードウェア障害対策
- スプレッドプレイスメントグループ 同一リージョン内でハードウェア障害対策
S3
S3のバージョニング機能
ファイルの誤削除をした場合にファイルを前のバージョンから復旧することができる。S3は自動で複数のリージョンに保持される、クロスリージョンレプリケーションを備えており、高い可用性と耐久性を備えている。
S3のデータ自動保存
S3は保存されたデータは、複数のアベイラビリティゾーンに保存される。
S3のライフサイクルポリシー
ログファイルなどを1ヶ月間保管し、その後削除したい場合、バケットにライフサイクルルールを追加し実現できる。
S3のCRR
CRRはCross-Region Replicationの略です。S3バケット間でオブジェクトを自動的に複製(レプリケーション)するための機能を提供します。東京リージョンのバケットのデータをオレゴンリージョンにコピーしたりなどです。追加費用は発生する。
S3のCOR
CORSはCross-Origin Resource Sharingの略です。ブラウザが異なるオリジン(ドメイン)のリソースにアクセスするためのメカニズムを提供します。例えば、東京リージョン内のサイトがオレゴンリージョンのS3バケットにアクセスして、画像をダウンロードするなどです。
S3のエンドポイント接続
S3にアクセスする際にS3をインターネットからは非公開として、EC2経由でエンドポイントを通してS3のデータに接続することで、EC2はインターネットを介さずにS3データを取得できる。
S3の容量
S3に保存できるデータの容量に上限はありません。S3コンソール画面からのアップロードする上限容量はあるが、AWS CLIなどを使うことで、その上限もなくなる。
S3のマウント
同時に複数のS3をマウントすることはできない
データの一貫性
新規データ追加後に更新を行うなど、読み取り後書き込みで一貫性を常に保障している。データ更新されても、すぐに反映されます。
Application Load Balancerのアクセスログ
ALBのアクセスログをS3に保存することができる。
S3 Transfer Acceleration
海外リージョンなど、送信元から遠く離れたS3へのデータ転送をAWSのエッジロケーションとネットワークプロトコルの最適で高速化するサービスです。世界中からアップロードが行われたり、大陸間で定期的にGBからTBなどの大きなデータを転送する場合に使用します。
ゲートウェイエンドポイントとの接続
VPCのルーティングテーブルを書き換えて、ゲートウェイ経由でサービスにアクセスできるので、インターネットを経由せずに操作ができる。
Amazon EBS
ES2にアタッチできるストレージ。AmazonEFS / インスタンスストアも合わせて覚えておく。
Amazon EBS ボリュームタイプ
HDDよりもSSDの方が性能は良い。また、SSDの中でも「プロビジョンドIOPS SSD」と「汎用SSD」が選択できるが、プロビジョンの方が性能は良い。
HDDでいうと「スループット最適化HDD」「コールドHDD」があり、「スループット最適化HDD」の方が性能は良い。https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volume-types.html
- プロビジョンドIOPS SSD 1000Mib/s
- スループット最適化 HDD 500Mib/s
- 汎用SSD コールドSSD 250Mib/s
Amazon EBSとAmazon EFSの違い
- 接続台数
EBS:1台のEC2インスタンスと接続可能
EFS:複数のEC2インスタンスと接続可能 - 耐久性
EBS:単一のAZ内で冗長化
EFS:複数のAZで冗長化 - 拡張性
EBS:手動でボリューム拡張可能
EFS:自動でボリューム拡張可能
EBSとインスタンスストアの違い
- 接続
EBS:EC2インスタンスストアとネットワーク接続
インスタンスストア:ホストコンピュータのストレージを利用 - 耐久性
EBS:単一のAZ内で冗長化
インスタンスストア:冗長化されない - 拡張性
EBS:ボリューム拡張可能
インスタンスストア:ボリューム拡張不可能 - 料金
EBS:従量課金
インスタンスストア:無料
バックアップ
EBSはスナップショット機能があり、データのバックアップができる。バックアップ先はS3。EC2のバックアップを取得するにはEC2にアタッチしているEBSスナップショットを取得する。
EBSボリュームの暗号化
既存のEBSボリュームを作成後に設定で暗号化することはできない。EBSのデータをコピーする際にオプションで暗号化オプションを設定することで、暗号化されたスナップショットを作成することができます。その後、スナップショットを復元すれば暗号化されたEBSボリュームに変更することができる。
共有
Amazon EBSボリュームはインスタンス間で共有できません。EBSは単一のEC2インスタンスからのみのアクセスに対して、EFSは複数のリージョンとインスタンスにファイルシステムをマウントできる
Amazon SNS
AWSのサービスで、リアルタイムの通知メッセージを配信するサービス。SNSでは「トピック」というものを作成し、このトピックに「サブスクリプション」という形で購読者(エンドポイント)を追加します。この購読者に対して通知を送ることができます。 エンドポイントには例えばメールアドレスを設定するとメールを受信でき、HTTP /HTTPSでは、指定したURLに対してHTTPリクエストが送られ、Lambdaを選択すると特定のLambda関数が実行されます。
Dynamo DB
スケーラブルで高速なパフォーマンス。低レイテンシ(読み書き遅延時間が遅くない。)
Dynamo DBの自動保存
DynamoDBは3箇所のアベイラビリティゾーンに自動保存される。
セッション管理
AWSでセッション管理を行う場合は「DynamoDB」「ElastiCache」のどちらかか、両方を使うのが一般的。 DynamoDBは、key-value形式のデータベースで、規模に関係なく高パフォーマンス。ElastiCacheは、インメモリデータであり高スループットかつ低レイテンシー。
ゲートウェイエンドポイントとの接続
VPCのルーティングテーブルを書き換えて、ゲートウェイ経由でサービスにアクセスできるので、インターネットを経由せずに操作ができる。
IAM
ユーザのサービスの権限をロールで管理するサービス。
権限管理のベストプラクティス
権限管理はアクセスキーで行うより、ロール割り当てで行ったほうがよりセキュアとされています。そのため、権限管理は基本的にIAMを利用する。
AWS CLIを利用する場合
権限はロールとアクセスキーにより制御できる。(ロールが推奨されている。)操作する対象の権限を持つユーザがCLIを実施する必要がある。
開発者が不必要な権限ロールを追加するのを防ぐ
IAMアクセス許可境界で権限ロールを追加できる範囲を設定できる。
Elastic IP
EIPの課金条件
EIPはElastic IPの略です。AWSで利用するインターネットからアクセス可能な静的アドレス。課金される場合は下記です。
- EIPを関連付けているEC2インスタンスが停止している場合
- EC2に関連付いていない(= 昔は使っていたが、EC2を停止してしまって忘れられている)EIP
- 関連付いているEC2は起動しているがEIPが二つ目けれども、ふたつ目以降のEIP
- EIPの「リマップ(remap)」を、1ヶ月に100回以上行った場合
課金されない条件は下記です。
- Elastic IP アドレスが EC2 インスタンスに関連付けられている。
- Elastic IP アドレスに関連付けられているインスタンスが実行中である。
- インスタンスには、1 つの Elastic IP アドレスしかアタッチされていない
インスタンスに関連付いていて、動いている場合に課金されないので注意。
Elastic IPの上限
AWS アカウントでリージョンあたり5つの Elastic IP アドレスまでが上限。パブリック (IPv4) インターネットアドレスが数に限りがあるため。ただし、専用フォームから申請で上限を上げられる可能性。
Amazon RDS
Amazon RDSのマルチAZとリードレプリカの違い
Amazon RDSはリージョンサービスで、マルチAZを利用可能。マルチAZは別のAZにDBを複製する。これにより障害発生時に切り替ることで高可用性を維持できる。
リードレプリカは主な目的は付加分散で、同じDBをどこでも良いので、複製し、負荷が増えた場合、複製した側も処理対象に使う。
ともにデータの同期方法を考慮する必要がある。
リードレプリカ作成時
リードレプリカは新しくDBを作成するより、元のDBからリードレプリカを作るほうが効率が良い。
Amazon RDSからデータ自動削除
処理完了後にAmazon RDSから自動でデータを削除したい場合、Amazon Data Pipelineを使用します。Amazon Data Pipelineは指定された間隔で、信頼性のあるデータ処理やデータ移動(ETL)を行うことができるウェブサービスです。
Amazon SQS
キュータイプ
Amazon SQS(Simple Queue Service)には2つのキュータイプがある。
- 標準キュー
配信が 1 回以上行われます。そのため重複配信する場合があります。システムが重複メッセージを処理可能な設計である場合や順序が重要でない場合に使用可能。 - FIFO(First-In-First-Out)キュー
メッセージが一度だけ配信され、送信された順で処理される。重複メッセージの配信ない。
Amazon kinesis
ストリーミングデータをリアルタイムで処理できるサービスです。
Kinesisの種類
- Kinesis Video Streams
数百万など大量のデバイスから動画をストリーミングで安全かつ簡単に配信することが可能 - Kinesis Data Streams
高速データ取り込みとデータ送付が可能。データ取り込み時にリアルタイムデータ分析可能 - Kinesis Data Firehose
ストリーミングデータをデータストアに転送。AWSデータストアにロードし、リアルタイム分析 - Kinesis Data Analytics
SQLやJavaを使って、データストリームをリアルタイムに分析
Kinesis Data Firehouseのデータについて
シャード(ストリーム内の一意に識別されたデータレコードのシーケンス)のセット。Kinesisのストリームは複数のシャードで構成され、各シャードが容量の1単位。
シャードの各制限
- 読み取り:最大1秒あたり5件のトランザクション
- データ読み取りの最大合計レートは1秒あたり2MB
- 書き込みについては最大1秒あたり1,000レコード
- データの最大書き込み合計レートは1秒あたり1MB (パーティションキーを含む)
ストリームのデータ容量は、ストリームに指定したシャードの数によって決まります。ストリームの総容量はシャードの容量の合計です。
appstreamとの違い
AppStreamはアプリケーション配信を行うもので、Kinesisはデータのリアルタイム処理を行うものです。
AWS CloudFormation
JSONやYAMLで記述されたテンプレート(定義ファイル)を利用して、AWSリソースをプロビジョニングするサービス。
Cloudwatch
AWSリソースとアプリケーションの監視サービスで、パフォーマンスデータを収集し可視化し、リアルタイムでアプリケーションを最適化してトラブルシューティングするための補助サービス。CloudWatchはアラームによって通知や自動的なアクションを起動することができます。
標準メトリクスでネットワーク受信料やCPU利用率、データ転送量、ディスク使用量等の標準メトリクスを提供。カスタムメトリクスも使用でき、メモリ利用率などを提供できる。
Amazon CroudFront
Webページを外部から見る場合にレイテンシを抑えるためのサービス。また、予期せぬアクセス集中にはAmazon Cloudfrontが有効です。CloudfrontはCDNサービスであり、キャッシュサーバがリクエストに応答するため、オリジンサイトへのアクセス集中を避けることができます。
Auto Scalingとの違い
Auto Scalingもアクセス集中には有効だが、CPUが90%を超えた場合など、トリガーをきっかけにスケールするため、予期せぬアクセス集中に対応ができない。
国単位のサイトアクセスの遮断
CloudFrontを使うと国単位のアクセス遮断などが可能。セキュリティグループでは実現できない。
Amazon Route53
Amazon Route53はAWSが提供する高い可用性とスケーラビリティを持つクラウドDNS(Domain Name System)サービス。
レコードの種類
- Aレコード:ドメイン名からIPアドレスを解決
- CNAMEレコード:ドメイン名から別のドメイン名を参照
- MXレコード:対象ドメイン宛のメール配送先ホスト名を定義するレコード
- NSレコード:DNSで定義されるそのドメインについての情報の種類の一つで、ドメインのゾーン情報を管理するDNSサーバを定義するもの
ルーティングポリシー
- レイテンシーベースルーティング:レイテンシーの低いリソースへルーティング
- 位置情報ルーティング:接続元から地理的に近いリソースへルーティング
- シンプルルーティング:指定されたレコードの情報に従ってルーティング
フェイルオーバシステム構築
ヘルスチェック機能を使えば、EC2の状態をチェックして、異常時にフェイルオーバーできる。(アクティブ/パッシブ方式:異常があった場合、別のSorryサーバにhttpを飛ばすなど)
Amazon Athena
サーバーレスのインタラクティブなクエリサービスで、S3上のデータを直接SQLを使用して簡単に分析できます。
料金
クエリ単位にお金かかる。
AWS Data Pipeline
指定された間隔でオンプレミスデータだけでなく、異なるAWSコンピューティングとストレージサービス間でデータを処理移動するサービス。例えば、LambdaなどでDBのデータ削除処理を行なった場合、合わせてS3のバックアップも削除するなどが可能。
Amazon Redshift
Amazon Redshiftとは、AWS上で提供されているデータウェアハウス専用のデータベースサービスです。あらゆるデータを構造化して蓄積し、高速に分析処理できることが大きな特徴です。機械学習にも利用されます。
RedShift Spectrum
RedShift Spectrumは、Amazon Redshiftと統合されており、S3のデータを直接クエリする能力を持ちます。BIツールと統合されているため、多数の同時ユーザーからの複雑なクエリの要件も満たすことができます。
AWS Glue
データをRDSやKinesisなどから集めて、変換して読み込むためのサービス。
AWS Transit Gateway
VPN接続スループット向上
AWS Transit Gatewayを利用して、Equal Cost Multipath (ECMP)をこれらの接続の間で有効にできます。トラフィックを複数のパスに負荷分散できるので帯域幅を広げられる。そのため、VPN接続などで接続数が増えた場合、帯域を広げてスループット改善が可能になる。
AWSサービスの上限関連
- ElasticIPの上限:5
- EC2インスタンスのタグの上限:50
- 1リージョン当たりのVPC上限:5
- 1リージョン当たりのサブネット上限:200
その他アーキテクト概念系
Design for Failure
障害が発生してもサービスを継続できるようにシステムを設計する。
メッシュアーキテクチャ
データ品質に対する責任を全社横断組織のような「中央組織」と各事業部門といった「ドメイン」に分散させることで、データ利活用におけるドメインとしてのアジリティを確保しつつ、ドメインが作成したデータやアナリティクスを他ドメがメッシュのように相互利用できるようにするもの。
ハブアンドスポークシステム
「ハブ」と呼ばれる拠点に一旦全ての荷物を集約し、拠点別に振り分けてから各拠点に向けて配送する仕組みのことです。
コメント