AWS クラウドプラクティショナー　試験対策まとめ

# はじめに
今回は試験対策として、「AWS認定資格 クラウドプラクティショナーの教科書: 合格へ導く虎の巻 CloudTech制作委員会シリーズ」を読んでのまとめ記事になります。


参考URL：[https://www.amazon.co.jp/AWS認定資格-クラウドプラクティショナーの教科書](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E5%90%88%E6%A0%BC%E3%81%B8%E5%B0%8E%E3%81%8F%E8%99%8E%E3%81%AE%E5%B7%BB-CloudTech%E5%88%B6%E4%BD%9C%E5%A7%94%E5%93%A1%E4%BC%9A%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-CloudTech%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC%E6%9B%B8%E7%B1%8D%E4%BD%9C%E6%88%90%E5%A7%94%E5%93%A1%E4%BC%9A-ebook/dp/B0B1HXPSH8)

## 1-1 AWS クラウドとその価値提案を定義する
### コスト
AWSがITリソースを用意し提供することで、必要なリソース分だけをインターネットを通して利用する<font color="Red">従量課金制</font>という形態を取ることができます。

### 利便性
AWSは、世界中にいくつものデータセンターを保有しており、**冗長化**されていることが大きな特徴の一つです。
**冗長化**とは、障害発生時でもシステムの機能を維持し続けられるように構成することです。

### 導入事例
* Super Mario Run
* paypay株式会社
* Sony Bank
* 経済産業省
* 株式会社セブン＆アイ・ホールディング
* 株式会社リードビジョン
* Netflix

## 1-2 オンプレミスとの比較
* クラウドの活用により、物理的な機器や設備を保有することで発生する**総コストを削減**できます。
* 使用リソース量を変動できるため、**要な時に必要なリソースのみ利用**できます。
　⇒アプリケーションの需要の大きな変化に対応できる
* **マネージドサービス**を活用することで、利用者におけるシステム構築や管理コストを削減できます。
* **規模**の恩恵(<font color="Red">スケールメリット</font>)により、本来より**低いコスト**でサービスを使用できます。
* 企業が遵守する**コンプライアンスの一部をAWSに委任**できます。
* <font color="Red">高可用性</font>を簡単に実装できます。

## 1-3 各クラウドアーキテクチャの設計原則

### AWS Well-Architected
Well-ArchitectedとはAWSを正しく運用するために、設計原則とベストプラクティスをまとめたものです。
Well-Architectedは6つの柱で構成されています。

#### 1.運用上の優位性
* 運用をコードとして実行する
* 小規模かつ可逆的な変更を頻繁に行う
* 運用手順を定期的に改善する
* 障害を予想する
* 運用上のすべての障害から学ぶ
#### 2.セキュリティ
* 強力なアイデンティティ基板の実装
* トレーサビリティ
* 全レイヤーでセキュリティを適用する
* セキュリティのベストプラクティスを自動化する
* 伝送中及び保管中データの保護
* データに人の手を入れない
* セキュリティイベントに備える
#### 3.信頼性
* 障害から自動的に復旧する
* 復旧手順をテストする
* 水平方向にスケーリングしてワークロード全体の可用性を高める
* キャパシティーを推測するのをやめる
* 自動化で変更を管理する
#### 4.パフォーマンス効率
* 最新テクノロジーの標準化
* わずか数分でグローバル展開する
* サーバーレスアーキテクチャを使用する
* より頻繁に実験する
* システムに対する精通の程度を考慮する
#### 5.コスト最適化
* クラウド財政管理の実装
* 消費モデルを導入
* 全体的な効率を推測する
* 差別化につながらないインフラ管理に費用や負担をかけるのをやめる
* 費用を分析および属性化する
#### 6.持続可能性
* 影響を把握する
* 持続可能目標の設定
* 使用率の最大化
* より効率的な新しいハードウェアとソフトウェアの提供を予測して採用する
* マネージドサービスの使用
* クラウドワークロードのダウンストリームの影響を軽減

### クラウドアーキテクチャの設計原則
下記の7原則をもとにしています。
#### 1.障害を見越した設計
* 冗長化
* 障害の検出
* 永続データストレージ
* 複数データセンターを用いた自動復旧

#### 2.全レイヤーでのセキュリティ実装
* 徹底的な防御
* AWSのセキュリティーサービスを積極的使用
* 特権アクセス制御
* リアルタイム監査

#### 3.コンポーネントを疎結合にする
#### 4.伸縮性の実現
* ブートストラッピング or Golden Image

ブートストラッピング・・・コンピュータの電源を入れてから利用可能となるまでを自動化すること
Golden Image・・・仮想サーバーやネットワークのテンプレートを表す言葉。

* 必要な時に必要な分だけ使う
* サービス持続性の重視

#### 5.並列で考える
データ処理を並列で行えるように、ロードバランサーを使用し処理を分散させ、弾力性のあるスケーリングを設定することで、高負荷の際には**スケールアウト**(サーバーの台数を増やす)、低負荷の際には**スケールイン**(サーバーの台数を減らす)するなどの処理の規模を自動で増減することが可能になります。

#### 6.コンテンツに応じた配置

#### 7.制約を恐れない
* 制約には理由がある
* 提供できるものを計画する
* うまくいくものを出荷する
* できるときに出荷する
* 何度も繰り返す

### 1-4 その他のAWSの基本要素
#### リージョン
地理的に近い位置にある複数の設備をグループ化した単位。
リージョンによって利用できるサービスや料金が異なります。

#### アベイラビリティゾーン
各リージョンの中で、一つまたは複数のデータセンター群をまとめたもの。

#### エッジロケーション
コンテンツ配信を行うための拠点となる設備です。
例えば、CloudFrontというCDN機能の拠点として、エッジロケーションが使われます。
AWSでは世界各地にエッジロケーションを設けており、閲覧者に地理的に近い拠点からコンテンツを配信できる仕組みを構築しています。

#### AWSの各種サポート
* 下記の5つのサポートプランから必要に応じて選択できます。
　・ベーシック
　・デベロッパー
　・ビジネス
　・エンタープライズ　On-Ramp
　・エンタープライズ（メール、オンラインチャット、電話による24時間365日のサポートに加え、クラウドの設計や運用に関するレビューが受けられる ）
* AWS Service Catalog
組織の中でAWS製品カタログを作成、整理、管理できる機能。
Service CatalogはCloudFormationというAWSのサービスを使ってテンプレートを作成します。
* AWS Health Dashboard
ユーザーのAWS 環境に影響を及ぼす可能性のあるイベントやアラートの案内を提供するサービスです。
* サービスクォータ
AWSの各種サービスごとに設定できるデフォルトの制約事項です。
* AWS Trusted Advisor
ユーザがAWSのベストプラクティスを実現するためのフォローを提供するサービスです。

### 2-1 セキュリティの基本
* セキュリティは直接的な利益を生み出さないため後回しにされがちですが、サイバー攻撃がいつ起きてもおかしくないため、他人事ではなくしっかりと意識することが重要です。
* 情報セキュリティの3要素は「機密性」、「完全性」、「可用性」の3つのことで、セキュリティ対策を行うために必要な考え方の基本となります。

### 2-2 AWSの責任共有モデルを定義する
#### 利用者の責任範囲
* オペレーションシステムの管理（アップデート、セキュリティパッチの適用）
* インスタンスにインストールしたアプリケーションソフトウェアの管理
* IAMによる適切な権限の適用
* データの管理（暗号化オプション含む）
* ファイアウォール（セキュリティグループの設定）

※DynamoDBテーブルへのアクセスはユーザー側でアクセス許可を設定して管理をする必要があります。

#### AWSの責任範囲
* データセンターのサーバーやディスクなどのハードウェア管理
* リージョンやAZの管理
* AWSの各種サービスの管理（アップデート、セキュリティパッチの適用）
* セキュリティ管理フレームワーク

※EC2のセキュリティ対策のケースでは、ファイアウォール機能である「セキュリティグループ」のサービスはAWSが提供しますが、あくまで設定をするのは利用者自身となります。

※マネージド型サービスであるRDS MySQLに対しては、ソフトウェアのメンテナンス、パッチ管理、モニタリング、自動バックアップ、災害復旧などをAWS側が担当します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1834935/290eed5c-d70d-b062-9cc9-e9a80ad514da.png)



