AWS 勉強メモ

`投稿時期:2019/11/11週`

# はじめに
AWSの勉強メモ。特にサービスは絞らず全体的に。
理解できていない部分を重点的に記載。
間違ってたらご指摘お願いします。
2019/11/11週の勉強メモ。
※正しい解釈というより、理解しやすいように簡素化して記載している部分もあります。

# EC2：プレイスメントグループ
[プレイスメントグループ](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html)

### クラスタープレイスメントグループ
- 単一azにec2配置
- 同じ物理ラック
- ec2追加時はグループ内ec2を全て停止し起動
- 採用目的：
- 低ネットワークレイテンシー
- 高ネットワークスループット
- トラフックの大部分がグループ内のec2間で発生

### パーティションプレイスメントグループ
- 単一azにec2配置
- パーティション毎に異なる物理ラック
- 採用目的：
- 分散ファイルシステム
- 異なるラック間でec2使いたいとき

### スプレッドプレイスメントグループ
- 単一azにec2配置
- 全ec2を異なる物理ラック
- 採用目的：
- 同時障害のリスクが軽減

# EC2：Linux拡張ネットワーク
[Linux拡張ネットワーク](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html)

- 従来のNWIFより、I/Oパフォーマンスが高く、CPU利用率が低い
- シングルルートI/O仮想化(SR-IOV)
- タイプは　ElasticNetworkAdapter(ENA)　or　Intel82599VirtualFunction(VF)

# EC2：AutoScalingの中断
[AutoScalingの中断](https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/as-suspend-resume-processes.html#choosing-suspend-resume)

- 停止プロセスの設定が可能
- 削除、起動、アタッチ、デタッチ等の各処理の停止が可能

# EC2：Linuxインスタンスの休止
[Linuxインスタンスの休止](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Hibernate.html)

- 休止の前提条件あり
- 構築時に休止の有効化をしておく必要あり
- 構築済みのec2への休止の有効化は不可

# aws glue
[aws glue](https://docs.aws.amazon.com/ja_jp/glue/latest/dg/what-is-glue.html)

- ETLサービス
- 抽出、変換、保存、クエリ実行、分析
- s3,rds,ec2等をデータレイクとして指定可能
- atenaと連携可能
 
# EMR
[amazon emr](https://aws.amazon.com/jp/emr/faqs/)

### EMR
- ElasticMapReduce
- MapReduceのawsサービス

### MapReduce
- ビックデータを効率的に分散処理するフレームワーク
- Googleが開発

### Map関数
- ビックデータを受け取り細かい単位に分割し、複数のワーカーノードに配置
- 受け取ったワーカーノードが更に細かい単位に分割し、複数の下位ワーカーノードに配置
- 各下位ワーカーノードは、細かい単位のデータを処理し、処理結果をマスターノードへ返す

### Reduce関数
- マスターノードがMap関数での処理結果を集約し、処理結果を出力

# AWS PrivateLink
- プライベート接続
- 他awsアカウントからの接続も可能
- direct connectにも対応、オンプレ環境にも接続可能

# route53：複雑なroute53構成
[複雑なroute53構成](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html)

- レイテンシールーティングポリシー　→　加重ルーティングポリシー

# aws waf
- 連携できるawsサービス
- cloudfront,alb,apigw

# S3：署名付き URL
[署名付きURLを使用したオブジェクトのアップロード](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/PresignedUrlUploadObject.html)

- 署名付きURLのアクセス権限は、作成者の権限に依存する
- 作成者Aが書き込み権限を持っていれば、署名付きURLを受けっとたBも書き込み可能
- 署名付きURLを受けっとたBの権限に依存しない

# AWS Organizations
[サービスコントロールポリシー](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_policies_scp.html)

- scpはawsアカウント内のユーザやロールのみに影響する
- 外部awsアカウント上のユーザやロールには影響しない

# AWSブロックチェーン
[ブロックチェーン](https://aws.amazon.com/jp/blockchain/)

- AmazonQLDB：信頼された中央機関が所有するフルマネージド型の台帳データベース。透過的、イミュータブル、暗号的に検証可能なトランザクションログを備える、といった特徴。
- AmazonManagedBlockchain：スケーラブルなブロックチェーンネットワークの作成と管理を簡単に行える。ブロックチェーンネットワークの管理と維持を簡素化できる。
- AWSBlockchainTemplates：ECS上か、dockerを実行するec2インスタンスに直接デプロイ可能。

# Lambda@Edge
[Lambda@Edge](https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html)

- Lambdaの拡張機能でCloudFrontで配信する

# x-ray
[x-ray](https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/aws-xray.html)

# iam：assume role
- rootユーザはassume roleできない

# glue
- s3 → 
- glue crawler → 
- glue data catalog →
- atena or redshift or emr or awsbatch→
- quicksight

# DynamoDB
- 毎日過去データを削除したい場合、毎日過去分のデータを削除するのではなく、日毎にDynamoDBテーブルを作成し過去分テーブル毎を削除？
- sqsとelasticacheと組み合わせると良さげ

# Cost and Usage Report：他awsへの連携 
[Redshift連携](https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/billing-reports-costusage-upload.html)
- redshift,atena,quicksightに連携可能

# Direct Connect：LAG 
[LAG](https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/lags.html)
- 複数回線を集約させ帯域幅を増加させたい等で利用
- 全て同じ帯域幅である必要あり
- 最大4つ

# Organization
[AWSアカウントの招待](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_accounts_invites.html)
- 招待は1日20通まで送信可能
- 15日以内に応答しなければ期限切れ
- 招待再送はできないので、キャンセルして新規招待
- OU内のアカウント移動は、新規にOU作成してアカウント移行、旧OUを削除