AWS Cloud Practitioner Essential まとめ10

# [AWS Cloud Practitiner Essential] (https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban) 殴りがき

問題から抜粋

## Amazon Augmented AI (Amazon A2I)

<b>人による機械学習予測のレビューに必要なワークフローを作成できるサービス</b>
Amazon A2Iと呼ばれる。
Amazon SageMakerやその他のツールで構築した機械学習モデル用に、独自のワークフローを作成することもできる。


## AWS Cloud Adoption Frameworkについて

- ビジネスパースペクティブ
    - ビジネス戦略とIT戦略が別々になるモデルから、IT戦略をビジネス戦略に組み込んで一体化するビジネスモデルに移行するのに役立つ
- 人員パースペクティブ
    - クラウドを追加することにより組織のプロセスとスタッフのスキルを新しくすることで、クラウド導入の準備を整える。
- ガバナンスパースペクティブ
    - クラウドでビジネス管理体制を整えるために必要なスタッフのスキルと組織プロセスを新しくするために役立つ。
- オペレーションパースペクティブ
    - <b>ビジネスの関係者の要件を満たすことができる</b>
    - アジャイルベストプラクティスを使用してクラウド内で運用するための原則なども示されている


## Well-Architected Framework

六つの柱。

- 運用上の優秀性
- セキュリティ
- 信頼性
- パフォーマンス効率
- コスト最適化
- サステナビリティ(可用性)

に基づいて、アーキテクチャを評価する。





# <font color="red"> 1. 移行関連のAWSサービス </font>


## AWS移行について

- リファクタリング
    - アプリのアーキテクチャの設計方法や開発方法を変更する移行
- 再購入
    - ライセンス購入だったものなどを、AWS Marketplaceで提供されているソフトウェア(SaaS)に置き換える。
- リホスト (Rift & Shift)
    -  アプリに変更を入れない。もしくはほとんど変更しない移行
-  リプラットフォーム (Rift Tinker Shift)
    -  アプリケーションの一部に最適化は入れるものの、中核となるアーキテクチャは変更しない。


## Snowball Edge storage optimized

物理的移行 + ストレージ機能 + コンピューティング機能

## Snowball Edge Compute Optimized

機械学習及び、ビデオ分析などのユースケースに適する。


## Snowball

※　現在は非推奨。 現在は snowball Edgeを使うことが推奨されている。

## AWS Migration Hub

大規模なデータ移行をする際に、移行状況を確認できるサービス。
移行状況をダッシュボードで確認することが出来る。


## AWS SMS (AWS Server Migration Service)

データ移行DMSではなく、プログラムやサービスを移行するサービス。

## AWS Application Discovery Service

移行に必要と思われる情報(メタデータ的な？)を収集するサービス。
サーバーの設定データや、使用状況のデータ、動作データ、サーバーの使用率データ、依存関係など


## AWS Schema Conversion Tool

schema、ビュー、SQLや関数などデータベースに対するソースコードや構成を、移行先のフォーマットへ変換するサービス


## VM Import/Export

仮想マシン(VM)イメージを移行先のEC2にインポートし、移行元の環境をクラウド上に再現するサービス。


## AWS 

## AWS DataSync

オンプレミスのストレージと, S3またはEFSとの間のデータ転送を自動化するサービス。

# <font color="red"> 2. データベース・ストレージ関連のAWSサービス </font>

## リレーショナルデータベース

- RDS
- Aurora (Aurora　Serverless もある)
- Redshift (Redshift　Serverless もある)
- RDS Custom
- RDS on Outposts: オンプレミス環境にRDSをデプロイして使える。

## NoSQL型データベース

- DynamoDB
- ElasticCache
- DocumentDB
- Keyspaces
- Neptune： グラフなど
- Timestream



## インスタントストア

EC2を停止してしまうと忘れてしまうストレージ。


## Amazon ElasticCache

データベース上にキャッシュレイヤーを追加して、一般的なリクエストの読み取り時間を短縮させる。




## Amazon EMR (Amazon EMR Serverlessもある)

ビッグデータセットのデータ処理とデータ分析を実行するためのサービス。
Apache Hadoop　や　Apache Sparkなどのビッグデータフレームワーク。
<b>※　RedShift はあくまで、データ解析(データ分析)だけをやって、データ処理(コンピューティングなど)はできない。</b>

EMRのユースケース

- machine learning
- ETL(抽出、変換、読み込み)
- クイックストリーム分析
- リアルタイムストリーミング
- インタラクティブ分析
- ゲノミクス
- 




## Aurora

- 1つのリージョン内の複数のAZに対してマルチ構成を作れる。
- マルチマスター構成にもできる。
- 最大15個のリードレプリカを1リージョン内のマルチAZに分散できる。

## S3 Select

S3の機能の一つ。
シンプルなSQL文を使って、オブジェクトからデータの一部のみを取り出すことができる。
Gzip圧縮データやCSVやJSONに対して実行可能。

## Amazon Athena

S3内のデータをSQLクエリによって、最も簡単に分析できるサービス。
Athenaは、S3と統合しないと利用できないサーバレスサービス。


※　S3 selectは検索クエリを呼び出すだけで、 Amazon Athenaは実行クエリも呼び出せる感じ？



## Amazon Kinesis

IoTデータのストリーミング処理をして、データ収集するためのサービス。


## 自動フォールトトレランスの実施

フォールトトレランスとは、障害が発生した際に、予備に切り替えるなどして正常稼働を続ける仕組みのこと。
フェールオーバーはフォールトトレランスの具体的な対処の一つ。

- DynamoDB
    - デフォルトでAWSリージョンの3つの施設にデータを複製してるため、フォールトトレランスできる。
- S3
    - 複数の施設と各施設の複数デバイスに冗長的に保存しているため、9 * 11 の耐久性を適用できる。


<b>RDSは自分でマルチAZを選択して構築する必要がある。自動ではない。</b>
<b>EBSはマルチAZでの利用はできない。</b>


## RDS

Aurora, PostgreSQL, MySQL, MariaDB, OracleDB, SQL Serverがサポートされている。

RDSのスケーリングとしては、ストレージ用を増加させる機能が該当するため、スケールアップにあたる。
RDSもフルマネージド型DB

- RDSのAutoScalingについて。
    - RDSでAutoScalingできるのは、インスタンスタイプの縮小・拡大。
    - これによって、ストレージの追加など容量の増減に対応している。
    - RDSの性能を向上・低下させることはできないため、インスタンスタイプを縮小・拡大する。
    - DBとして機能している以上、増加はできるが、ストレージの低減はデータの損失が懸念され実現は難しいため、インスタンスタイプを縮小・拡大する。


RDSのリードレプリカは、マスタースレーブに対しても作成することが出来る。
マスタースレーブとは、マスターからコピーされた、マスターと同期されていて、マスターが死んだ時にフェイルオーバーできる(リードレプリカのように読み取り専用ではない)DBのこと。
リードレプリカはRDSと同じAZに構築しなくても問題ないし、災害対策にもなる。


##　リードレプリカ

<b>参照専用のデータベースであり、本体であるデータベースを複製して作られたもの。</b>
RDSはリードレプリカを別リージョンに設定することで、コスト最適に災害復旧対応を実現している。
<b>最終手段として、リードレプリカとして作成してあったDBの一つを、プライマリーDBとして独立させることが可能。しかし、この操作には時間がかかるため、フェールオーバーのような素早い切り替えはできない。</b>