#### クラウドの種類
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1834935/b7d91bab-a4c3-5fa0-a0f6-ee31f5a50911.png)

* IaaS・・・サーバだけ、ネットワークだけといった特定の機能を提供します。
* PaaS・・・オペレーティングシステムやミドルウェアまでを管理しており、ある特定の機能だけを利用者に提供するものです。AWSではマネージドサービスと呼ばれます。
* SaaS・・・クラウドにあるソフトウェアを、インターネットを経由してユーザが利用できるサービスです。

### 2-3 AWSクラウドのセキュリティとコンプライアンスの概念
* AWSが用意するセキュリティ機能や仕組みを活用することで、低コストで安全性の高いセキュリティ対策を導入できます。
* コンプライアンスの遵守のため、下記のサービスの利用が可能です。
・Amazon GuardDuty・・・AWSアカウントや環境への攻撃リスクに対する脅威検出サービスです。
・AWS Artifact・・・AWSのセキュリティやコンプライアンスレポートなどに無料でアクセスできるほか、契約の確認や承認、管理ができます。
・AWS KMS・・・セキュリティやコンプライアンスの強化、実現を行うためにAWS KMSによる暗号化が有効です。
### 2-4 AWSアクセス管理機能を特定する
* **アクセスキー**はAWSの各種サービスにプログラムからアクセスするために作成される認証キーです。
アクセスキーIDとシークレットアクセスキーの組み合わせで、APIを利用してAWSをプログラム的に呼び出す際に使用されます。（AWS CLIの認証など）
* Amazon EC2インスタンスに接続するには、作成時に**キーペア**を設定して、アクセス認証に必要となるプライベートキー（PEMキー）を呼び出すことが必要となります。
* パスワードポリシーは、利用者に複雑なパスワードを設定するように強制する機能です。
* MFAは多要素認証のことです。
* IAM(AWS Identity and Access Management)はAWSサービスを安全に利用するための認証と認可を行う権限管理サービスです。IAMユーザ、IAMユーザグループ、IAMロール、IAMポリシーで構成されます。
* ルートユーザはAWSアカウントを作成する際に作られるユーザで、もっとも強い権限を持っています。