本体のDBはプライマリーDBと呼ばれる。
プライマリーDBからリードレプリカを最大5台まで作成することができ、トラフィックを分散できる。

- マルチAZで構成させることが可能。
- 特定のリージョンを指定してリードレプリカを作ることも可能。

※ RDSは、マルチAZ構成で、本体を二つ作り、基本一つが働いている。　
この二つは同期されており、不具合があった際には自動フェイルオーバーでもう一つのRDSにアタッチされることになる。
そしてその本体から作られる参照用のDBがリードレプリカである。リードレプリカは本体とは非同期である。



### RDS Custom

基盤となるOSやDB環境へのアクセスがどうしても必要なアプリケーション構造である場合に利用できるRDS.
普通のRDSとは異なり、DBに対してユーザーによるアクセスが可能となるため、アクセス権をDBと基盤となるOSに付与する。


## DynamoDB

アプリケーションのセッションデータを保持する機能があり、これによって高速にデータ処理するタスクに適している。
<b>完全マネージドサービス</b>
<b>テーブルサイズ無制限</b>
<b>一つのデータのサイズは400KB。　あんま大きなデータは格納できない。</b>

- <b> ※　DynamoDBはデフォルトでテーブル全体をレプリケーションしている訳ではない。</b>
    - テーブル自体をレプリケーションしていえるわけではなく、一つのテーブルの構成を複数AZに分割したパーツごとに保存している。
- DynamoDBはクロスリージョンレプリケートすることができるが、デフォルトでそうはなっていない。
- DynamoDBをクロスリージョンレプリケートするには、DynamoDBStreamsを有効化する必要がある。
- クロスリージョンレプリケーションは、SynamoDBストリームによるキャプションをトリガーとして実施することができる。
- <b>※　DynamoDBはリードレプリカがない</b>

DynamoDBはデータを3箇所のAZに保存している。
DynamoDBはAWS専用のNoSQLであるため、オープンソースと互換性はない。

※　DynamoDBにはDynamoDBトランザクションという機能があり、トランザクションを実現させることができる。

### DynamoDBのキャパシティーモード設定について

DynamoDBには、テーブルで読み込み・書き込み処理をするための設定が2種類ある。

- オンデマンドモード
    - 利用負荷が予め予測できない場合に適する
    - リクエストの実績数に応じて課金するシステム
    - オンデマンドでRead/Write処理に自動スケーリングを実施
- プロビジョンモード
    - 利用負荷が予め予測できる場合に適する
    - 設定したキャパシティに基づいて課金
    - キャパシティ容量に近づくとHTTP400コードとProvisionedThroughputExceededExceptionが発生を発生させる。


## グローバルテーブル

DynamoDBの機能。
グローバルテーブルを利用することで、マルチリージョンにマルチマスターデータベースをデプロイすることができる。

- DynamoDBはデフォルトでは自動バックアップ方式にはなっていない。
- 自動バックアップ方式にしたい場合は、その有効化をする必要がある。
- DynamoDBはデフォルトで3つのリージョンに複製する。

※　デフォルトから自動バックアップ方式になっているのはAurora


### DynamoDBストリーム

DynamoDBストリームとは、DynamoDBテーブルに追加・変更・削除の発生時にその履歴をキャプチャする機能である。

- 過去24時間以内のデータ変更の履歴を保存し、24時間を経過すると削除される。
- データ容量はマネージド型自動管理
- 関連する操作に基づい「追加・変更・削除」履歴は順番を考慮されて保存される。
- クロスリージョンレプリケーションはDynamDBストリームのキャプションをトリガーとして実施することができる。

### DynamoDB Accelerator(DAX)

DynamoDB専用のインメモリキャッシュ。(他のDBで言うElasticCacheみたいな？)
DynamoDBのレスポンス速度がミリセカンドからマイクロセカンドへと高速化する。 


## Amazon QLDB(Quantum Ledger Database)

フルマネージドな台帳データベースサービス。
データの変更履歴は改変不可(イミュータブル)に保存され、履歴が正当であることを暗号的に検証できる。金融取引などの、絶対順番を間違えないで保存したいデータを保存するのに最適なDB







## リージョンに直接サービスが設置されるサービスは？

- S3
- DynamoDB
- Route53

※ <b>ELBはAZに設置される。　⇦ ELBは、サブネットをまたぐことはあるが、AZまたがない。 VPCの外側に置かれる</b>

## EFS

EFSは高速データ処理に向いている。
ネットワークからアクセスができず、複数のインスタンスからアクセスできる。

## S3

- オブジェクトロック
    - S3オブジェクトを上書きまたは削除されることを無期限と無制限で出来なくする機能。

- S3 MFA Delete
    - MFAを利用してオブジェクトが削除される際に認証を求める設定がある。
    - バージョニング機能のオプションとして、オブジェクト削除時にMFA認証を必須にできる。
   
その前提として、バージョニング機能を使って、S3に保存されていたバージョンを管理する。

- バケット全体をバージョン管理する
    - バージョンごとにオブジェクトが保管される。
    - ライフサイクル管理によりバージョンが保存される期間を設定
    - オブジェクトとは別に古いバージョン削除を実施する必要がある。


### S3の評価指標は？？

<b>可用性と耐久性</b>

- 可用性: システムが継続的に稼働し続ける能力
- 耐久性: データを失わない能力


## S3 Transfer Acceleration

エッジロケーションを利用してクライアントとS3バケットの間で、長距離に弥転送を高速、安全に行える。
<b>エッジロケーションからD3に送るネットワークは、それ専用の高速ネットワークを扱える。</b>

1. ユーザーに近いエッジロケーションに送る。
1. エッジロケーションから、最適化されたネットワークパスでS3にルーティングされる。

## インスタンスストア

インスタンスストアもブロックストレージである。


## EBS

EBSは、ネットワークを介してEC2インスタンスにアタッチされる。
独立してEC2とは別に管理される。

EBSはスナップショットを他のリージョンにコピーすることができる。
<b>EBSのスナップショットはS3に保存される。つまり、AZではなくリージョンでの管理となる。</b>

※ EC2が削除されると、デフォルト設定ではEBSボリュームも同時に削除される。
※ EC2を削除しても、設定によってEBSボリュームが削除されないように変更できる。

※　「ネットワークを介して」って言葉を見るとS3かなと思ってしまうので注意。　「アタッチ」がキーワード。

## AWS Storage Gateway

オンプレミス環境のストレージをAWS S3にシームレスに接続することができる。
接続して、S3データをバックアップしたり、データ移行したりできる。
逆に、S3をオンプラミスストレージのバックアップとして利用することが出来る。

### AWS Storage Gateway テープゲートウェイ

仮想テープストレージとVTL（仮想テープライブラリ）管理を提供する。
クラウドのバックアップ先は、S3 GLACIER または DEEP_ARCHIVE のどちらか。


### AWS Storage Gateway ファイルゲートウェイ

データファイルやバックアップイメージをS3に保存する。
ファイルプロトコルを使用して、S3でオブジェクトを保存・取得できる。


### AWS Storage Gateway ボリュームゲートウェイ