### 2-5 セキュリティサポートリソースを特定する
* AWSでは通信のセキュリティを守る仕組みとして、下記の2つがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1834935/b5376348-f052-cdf9-1cf0-4764c3ace11f.png)

・**セキュリティグループ**・・・セキュリティグループはEC2インスタンスやDBインスタンスなどのインスタンスに対する通信トラフィックを制御するファイアウォールです。 HTTPやSSHなどのプロトコルを指定して通信を許可する設定を行うことができます。
対象とするAmason VPCでのみ使用が可能であり、EC2インスタンスなどにアタッチされるENIに関連づけられて管理されます。ステートフルであるため、行きと戻りで通信が通信が行えるように通信の状態が保存されています。
・**ネットワークACL**・・・VPCサブネットに設定するファイアウォール機能をもつオプションレイヤーです。すべてのルールを適用します。
VPCにはデフォルトですべてのインバウント及びアウトバウンドが許可されたネットワークACLが設定されています。ステートレスで通信状態が保存されていないため、行き戻り両方の通信の許可設定を行う必要があります。番号順にルールを適用します。
* **WS WAF**はWebアプリケーションの通信を監視しブロックすることで攻撃からサービスを守るためのファイアウォールです。
* **AWS Marketplace**はAWSが用意するデジタルカタログで、購入者として製品を購入 するだけでなく、販売者として製品を登録することもできます。