オンプレミスにクラウドのブロックストレージボリュームを提供する。
キャッシュ型ボリューム or 保管型ボリュームのどちらかを使用する。

- AWS Storage Gateway ボリュームゲートウェイ(補完型)
- AWS Storage Gateway ボリュームゲートウェイ(キャッシュ型)


# <font color="red"> 4. セキュリティ </font>

## AWS WAF

アプリの可用性、セキュリティの侵害、リソースの過剰な消費などに影響を与えかねない一般的なウェブの弱点から保護するWeb Application FireWall
ウェブアプリケーションに送信されるネットワークリクエストをモニタリングできるサービス.
<b>脆弱性を利用した一般的な攻撃からウェブアプリケーション・APIを保護するもの</b>

※ ネットワークトラフィックに対してのファイアウォールは AWS Network Firewall


- SQLインジェクション
- アプリケーションコードの脆弱性

などを保護する。



## AWS Shield

DDoS攻撃からアプリケーションを保護するサービス

<b> AWS Shieldと、CloudFront と　Route53 を共に使用することで、インフラストラクチャを標的とするすべての既知の攻撃を総合的に保護できる。</b>

## Amazon GuardDuty

AWSのインフラとリソースに脅威検出を提供するインテリジェントなサービス。　⇦　脅威対象を学習してる？
<b>リアルタイムモニタリング</b>で提供される。

## Amazon Inspector

アプリケーションのデプロイ前と、実稼働環境での運用中に、アプリケーションのセキュリティ脆弱性やベストプラクティスからの逸脱を特定できる。
マネジメントコンソールでのクリックがトリガーとなり、チェックが始まるため、リアルタイムモニタリングではない。
セキュリティの脆弱性やベストプラクティスからの逸脱がないかをチェックしてくれるサービス

## AWS Artifact

AWSのセキュリティとコンプライアンスのレポートや、特別なオンライン契約にアクセスできるサービス。
AWSが受けている監査情報に関わるコンプライアンスレポートを取得し、証明として使うことができる。
<b>AWSの監査人が発行するすべてのレポートにアクセスすることができる。</b>



## ペネトレーションテスト(脆弱性テスト)について

EC2の脆弱性はAWS利用者の責任範囲であり、ペネトレーションテストはユーザーが自由に実施することができる。


ペネトレーションテストが許可されたサービス

- EC2
- NATゲートウェイ
- ELB
- RDS
- CloudFront
- Aurora
- API Gateway
- Lambda
- Lightsail
- Elastic Beanstalk


## AWSセキュリティにおける7つの設計原則

- 強力なアイデンティティ基盤の実装
- トレーサビリティの実現
- 全レイヤーへのセキュリティーの適用
- セキュリティのベストプラクティスの自動化
- 伝送中および保管中のデータの保護
- データに人の手を入れない
- セキュリティイベントへの備え


## AWS CloudHSM(クラウド　ハードウェアセキュリティモジュール)

クラウドべーすのハードウェアセキュリティモジュール。
AWSクラウドで暗号化キーを簡単に生成して使用できるようになり、<b> その暗号化キーは業界標準のAPIを使用してカスタムアプリケーションを統合できる。 </b>
AWS外の他のHSMソリューションに転送して、AWS内外にキーを簡単に移行することもできる。

※　AWS KMSは暗号化キーの作成と管理ができるが、業界標準の暗号化対応を実施することは保証できない。


## AWS Security Hub

すべてのAWSアカウントでの高優先度のセキュリティアラートやコンプライアンス状況を確認できるサービス。
<b> GuardDuty, inspector, Macieなどの検出結果をまとめて一括確認できる。</b>
セキュリティ系サービスの検出結果をまとめて表示することが出来るサービス。

## Amazon Detective

CloudTrail,VPC Flow Logs, GuardDutyなどのログや結果を収集し、潜在的なセキュリティ問題を調査・分析することができる。


## Amazon CodeGuru

機械学習を使用して、セキュリティの脆弱性を検出し、コードレビューを自動化できる。
コード品質を向上しつつ、コードレビューの実行時間を短縮してコスト削減をできる。


## AWS Fault Injection Simulator


AWSでフォールト挿入実験を実施するサービス。
アプリケーションのパフォーマンス、オブサーバビリティ、回復性の改善に利用できる。




# <font color="red"> 5.ネットワーク </font>

## ELBの主要機能

- Connection Draining
    - インスタンスの登録が解除された・または異常が発生した場合にそのインスタンスへの新規リクエスト送信を中止する機能。
- スティッキーセッション
    - セッション中に同じユーザーからきたリクエストを維持して、同じインスタンスにリクエストを送信する機能。
- ヘルスチェック
    - EC2インスタウンスの正常・異常のチェックをし、利用するEC2の振り分けを行う機能。
- クロスゾーン負荷分散
    - AZを跨いでEC2インスタンスに均等に負荷分散を行う機能。
- 暗号化通信
    - SSL/TSL証明書をELBに設定することでHTTPSまたはTLS通信を実施できる機能。
- ログ取得
    - ELBのログ取得を有効化するとS3バケットにログを収集することが出来る。




## ELBの種類4つ

### ALB (Application Load Balancer)

HTTP・HTTPS通信を利用するWebアプリケーションには基本的にALB利用する
パスルーティング機能によって、複数のサーバー群に分けてバランシング構成が可能。
URLパスに基づいてリクエストを転送するルールを制定できる。 = パスルーティング
<b>パスルーティングを使用して複数のバックエンドサービスにトラフィックをルーティングすることが出来る。</b>



### NLB (Network Load Balancer)

TCP/SSL通信を利用する際に使う。
あくまでネットワークトラフィックに対する仕分けをする機能。

### GLB (GateWay Load Balancer)

ゲートウェイとロードバランサーの機能を合体させたような仕組み？
侵入検知と防止システムなどができるELBのイメージ。


### CLB (Classic Load Balancer)

ALBの機能・NLBの機能どちらにも対応しているが、古い。2022年に廃止される予定。



## Route53

Route53はアプリケーション・Webサーバーなどのヘルスチェック機能を提供している。
Routingする先は、Webサーハーなので、そこのヘルスチェックを実行し、障害が起こっていないWebサーバーへRoutingを実行する。


## VPCフローログ

VPCのトラフィックログを取得する機能

## WaveLengthゾーン

5G通信を提供するプロバイダのロケーションをAWS用に接続したゾーン。
5G通信を利用した高速アクセスが可能なアプリケーションをデプロイできる。

## リージョナルエッジキャッシュ

エッジロケーションとオリジンの間に配置されたキャッシュサーバー群を保持したロケーション。
エッジロケーションには保持できないような次点となるアクセス集中があるコンテンツを保持することができる。
<b>エッジロケーションだけを利用している場合よりもキャッシュ利用率を効率化できる。</b>

## AWS Local Zone

リージョンやAZが遠いユーザーに対して、エンドユーザーにより近い場所でアプリケーションを実行可能にする特別なゾーン。
インフラストラクチャをデプロイして使う。
AWSサービスを人口の多い場所の近くに配置できる。
<b>ミリ秒単位のレイテンシーを要求する高速アクセスが必要な場合に適切</b>

## AWS Global Accelerator