### 3-1 AWSの操作方法

* AWSコンソール・・・AWS各種サービスをWebブラウザから操作、確認できるツール
* AWS CLI・・・AWS各種サービスをコマンドで操作できるツール
* AWS SDK・・・各開発言語や環境に合わせて提供される開発者ツール

### 3-2 ネットワークおよびコンテンツ配信

* Amazon VPC・・・AWS上にネットワーク環境を提供するサービス
* Amazon Route 53・・・AWSが提供するDNSサービス
　　　　　　　　　　　（ヘルスチェック機能、独自ドメインの取り扱い機能）
* Amazon CoudFront・・・AWSが提供するCDNサービス
* AWS Direct Connect・・・AWSが提供する専用線接続サービス
* Amazon API Gateway・・・Web APIの集中管理を行えるサービス

### 3-3 コンピューティングおよびサーバーレス

* AWS EC2・・・仮想マシンを提供するサービス
* インスタンスタイプ・・・EC2インスタンスの用途や性能のグレードを表した「型番」のようなもの
* ELB・・・負荷分散サービス
* AWS Auto Scaling・・・EC2インスタンスの台数を自動的に拡張・縮小する機能
* Amazon AMI・・・EC2の設定をテンプレート化したもの
* AWS Marketplase・・・AWSが運営するオンラインストア
* AWS Lambda・・・サーバーレスのコンピューターサービス
* AWS Elastic Beanstalk・・・環境のデプロイを自動化するサービス
* Amazon Lightsail・・・WebサイトやWebアプリケーションを動作させるために必要最低限な機能パッケージを月額の固定料金で利用できるVPSサービス
* AWS Batch・・・ハイパフォーマンスなBatchコンピューティングを提供するサービス
* Amazon WorkSpaces・・・仮想デスクトップを提供するサービス

### 4-1 AWSのさまざまな料金モデル
EC2インスタンスを購入するにあたって、以下の4種類の料金モデルから選択が可能です。

* オンデマンドインスタンス
* リザーブドインスタンス
* スポットインスタンス
* Savings Plans（試験範囲対象外）

| 販売方法 | 利用されるケース |コスト|特徴|
| ---- | ---- | ---- | ---- |
| オンデマンドインスタンス | 一般的な用途 |割引なし|標準の料金のモデル|
| リザーブドインスタンス | 利用期間が定まっているケース |最大72%割引|1年または3年の購入期間|
| スポットインスタンス | 停止しても問題ないケース |最大90%割引|使われていない予備のインスタンスを利用|

### 4-2 AWSの請求と料金設定に関連したさまざまなアカウント構造を認識する

#### AWS Organaization
複数アカウントの一元管理や一括請求などを提供するサービス。
以下の5つにより構成されている。
* 管理アカウント
* メンバーアカウント
* 組織単位（OU）
* Root（管理ルート）
* SPC

AWS Organaizationには、一括請求のみを有効とするConsolidated Billing Only、すべての機能を利用可能とするAll Featureの2つの機能セットがあります。

### AWSの請求に関するサポート
請求に関するサポートには以下のものなどがあります。
* AWS Cost Explorer・・・AWSコストや使用料を可視化できる機能
* AWS Cost and Usage Report・・・AWSコストやリソースの使用状況をCSV形式でS3やRedshiftにアップロードしてくれる機能
* Amazon QuickSight・・・請求関連の情報を可視化、分析できるBIツール
* サードパーティーパートナー・・・APN（AWSパートナーネットワーク）
* 請求サポートケース・・・請求関連で不明点が発生した際にAWSカスタマーサービスに問い合わせできるツール

また以下の機能を活用することも可能

* 請求アラート・・・利用者が事前に設定した金額を超過した場合に通知メールを送信できる

* タグの利用・・・コスト配分を可能にできる