ユーザーからアプリケーションへのパスを最適化し、TCP・UDPトラフィックのパフォーマンスを改善する。
アプリケーションエンドポイントの状態を継続的に監視し、異常なエンドポイントを検出し、1分以内に正常なエンドポイントにトラフィックをリダイレクトする。
世界中のユーザーに対して地理的に近いエンドポイントにアプリケーショントラフィックを高速処理させる。

※ AWS Global Acceleratorを使わないと、ネットワークのいろいろなポイントを経由するため、一貫性がなくパフォーマンスにも影響を及ぼす。そんなネットワークの通り道を、グローバルAWSネットワークを経由することでパフォーマンスを上げる。

## AWS S3 Transfer Acceleration

S3との高速データ転送を実現するための機能。
S3にデータを送る際、まずはS3 Transfer Accelerationに送って、S3 Transfer AccelerationからS3に送ることになる。
S3 Transfer AccelerationとS3はAWS専用のネットワークを使用しているため、高速にデータを送ることができる。


## CloudFront

CloudFrontはエンドポイントへのルーティングを最適化するのではなく、地理的に近いエッジサーバーにキャッシュを保持しコンテンツ配信を効率化するために利用される。
<font color="red">基本的にAPI GatewayはCloudFrontと連携して使用すべき。</font>

## エッジロケーション

エッジロケーションには Route53, CloudFront, AWS WAFなどが配置される。

## AWS Transit Gateway

ハブを使って、VPCとオンプレミスネットワークを接続する。
VPCとオフィスとを接続する際に利用する。


## VPC Peering

VPCとVPC同士を接続するサービス。

## VPC

## AWS Cloud WAN

クラウドと利用者環境でWANを構築し管理することができるサービス。
複数の拠点やネットワークにまたがくグローバルネットワークを構築することができる。
各ネッットワークのWAN接続を統一されたグローバルネットワークの構築・管理に使う。


## Cloud WAN セントラルダッシュボード

Cloud WANで構築したWANに対して、健全性、セキュリティ、パフォーマンスなどを監視できるサービス。

## パブリックホストゾーン

- インターネット上に公開されたDNSドメインレコードを管理するコンテナ
- インターネットのDNSドメインに対するトラフィックのルーティング方法を定義できる

## プライベートホストゾーン

- プライベートネットワーク内のDNSドメインのレコードを管理するコンテナ
- VPC内のDNSドメインに対するトラフィックのルーティング方法を定義できる。
- 1つのプライベートホストゾーンで複数のVPCに対応できる。
- VPCが相互アクセス可能であれば複数リージョンのVPCでも、同じホストゾーンを利用可能。
- 

# <font color="red">請求・コスト</font>

※ TCO計算ツール、簡易見積もりツールは廃止。


## AWSでかかるコストの種類

- コンピューティング
- ストレージ
- アウトバウンドデータ転送(リージョンやインスタンスからデータを送る系)

の3つにしか料金はかからない。

※　インターネットからクラウドに対してのデータの送信(インバウンド)は料金はかからない。
※　同じリージョン内でのデータ転送料金はかからない。
※　同じリージョン内の別AZに対してのデータ転送でも料金はかからない。
※　<b>異なるリージョンに対してデータ転送をする際は料金がかかる。</b>



## AWS Pricing Calculator

AWSの毎月の請求額を見積もることが出来る。
AWS請求額を効率的に見積もる際に利用するツール。
ベストケースとワーストケースのシナリオを示し、毎月のコストを削減できる。
他のサービスプロバイダーと料金を比較することもできる。

※　簡易見積もりツールが廃止され、最新としてAWS Pricing Caluculatorが使われる。
※AWS料金計算ツールとの違いは？？？


## 請求ダッシュボード

請求ダッシュボードとはCost Explorerなどの請求関連のツールや情報へのアクセスを提供するAWSマネジメントコンソールのページの総称のこと。

請求ダッシュボードで見れる機能の一つとして、Cost Explorerや AWS Budgetsがある。

## Cost Explorer

Cost Explorerは、月ごとの過去の請求金額を遡って、予算の使われ方を時系列として見ることができる。
そのため、先月分、今月の現段階などの情報から今月の最終的な請求金額の予想を出すことができる。

## AWS Budgets

今月AWSクラウドに対して使える予算を設定できる。その設定金額に応じて、近くなったらアラートを投げる。超えたらアラートを投げるなどの処理ができる。
<b>リザーブドインスタンス・Savings Plans の集計使用率とカバレッジメトリクスをモニタリングできる。</b>


### AWS Billing alarm

請求が設定した値に達した場合にメールなどでアラートを上げてくれる設定のこと。
AWS Budgets内の設定のうちの一つ？？


## AWS 料金計算ツール

AWSクラウドのユースケースに対して、どれだけのコストがかかるかを見積もることができる。


## AWS Compute Optimizer

機械学習を利用して、EC2, AutoScaling,EBS,Lambdaなどのそれぞれの適切な種類を導き出し、コスト最適化に向けた推奨事項を提供してくれる。

## CloudFrontのコスト見積り要素

AWSからのデータ転送アウトと、ユーザーからのリクエストと、トラフィック分散に基づいて料金が決まる。

## AWのコストと使用状況レポート

サービス、料金、リソースの予約などに関するメタデータを利用して、各サービスの使用状況を、時間単位または日単位で一覧表示できる。
これまでに利用してきたAWSの利用料やコストを、細かく細分化し可視化することが出来るため、今後の利用方法やコスト削減に役立てることが出来る。

## AWS Pay-As-You-Goの価格モデル

使った分だけライセンス量を支払う課金方式のこと(MarketPlaceで購入したものなどはこっちの方式かな？)




# <font color= "red">6. AWSのサポート </font>

## AWSプロフェッショナルサービス

AWS利用者が、目標となるビジネス成果を達成するために支援してくれる専門家のグローバルチーム。
<b>AWSプロフェッショナルに認定されたサポオーター企業によるサポートが提供される</b>
AWSクラウドを使用して、期待するビジネス上の成果を実現するようにAWS利用者をサポートする専門家とパートナーネットワークによる支援チーム。

## AWSパートナーズ

AWSパートナーネットワーク(APN)に参加後に利用できる。
参加後にパートナーとなった会社が登録することが使える。
ソフトウェア、ハードウェア、サービス、トレーニングなどあらゆる領域に対して支援してもらえる。


## コンシェルジュサポートチーム

AWSの請求とアカウントのエキスパートチーム。
請求及びアカウントのベストプラクティスを実装するのを支援してくれる。

請求の割り当て、レポート、アカウント統合、ルートアカウントのセキュリティに関するガイダンスとベストプラクティスなどを提供してくれる。

## AWS TAM(Technical Account Manager)

効率よく運用するために技術的視点でサポートをしてくれる専門家。
技術面から支援してくれる。

## AWS Trusted Advisor

<b>AWS環境の最適化を支援するサービス</b>

- コスト最適化
- パフォーマンス
- セキュリティ
- フォールトトレランス
- サービス制限

の5分野で、ベストプラクティスに従ってリソースを利用するためのオンラインリソース
リアルタイムガイダンスは提供されるが、モニタリング情報はリアルタイムではない。(リアルタイムモニタリングは提供されていない。)
(リアルタイムガイダンスって書いているけど、オンラインリソースはすべてリアルタイムでは？)

AWS環境を調査し、AWSのベストプラクティスに基づいて<b>リアルタイムのガイダンスを提供する</b>サービス
ビジネス・エンタープライズOn-Ramp・エンタープライズはすべてのチェックを利用できる

ベーシック > デベロッパー > ビジネス > エンタープライズOn-Ramp > エンタープライズ

## AWS re:Post

AWSユーザーが技術的な障害を取り除いて、イノベーションを加速するためのコミュニティ型の質疑応答サービス。
※　Stack Over flowのAWS版ってこと？

## AWS IQ

AWS認定サードパーティーエキスパートが作業を支援してくれくれるための、作業依頼などを円滑に進めるサービス。
AWS IQはAWS上で何かをやろうとした時に、AWS認定サードパーティエキスパートの利用を支援するサービス。

## AWSナレッジセンター

AWS利用者から頻繁に寄せられる質問や要望とその回答が乗っているサービス。

## AWSサポートセンター

AWSサポートプランを変更するためのマネジメントコンソール操作画面。
サポートに関する情報収集などもできる。


## AWS Audit Manager

AWSでインフラ構築する際、AWSリソースの監査に利用する証拠収集を自動化することができる。
AWSリソースの使用状況を継続的に監査し、リスクとコンプライアンスの評価方法を簡素化するサービス。

Audit Managerを使用すると、ポリシー、手順、活動が効果的に機能しているかどうかを簡単に評価できる。


## AWS Trust & Safetyチーム

AWSリソースが不正処理に使用されている場合にここに連絡する。

## AWS インフラストラクチャイベント管理

ビジネスが忙しくなる時期や、重要なイベントなどがある時期にAWSのガイダンスをリアルタイムで受けることができる。
AWSエキスパートがイベントの計画に関わり、アーキテクチャや運用に関するガイダンスをしてくれる。
これによって、運用準備を評価し、リスクを知ったり事前に軽減したりできる。

## AWS Managed Services

既存のIT運用プロセスをAWS側が運用を自動化して対応してくれる有料サービス。
AWS上の移行・運用などの利用に向けた支援をしてくれる。
AWSインフラを導入する前にガイダンスしてくれるイメージ？？


## AWSコンサルティングパートナー

AWSコンサルティングパートナーは、AWS利用者が移行を実施する際のコンサルティングまたはマネージドサービスを提供するプロフェッショナル資格の一つ。
AWS移行を最適に支援してくれる。




## AWSパートナーパス

AWSパートナーネットワーク(APN)参加後に、パートナーとなった会社が登録するパス。
あくまで、チームやサービスではなく、パートナーであることの証明書みたいなもの？？

- ソフトウェア
- ハードウェア
- サービス
- トレーニング
- ディストリビューション

の5つのパスがある。

## AWSクイックスタート

ソリューションアーキテクトとAWSパートナーによって構築された自動参照デプロイメント。
AWSのベストプラクティスに沿って、人気の高い技術をAWSにデプロイできる。






# <font color="red">EC2・サーバー</font>

## Amazon ECR (Elastic Container Registry)

コンテナを保管しておくレジストリ。
あくまで、保管して置くだけ。
イメージとしてはCodeCommitでソースコードを保管しているのと同じ立ち位置。

## Amazon ECS・EKS

コンテナを起動させるサービス
ECRに保管してあるコンテナを起動させることができる。



## AWS Outposts

ハイブリットクラウドアプローチでインフラを運用できるサービス。
↑　ハイブリットクラウドアプローチとは、お客さんのデータセンターに、AWSのホストを立てること。
RDSなどの利用も含めたAWSリソースをオンプレミス環境で利用することができる。



## EC2

EC2にパブリックIPアドレスがなければインターネットアクセスはできない。
最初にEC2インスタンスを起動する際は、インスタンスストアもしくはEBSどちらかを基本ボリュームにするかを選択できる。

EC2などのサービスに暗号化キーを使ってアクセスする。

インスタンスの状態

- pending: 起動準備中
    - 初めて起動する場合 or pending状態になってから起動する際はstopped状態になる 
- stopping: 停止(シャットダウン)
- running: 実行中
- stopping: 停止または停止準備中。(停止準備中は課金される)
- shutting-down:　削除準備中
- terminated:　完全に削除完了。再び起動することはできない。

<b>インスタンスを削除したらデータを失ってしまうが、AMIを取得していると、そのデータが残った状態で別インスタンスを起動できる。</b>

### EC2ボリュームとは？

EC2ボリュームとは、EC2に付随したEBSなどのストレージ機能のこと。
EBSのバックアップはスナップショットで作成され、S3に保存される。


### ※ VPCを作る前にEC2インスタンスを作成した場合

<b>既存のデフォルトVPCのデフォルトのパブリックサブネットにEC2インスタンスが設置される</b>

既存のデフォルトVPCはAWSアカウント作成時に作られる。


### ブラウザ経由でEC2サーバーに接続する方法

- EC2 instance Connect
- セッションマネージャー
- SSHクライアント
- EC2 シリアルコンソール
- AWS CloudShell   ⇦　ただし、事前設定が必要。





## Elastic IPアドレス

IPアドレスが変更されない静的なIPv4アドレス。

次の条件が満たされている限り Elastic IPアドレスに料金は発生しない

- Elastic IPアドレスがEC2インスタンスに関連づけられている。
- Elastic IPアドレスに関連づけられているEC2インスタンスが実行中であること
- インスタンスに添付されているElastic IPアドレスは一つだけであること。

※　これらの条件が一つでも満たされないと、Elastic IPアドレスを利用していなくても持っているだけで料金が発生してしまう。


## Amazon EC2 Image Builder

EC2のイメージ作成やメンテナンスタスクを自動化するサービス。
イメージの作成、テスト、メンテナンスなどを自動化するパイプラインを作成し、イメージをセキュアで最新に保つ労力を最小化することができる。
イメージをアップデートするアプローチを手動で実行したりする必要はなくなる。


## EC2インスタンスタイプ。

- Savings Plans
    - 一定のコンピューティング使用料を1年または3年の期間で契約する
    - 契約した使用料を超えた文に関しては、オンデマンドインスタンスの料金で支払う
- リザーブドインスタンス
    - <b>Savings Plansとは異なり、契約期間中に一定のコンピューティング量を契約する必要はない。</b>
    - 1年または3年の契約となる<b>オンデマンドインスタンスの使用に適用される割引</b>
    - 以下の主要なリザーブド購入がある。
        - EC2リザーブドインスタンス
        - RDSリザーブドインスタンス
        - ElasticCacheリザーブドキャッシュのーど
        - DynamoDBリザーブドキャパシティ
        - RedShiftリザーブドノード
        - ※　EFSやS3にはリザーブド購入はない。(ストレージ系はなくて、ComputingとDB系はある感じ？？)

- リザーブドインスタンス:コンバーティブル
    - 必要に応じてリザーブドインスタンスの属性を交換できる。
    - 変更・インスタンス自体の交換が可能。(交換できるものは交換元と同等レベルのもの)
    - インスタンスファミリー/OS/テナンシー/支払いオプションなどの変更が可能。

- リザーブドインスタンス: スタンダード
    - アベイラビリティゾーンの交換が可能
    - ネットワークプラットフォームの交換が可能(EC2-Classic or VPC)
    - インスタンスサイズの交換可能(Linuxのみ)

- Dedicated Hosts
    - AWS利用者専用のEC2インスタンスだけを備えた物理サーバー。


### コンバーティブルリザーブドインスタンス

以下の条件を満たしている場合に、EC2で交換リクエストが処理される。

- コンバーティブルリザーブドインスタンスがアクティブであること
- 保留中の以前の交換リクエストがないこと

交換する際のルール

1. その時点でAWSによって提供されている別のコンバーティブルリザーブドインスタンスにのみ、交換可能。
1. コンバーティブルリザーブドインスタンスは特定のリージョンと関連づけられて、予約期間中はそのリージョンに固定される。
1. コンバーティブルリザーブドインスタンスは同一リージョン内のコンバーティブルリザーブドインスタンスとのみ交換することができる。
1. 一つのコンバーティブルリザーブドインスタンスで一つ以上のコンバーティブルリザーブドインスタンスを一度に交換することができる。
1. コンバーティブルリザーブドインスタンスの一部を交換するには、二つ以上の予約に変更して、一つ以上の予約を新しいコンバーティブルリザーブドインスタンスに交換することが出来る。
1. 全額前払いコンバーティブルリザーブドインスタンスは、一部前払いコンバーティブルリザーブドインスタンスに交換できる。その逆に、一部前払いコンバーティブルリザーブインスタンスは、全額前払いコンバーティブルリザーブドインスタンスに交換できる。
1. 

## EC2 クラスタープレイスメントグループ

インスタンスのパフォーマンスを向上させるために、単一AZ内に論理的グループを作成する機能。

- 1つのAZ内におけるEC2インスタンスグループのこと
- EC2インスタンス間で低レイテンシーネットワークパフォーマンスを実現する。


## EC2 Instance Connect

ブラウザベースのクライアント、EC2コンソール、EC2 Instance Connect CLI または任意のSSHクラウアントによりインスタンスに接続できる。
Secure Shellを使用してLinuxインスタンスに接続するシンプルで安全な方法を提供する。


## AWS CloudShell

Webブラウザ経由でコマンドラインを実行できるツール。EC2インスタンスへのアクセスが可能になるが、事前に設定が必要。


## Auto-Scalingのターミネーションポリシー

ターミネーションポリシーとは、スケールインでインスタンスを終了させる際に、どんなインスタンスを優先して終了させるかを定めたポリシーのこと。

デフォルトでは以下の設定となっている。

- AZについて
    - インスタンスの数が一番多いAZの中のインスタンスから終了する
    - AZ同士を比較して、インスタンスの数が等しい場合はランダム。
- インスタンスについて
    - 一番古いインスタンスから終了する。
    - 一番古いインスタンスが複数ある場合は、次の課金が始まるタイミングが最も近いインスタンスを終了する。
    - 1番古いインスタンスが複数あり、次の課金が始まるタイミングが同時のインスタンスが複数ある場合はランダム。


### Auto-Scalingのターミネーションポリシー

- OldestLaunchConfiguration(デフォルト)
    - 最も古い軌道設定により起動しているインスタンスから終了
- OldestInstance
    - 最も古いインスタンスから終了
- NewestInstance
    - 最も新しい起動時刻のインスタンスから終了
- ClosestToNextInstanceHour
    - 次の課金が始まるタイミングが最も近いインスタンスから終了。

※　デフォルトではOldestLaunchConfigrationが適用されており、最も古い起動設定のインスタンスから終了する。最も古い起動設定のインスタンスが複数あった場合はその中で、ClosestTonextinstanceHourが適用され、次の課金が始まるタイミングが最も近いインスタンスから終了する。

## Auto-Scalingの設定プロセス

1. ELBのターゲットグループの作成
    1.1. ※　必ずしもEC2インスタンスを設置する必要はない。EC2インスタンスをAutoScalingグループに直接設定してスケーリングさせることも可能。
1. 起動設定/テンプレートの作成
1. Auto-Scalingグループ作成
    3.1. 閾値設定
    3.2. スケーリング規模の設定
    3.3. スケーリング方式の設定(ターミネーションポリシーなどかな？？)








# <font color="red">7. IAM・認証</font>

## IAMで利用されるアイデンティティの三つ。

- IAMユーザー
- IAMグループ
- IAMロール

※　IAMポリシーは、これらのアイデンティティまたはAWSリソースにアタッチする形でアクセス許可権限の範囲を定義する。



## AMI (Amazon Machine Image)

EC2インスタンスのイメージを保存しておき、同じ設定の新しいインスタンスを作成することができる。
AWSで提供しているAMI、3rdパーティーが作ったAMI、自分で作ったカスタムAMIなどがあり、
<b>新しいインスタンスを起動するときは、特定のAMIを指定する必要がある</b>

設定を丸コピできるため、効率的にインスタンスを起動させるのに役立つ。
また、全く同じ設定でインスタンスを一気に複数作成できる。

※　AMIはアカウントを跨いで共有することも可能。別リージョンにAMIをコピーすることは可能だが、コピー後は同期されないため、別AMIとして認識される。
※　AMIは他アカウントにも共有可能。


- AMIは　EBSスナップショット + 管理情報で構成されている。
- AMIにはEC2インスタンスにアタッチしていたEBSのボリュームデータは保持されたまま提供される。(スナップショットの情報が残されているため)




## IAMポリシー

IAMユーザー・IAMグループ、IAMロールが付与されたリソースに対して、アクセス許可権限を定義する。
AWSではリソースが他のリソースに対してアクセスすることもあるため、このアクセスに対して許可権限を定義することができる。

## IAMポリシーの種類

- AWS管理ポリシー
    - AWSが作成、管理する管理ポリシー
- カスタマー管理ポリシー
    - AWSアカウントで作成・管理する管理ポリシー
    - 同じポリシーを複数IAMエンティティにアタッチできる
- インラインポリシー
    - ユーザーが作成・管理するポリシー
    - 一つのプリンシパルエンティティに埋め込まれた固有ポリシーで、プリンシパルエンティティ(ユーザー・グループ・ロール)にアタッチすることができる。





## IAMロール

通常アクセス権のないアプリケーション・サービスに、アクセス権限を一時的に付与するもの。
ロールはポリシーをグルーピングしたもので、例えばEC2には一つのロールしか付与できないが、ロール内にポリシーを複数個含めて置くことによって、EC2に対してさまざまなアクセス権限を付与することができる。


## ルートユーザー

ルートユーザーはアクセスキーを作成しないように！アクセスキーがある場合は削除すること。
支払い情報や機密性の高い情報などアカウントの前リソースに無制限にアクセスできるようになってしまうため。

## 管理者権限を持ったIAMユーザー

IAMの操作権限まである。
アカウントを作りルートユーザーを使用して一番最初に作るIAMユーザーであり、その後ルートユーザーの代わりに利用するIAMユーザーとなる。ただし、ルートアカウントでしか使用できない権限は付与されていない。


## パワーユーザー

IAMの操作権限以外の全てのAWSサービスへのフルアクセス権限を持っているIAMユーザー。
アクセス管理以外の網羅的な開発を担当するユーザーに付与するための権限。


＃＃ アカウントに対する不正行為が発生した場合の対応は？(権限のないアカウントに対するキーの生成など)

1. ルートユーザーと買うんりしゃがアクセスできるすべてのIAMアカウントのユーザー名とパスワードを変更する
1. これらのアカウントのすべてのアクセスキーを変更する
1. それらのアカウントでMFAを有効にする
1. すべてのユーザーのアカウントにIP制限をかける




## AWS Organizations

<b>AWSアカウントの作成と管理を自動化することができる。</b>
APIを使用して、新しいアカウントを作成・アカウントをOU(組織単位)に追加できる。


## SCP (サービスコントロールポリシー)

AWS organizationsに設定されている複数アカウントのセキュリティとアクセス許可を統合管理するポリシー。
SCPで許可された範囲内で、ポリシーを設定できるイメージ？




## AWS STS(Security Token Service)

AWSサービスへのアクセスに使用できる一時的な限定権限認証情報を生成し、提供するサービス。
<b>STSはAWSリソースに対して限定的で一時的なセキュリティ認証情報を提供するサービス</b>


## Amazon Lightsail

仮想プライベートサーバーとして機能し、コンソールからのクリック操作でウェブアプリケーションやウェブサイトを簡単に立ち上げることができる。
Lightsailはインスタンス、コンテナ、データベース、ストレージなど簡素化された総合的なサービスを立ち上げることができる。
<b>簡単なWebアプリケーションを即時に立ち上げる際に利用できる。</b>


## VPS(仮想プライベートサーバー)

一台の物理的なサーバーコンピュータ上で仮想的なサーバコンピュータを何台も起動する技術(Virtual Machine)によって作られた仮想的なサーバコンピュータ。

※ EC2は仮想サーバーではあるが、他のAWS利用者とホストを共有するため、プライベートではない = VPSではない。

LightsailはVPSとして使用できる。つまり、他のAWS利用者とホストを共有しないってこと？


## アクセスキーIDとシークレットアクセスキー

プログラムを実行する際にアクセスキーとシークレットアクセスキーが必要。アクセスキーとシークレットアクセスキーによって、実行者とIAMユーザーが紐づけられる。
IAMユーザーに関連付けされているため、IAMユーザーの認証情報の一つとしてアクセスキーとシークレットアクセスきーがある。
AWSへのプログラムリクエストに署名するために使われる。
アクセスキーとシークレットアクセスキーを背て地することで、AWS CLIなどプログラムアクセス用のツールを認証することができる。

## キーペア

EC2インスタンスにPC端末から接続する際に必要。
パブリックキーとプライベートキーのペア = キーペアによって、ログイン情報の暗号化と複合化をする。




## OpsWorks

サーバーの構成を自動化できるサービス。
ChefやPuppetといった構成管理サービスを使える。
コードを使用してサーバーの構成を自動化できるため、EC2インスタンスの構成方法を自動化することができる。
サーバーの設定、デプロイ、管理を自動化できるように構成管理をするサービス。

※　Elastic Beanstalkは「アプリケーションのデプロイの詳細設定を自動化」するサービスであり、 OpsWorksはさらにその下の階層のサーバー設定も含めた自動化や設定管理ができる。

## Amazon Cognito

ウェブアプリケーションやモバイルアプリにユーザーのサインアップ・サインインなどの機能を追加できるサービス。
<b>素早く簡単にユーザーのサインアップ/サインインおよびアクセスコントロールの機能を追加できる。</b>
ユーザーが開発したアプリのバックエンドリソースに対するアクセスをコントロールするサービス。

アプリ側ではサインアップ情報などは保持しない？Cognito側でサインアップ情報など認証機能としてを一元管理してくれるってことかな？


## AWS Elastic Beanstalk

アプリのデプロイの詳細に関して自動化するサービス。
AWSでアプリケーションを迅速にデプロイし、容量のプロビジョニング・負荷分散・自動スケーリング、モニタリングまで提供するためのサービス
<b>AWS利用者はアプリをアップロードするだけ。　キャパシティのスケーリングやモニタリングなどの処理を自動化してくれる</b>

Elastic Beanstalkは、ソースコードをアップロードするたびにアプリケーションバージョンを作成する。
アプリケーションの頻繁なバージョン変更が発生する場合でも、[Configration]セクションで設定オプションによってバージョン変更を実施でき、影響を受けるすべてのアプリケーションリソースに対して変更を適用することが出来る。



## AWS Service Catalog

アカウント内のIAMユーザーに対して、承認された製品のみを利用できるような設定をするサービス。
AWSでの使用が承認されたITサービスのカタログを作成・管理するサービス。
IAMユーザーは必要とする中で、商品済みのITサービスのみを素早くデプロイ可能。
運用管理者は、CloudFormationのテンプレートにService Catalogを定義することで、ユーザーに対して承認された製品のみを利用させることができる。



## AWS Control Tower

<b>マルチアカウントのAWS環境のセットアップを自動化するサービス</b>
AWS Control TowerはAWS Organizationsと連携して使う。
複数アカウントに事前設定された安全な環境(ランディングゾーン)の設定を自動化するサービス。
各アカウントのセキュリティ設定を統制でき、マルチアカウントで継続的なポリシーの取得・統合ダッシュボードを利用することができる。





# <font color="red">運用・監視</font>

## Amazon CloudWatch

コストが設定した閾値を超えた場合にロガーされる請求アラームを設定できる機能もある。
CloudWatchアラームとSNSとを連携すれば、リアルタイムでのメール通知を設定することができる。
請求アラームを設定することはできるが、コスト予測はできない。

※ AWS Budgetの機能との違いは？？？？

### Amazon CloudWatch RUM

クライアントサイドのデバイス間でのアプリケーションのパフォーマンスを監視する機能

- ページロードステップ
- コアウェブバイルタ(UI・UXのパフォーマンス: ページメインの部分の表示速度・各パーツの動作)
- JavaScript
- HTTPエラー
- 問題によって影響を受けたセッションの数


### Amazon CloudWatch ServiceLens

クライアントサイドのアプリケーションの正常性、パフォーマンス、可用性を一括で視覚化し、分析できる機能


### Amazon CloudWatch synthetics

REST API,URL,ウェブサイトコンテンツを、毎分(24時間年中無休)監視し、エンドポイントが想定通りに動作しなかった場合にアラートを出す。

### Amazon CloudWatch Agent

サーバー側からメトリクスを取得することができる。

### Amazon CloudWatch events

発生した運用上の変更を認識することが出来る。

### Amazon CloudWatch eventBridge

AWSリソースの変更に関するイベントログをリアルタイムで取得できる。


## CloudTrail

AWSリソースに対しての誰が・いつ・何を実行したのかなどのAPI実行履歴を確認することができる。


### CloudTrail insights

CloudTrailの機能の一つ。
CloudTrailから管理イベントを自動的に分析して、通常の動作パターンを把握し、異常なパターンを検出した際に問題としてイベントを発生させることができる。
これによって、通常パターンから超過したリソース数を超えて実行された場合にアラーム通知を行うことができる。


## Access Advisor

IAMエンティティ(ユーザー・グループ・ロール)が最後にAWSサービスにアクセスした日付と時刻を表示できる。





## VPC フローログ

VPCのネットワークトラフィックに関する情報を確認するためのサービス

## AWS PrivateLink

トラフィックをパブリックインターネットに公開することなく、VPCとAWSでホストされているサービス、またはオンプレミス間でプライベート接続を確立する。
AWSサービスを自分で設置したVPCをプライベートで結びつける機能。

AWS PrivateLinkで利用できるサービスには

- AWSの一部のサービス
- 他のAWSユーザーやパートナーによって各自のVPCでホストされるサービス(エンドポイントサービス)
- サポートされているAWS Marketplaceの製品

などが含まれる。

### VPCとAWSでサポートされているサービス間の接続

- インターフェースVPCエンドポイント(インターフェースエンドポイント)を使うと接続が可能になる。





## AWS Config

AWSリソース構成、設定に関するガバナンス、コンプライアンス、リスク監査が出来る。
IAMのUser,Group,Role,Policyに関して変更履歴、構成変更などの設定について管理・確認できるサービス。

AWSリソースの<b>設定について継続的にモニタリング</b>し、記録された設定の評価を自動的に実行するサービス。
<b> AWS Configによって、AWSリソースのプロビジョニングや設定のルールを定義できるようになる。</b>
設定のルールから逸脱すると、Amazon SNSがトリガーされ、通知でコンプライアンスギャップを知らせてくれるようにできる。

<b>リアルタイムモニタリング</b>で提供される。




## AWS Systems Manager

AWSで<b>利用しているインフラを可視化・運用状況の可視化</b>し、自動化するためのサービス。
※　clowdWatchはアプリケーションの状態の可視化。

- 目的やアクティビティごとにAWSリソースをグループ化することができる。
    - これを使って運用上のつながりなどを可視化できる。
- 問題検出の時間短縮ができる。
    - リソースグループごとに運用データを確認できるため、アプリケーションに影響を与えうるリソースの問題を素早く特定可能。
- 運用の自動化
    - EC2のバッチ、更新、設定変更・削除・停止及びデプロイなどを自動化できる。
- 可視化と制御
    - 各リソースグループの最新状態を簡単に可視化して制御できる。
- ハイブリッド管理
    - AWSサーバーとオンプレミスのサーバーとを一つのインターフェース(コンソール画面？)で管理可能。


## AWS Systems Managerでできること

1. AWSリソースを目的ごとにグループ化できる。これによって、どのグループの運用データで問題が発生したのかを素早く特定できる。
1. 1でまとめたAWSリソースグループごとに運用作業を一元的に管理できる。これによって、リソースグループごとの運用と調査と問題解決がとても簡単になる。
1. パッチ管理などメンテナンスとデプロイ作業を自動化できる。


### OpsCenter

AWS Systems Managerの機能の一つ。
運用担当者が、自分の環境に関連する運用上の問題を一元的に表示、調査、解決できる場所となるサービス。

### AWS AppConfig

運用する上で、
EC2・lambda・ECSなどで利用されるアプリケーションに対して、動的に設定変更をデプロイすることができる。

# <font color="red">モバイルアプリ向け </font>

## AWS Device Farm

様々なデバイスへの対応。(様々なデバイスの種類で動作確認ができるのか)を効率的に検証することができる。
複数のデバイスでテストを同時に実行して、ビデオとログを生成して、アプリの問題を素早く特定できる

※　モバイルだけではなく、デスクトップブラウザに対してもテストできるらしい。


## AWS Mobile Hub

モバイルアプリ向けに、Cognito, Lambda, Device Farm, PinpointなどのAWSサービスを連携してアプリケーションの構築、テスト、モニタリングをまとめて実施することが出来るプラットフォーム。

## AWS Amplify

クラウド向けWeb/モバイル開発向けのライブラリ(JavaScript/IOS/Android用)

## Amazon WorkLink

モバイルデバイスから社内のWebサイトやWebアプリケーションに安全に接続するサービス。



# <font color="red"> オンライン・リモートワーク </font>
　
## Amazon Chime

ビデオ、音声、テキストチャット、スクリーン共有などを備えたオンラインミーティングサービス。

## Amazon WorkMail

Webメール及びカレンダーサービス。
AWSユーザー間でカレンダーを共有することが出来る。


## Amazon WorkDocs

コンテンツの作成、ストレージ、コラボレーション(ソフトウェアを使用して協力して業務にあたること)の安全なフルマネージド型サービス。
(google Documentと同じ感じ？？)



# <font color="red">その他</font>

## タグエディタ

AWSリソースにタグ付けをしたいり、タグがついたリソースを検索することができる。
一度に一括してタグを編集・削除することができる。
「タグ」とは、AWSリソースを特定できる。

## AWS リソースグループ

多数のリソース上のタスクを一度に管理・自動化できるサービス。
※　タグエディタと同じ画面で表示されるが、別機能となっている。


## タグポリシー

タグ付けのルールを標準化することのできるサービス。
ex: タグをつけるのに小文字のスネークケースにする！など。

## ARN (AWS リソースネーム)

リソースを一意に識別する識別子。
AWSポリシーのドキュメント記載の際にARNを指定したりする。

## CodeArtifact

ソフトウェア開発時にパッケージと依存関係を自動的に管理できるサービス。


## Amazon SageMaker

すべてのAWS利用者が機械学習モデルを迅速に構築、トレーニング、デプロイできるようにする完全マネージド型サービス。
機械学習モデルを作るために利用される。

## Amazon Connect

クラウドベースのコンタクトセンターソリューションを構築することができるサービス。
すぐにカスタマーコンタクトセンターのセットアップをして、どこからでも開始できる。

ex: クラウドベースのコールセンターシステムの提供などが例


## Amazon Marketplace

サードーパーティやライセンスが必要であったソフトウェアをオンデマンドで購入・利用することができる。

- 様々なAMIが売られている。
- カスタマイズされたAMIにおいて設定されているソフトウェア構成を購入することができる。


## Amazon WorkSpaces

様々なデバイスからオンデマンドでアクセスできるWindows ,Linux向けのフルマネージドデスクトップ仮想化サービス。
仮想デスクトップとしてAWS利用者に利用してもらうことができる。
Virtualboxのような仮想化OSの提供のAWS版ってことかな？？



### Amazon WorkSpaces Web

Amazon WorkSpacesの機能の一つ。
ブラウザ経由でWorkSpacesに接続するセッションをオンデマンドで提供する。
従業員に社内ウェブサイトやSaaSアプリへのアックせすを安全に提供できる。
Virtualbox的なものをブラウザ経由で操作できる感じ？？


### Amazon WorkSpaces Application Manager(Amazon WAM)

Amazon WorkSpacesの機能の一つ。
WorkSpacesで提供した仮想デスクトップに対して、ソフトウェアを配布するタスクを自動化できるサービス。
仮想デスクトップに対して、ソフトウェアのデプロイ、アップグレード、パッチ適用、削除を迅速に行うことが出来る。
Virtualbox的なものの中でも、ソフトウェアバージョン管理やバッチ適用、削除などが簡単にできる感じ？？


### AWS X-Ray

アプリケーションやその基盤となるサービスの実行状況を把握し、トラブルシューティングを行う。
パフォーマンスの問題やエラー原因を特定するのに使う。


### Amazon Honeycode

コード記述なしにモバイルアプリやWebアプリを構築できるサービス。
スプレッドシートモデルを採用している。