#author("2023-08-06T03:39:20+00:00","default:ham","ham")
#author("2023-08-06T03:39:29+00:00","default:ham","ham")
#amazon(4822262960)
#amazon(4822211983)
#contents
#br
#adsense(728x90)
#br


* クラウド [#v61dd399]

- オンプレミス
-- IT リソースを自社で保有・管理する
- クラウド
-- IT リソースをネットワーク経由でオンデマンドで利用する

||オンプレミス|クラウド|h
|コスト|前払い|使用した分のみ支払い|
|~|データセンターから運用|アプリケーションに集中|
|~|小規模なスケール|スケールメリットの享受|
|スピード|利用するのに数週間かかる|数分で利用できる|
|柔軟性|キャパシティ予測が必要|必要に応じてスケールイン・アウト|
|~|グローバル化が困難|グローバル化が容易|


* AWS [Amazon Web Services] [#h8e387f9]
- Amazon のクラウド サービス

** リージョン [#scabd7c2]

- AWS ではデータセンタの場所は非公開
- 大まかな地域を選択することが出来る
-- US East (Northern Virginia) Region
-- US West (Northern California) Region
-- US West (Oregon) Region
-- EU (Ireland) Region
-- Asia Pacific (Singapore) Region
-- Asia Pacific (Sydney) Region
-- Asia Pacific (Tokyo) Region
-- South America (Sao Paulo) Region

*** Tokyo Region [#n0335afc]
- 全て Equinix DC
-- TY1 (大田区平和島: 海抜 6m)
-- TY2 (品川区東品川: 海抜 3m)
-- TY3 (江東区枝川: 海抜 1m)
-- TY4 (千代田区大手町: 海抜 6m)
- AWS Direct Connect の接続先は TY2 となっている
** Availability Zone [#b5575483]

- リージョンは複数の AZ から構成される
- 異なる AZ は物理的に分離されており、障害が双方に及ぶことがないよう設計されている
- 同一リージョンの AZ 間は専用回線で接続される

** インターフェース [#p5fd5371]

- AWS マネジメント コンソール
- AWS CLI
- AWS SDK
-- 裏ではすべて API を呼び出している。
-- すべての操作は AWS CloudTrail に記録される。



** エッジロケーション [#b4e354fa]

- リージョンを構成するデータセンター以外に、コンテンツ配信等を目的に用意されるデータセンター。
- CloudFront、Route 53、AWS Shield などで利用される。
- CloudFront の場合、コンテンツのキャッシュをエッジ ロケーションに置くことで、低遅延を実現している。



** 料金体系 [#t9098648]
- 時間課金のサービスの一部は複数の料金体系が選択可能。
- 料金体系の変更なので、システム的な影響は無い。

- オンデマンド インスタンス
-- 通常契約。
-- 時間課金のインスタンス。
-- 時期や時間帯で増減するリソースに最適。
- リザーブド インスタンス (RI)
-- 長期契約割引。
-- 1 年、もしくは 3 年使用権を予約する。
-- 最大で約 75% の割り引きとなる。
-- 長期に渡り利用が確実なリソースに最適。
-- 全額前払い、一部前払い (約半額)、前払いなしが可能。(割引率は変わる。)
- スポット インスタンス
-- %%入札式で使用権を得るインスタンス。%%
-- %%他のユーザーがより高価格で入札した場合は途中でも使用権が奪われる。%% 昔話
-- 時間課金のインスタンス。
-- 価格は随時調整され、インスタンス作成時に上限価格を設定する。(上限を上回った場合、インスタンスは停止される。)
-- 最大で約 90% の割り引きとなる。
-- AWS の空きリソース (スポットプール) から提供される。
-- 空きリソースが減少すると、強制終了される可能性がある。(2 分の猶予時間あり。)
-- バッチ処理などオンライン サービスに影響のないリソースに最適。
-- 使用時間の予約もできる。(割引率は変わる。)
- Compute Savings Plan
-- 長期契約割引枠。(1 年 or 3 年)
-- 毎時使用するであろうコスト枠を購入し、割引を適用する。
-- コスト枠の範囲で様々なインスタンスを組み合わせることが可能。
-- EC2 以外にも Lamda や Fargate でも使える。

** AWS設計のベストプラクティス [#rf037576]

+ スケーラビリティを確保する
-- Auto Scaling による自働スケールアウト。
+ 環境を⾃動化する
+ 使い捨て可能なリソースを使⽤する
+ コンポーネントを疎結合にする
-- システム間の連携に ELB や SQS を使う。
+ サーバーではなくサービスで設計する
+ 適切なデータベースソリューションを選択する
+ 単⼀障害点を排除する
+ コストを最適化する
+ キャッシュを使⽤する
+ すべてのレイヤーでセキュリティを確保する
+ 増加するデータの管理

** AWS Well-Architected Framework [#e5fcc6b4]


+ %%%''運用上の優秀性''%%%
-- 運用をコードとして実行する
-- '''''小規模かつ可逆的な変更を頻繁に行う'''''
-- 運用手順を頻繁に改善する
-- 障害を予想する
-- 運用上の障害すべてから学ぶ
+ %%%''セキュリティ''%%%
-- 強力なアイデンティティ基盤を実装する
-- '''''トレーサビリティの実現'''''
-- '''''全レイヤーでセキュリティを適用する'''''
-- セキュリティのベストプラクティスを自動化する
-- '''''伝送中および保管中のデータを保護する'''''
-- データに人の手を入れない
+ %%%''信頼性''%%%
-- セキュリティイベントに備える
-- '''''障害から自動的に復旧する'''''
-- 復旧手順をテストする
-- '''''水平方向にスケールしてワークロード全体の可用性を高める'''''
-- '''''キャパシティーを推測することをやめる'''''
-- オートメーションで変更を管理する
+ %%%''パフォーマンス効率''%%%
-- 最新テクノロジーを誰もが利用できるようにする
-- わずか数分でグローバル展開する
-- サーバーレスアーキテクチャを使用する
-- より頻繁に実験する
-- メカニカルシンパシーを重視する
+ %%%''コスト最適化''%%%
-- クラウド財務管理を実装する
-- 消費モデルを導入する
-- 全体的な効率を測定する
-- 差別化につながらない高負荷の作業に費用をかけるのをやめる
-- 費用を分析し帰属関係を明らかにする
+ %%%''サステナビリティ''%%%
-- 影響を理解する
-- 持続可能性の目標を設定する
-- 使用率を最大化する
-- より効率的なハードウェアやソフトウェアの新製品を予測して採用する
-- マネージドサービスを使用する
-- クラウドワークロードのダウンストリームの影響を軽減する


** 責任共有モデル [#z4c0577f]



- クラウド自体のセキュリティに対する責任は Amazon にある。
-- データセンター (リージョン、AZ、エッジロケーション)
-- ハードウェア、ネットワーク、仮想化基盤
-- プラットフォームとしてのソフトウェア
- クラウド内のセキュリティに対する責任はユーザーにある。
-- OS 内の構成
-- プラットフォームのアクセス権
-- データ


* コンピューティング [#i2a78c0a]

** 仮想サーバ [#z9e6c1cd]

*** Amazon EC2 [Elastic Compute Cloud] [#l3d17241]
- 仮想サーバ

- EC2-Classic
-- 従来型の EC2 インスタンス
-- 2013/12/4 以降に作成されたアカウントでは利用できない
- EC2-VPC
-- 新型の EC2 インスタンス
-- EC2-Classic よりも高度なネットワーク機能が利用できる
-- インスタンスタイプ
|ファミリー|世代|.|サイズ|h
|t|3|.|large|
- IP アドレス
-- EC2 インスタンスが起動するとプライベート IP アドレスと、パブリック IP アドレスが割り当てられる
-- プライベート IP アドレス
--- VPC のサブネットから DHCP でアサインされる
-- パブリック IP アドレス
--- 所謂グローバル IP アドレスで、プライベート IP アドレスとの NAT という形でアサインされる
--- (VPC の設定次第でプライベート IP アドレスのみにすることも可能)
--- 永続的ではないため、インバウンド通信には事実上利用できない
--- 永続的に使用したい場合は、Elastic IP を使用する必要がある
- Auto Scaling
-- スケールアウト、スケールインを自動で行う機能。
-- スケーリングポリシーを予め設定する。(最小台数、最大台数、発動する CPU 使用率など。)
-- ELB に組み込む場合、バランシング先は Auto Scaling グループを設定する。


** コンテナ [#yf746865]

+ コントロール プレーン
-- Amazon ECS
--  Amazon EKS
+ データ プレーン
-- Amazon EC2
-- AWS Fargate
+ レジストリ
-- Amazon ECR


*** Amazon ECS [Elastic Container Service] [#o545a7d4]

- EC2、Fargate 上に Docker コンテナ アプリを利用するサービス
- 昔は EC2 Container Service だったが、Fargate のリリースで名称が変更された?


*** Amazon EKS [Elastic Container Service for Kubernetes] [#jb1bba01]

- EC2、Fargate 上に Docker コンテナ アプリを利用するサービス
- Kubernetes の管理はユーザーが行う



*** AWS Fargate [#b14539d4]

- コンテナの実行環境。
- ECS, EKS と連携して使用する。
- EC2 の代わりにに使う。

*** Amazon ECR [Elastic Container Registry] [#z47a81e1]

- コンテナの起動元イメージの置き場所



** サーバレス [#wd430257]

*** AWS Lambda [#k3013aab]

- コンピューティング リソースを提供するサービス。
- サーバレス アーキテクチャを実現する。
- トリガされた場合にコードが実行される。
- Node.js, Java, C#, Go, Python
- EC2 は起動時間に応じた課金だが、Lamba はコード実行時間に応じた課金。


* ストレージ [#oeb09181]
*** インスタンス ストア [#w5773241]
- 物理サーバの内蔵ディスクから提供される。
- EC2 は別の物理サーバで起動される可能性があるため、EC2 インスタンスを停止するとデータ消える。
- 現在の主流は EBS だが、一部のインスタンスタイプでは使用することができる。

*** Amazon EBS [Elastic Block Store] [#uf170824]
- EC2 のデータストア
- EC2 の仮想サーバに対してブロック デバイスを提供する
- 容量、IOPS の指定が可能
- EBS は Elastic なので、別の EC2 インスタンスに付け替える事も出来る
*** Amazon S3 [Simple Storage Service] [#p5371cbf]
- オブジェクト ストレージ
- REST API でアクセスする
- Storage Gateway を契約することで、CIFS/NFS で使用することも出来る

- S3 を扱うためのサードパーティ製ソフトウェアが多数存在する
-- s3fs … ディスクとしてマウント出来る (Linux)
-- jetS3t
-- Cyberduck … FTP サーバのように使える (Windows/Mac)
*** Amazon Glacier [#y1b5db8b]
- 長期保管用、バックアップ用の低価格ストレージ
- いまは Amazon S3 Glacier として、S3 のストレージ クラスの一部になっている
- 0.01$/GB + 転送量課金


*** Amazon EFS [Elastic File System] [#x7cfb75d]
- NFS ストレージのフル マネージド サービス。
- 実体は VPC の外にあるが、サブネット内に ENI (マウント ターゲット) を作りそこからアクセスする。
- 0.36$/GB (標準ストレージ)


*** Amazon FSx [#f1d25862]
- ファイル サーバのフル マネージド サービス。
- 複数のファイル システムが選択できる。

- Amazon FSx for NetApp ONTAP
-- SMB、NFS、iSCSI でアクセス可能。
- Amazon FSx for OpenZFS
-- NFS でアクセス可能。
- Amazon FSx for Windows File Server
-- SMB でアクセス可能。
- Amazon FSx for Lustre
-- 独自プロトコルでアクセス可能。


*** AWS Storage Gateway [#g6ad7e47]



* データベース [#zde5974d]

*** Amazon RDS [Relational Database Service] [#m5b6fd83]
- RDBMS のフル マネージド サービス。
- DB 用の仮想マシンに各種 RDBMS を展開できる
- 自動バックアップ、スナップショット、プロビジョンド IOPS (性能保証型ストレージ) などが利用可能
-- Amazon RDS for MySQL
-- Amazon RDS for MariaDB
-- Amazon RDS for PostgreSQL
-- Amazon RDS for Oracle Database
-- Amazon RDS for SQL Server
-- Amazon Aurora MySQL 互換エディション
-- Amazon Aurora PostgreSQL 互換エディション

- RDS
-- Amazon が管理する EC2, EBS にインストールされるため、インフラ構成は自前で構築する場合と同じ
- Aurora
-- EC2 も利用可能だが、Serverless にすることも可能
-- ストレージは EC2 インスタンスから独立しており、10GB ごとに Protection Group に分けれれ、3AZ/6 Volume にレプリケーションされる
-- Global Database によりストレージ レイヤでマルチ リージョンでのレプリケーションが可能
-- (互換性のある) バージョンの選択肢は RDS より少ない
-- リクエスト数課金があり、RDS より 2 割程度高くなる
-- Single AZ でもストレージはレプリケーションされるため 10 分程度で復旧可能

*** Amazon DynamoDB [#f7672f29]
- NoSQL のフル マネージド サービス。
- MongoDB との互換性はない。(DMS での移行は可能)

** Amazon DocumentDB [#lbf7f132]
- NoSQL のマネージド サービス。
- MongoDB との互換性が高い。


*** Amazon ElastiCache [#n2329673]
- 分散メモリキャッシュ
- Memcached
- Redis
*** Amazon Redshift [#r6b76a98]
- DWH のフル マネージド サービス。
- SQL が使用できる。
- ParAccel の DWH ソフトウェアを利用している。


*** AWS DMS [Database Migration Service] [#gffaa6c5]
- データベースの移行サービス。
- 異なるデータベース エンジン間の移行にも対応している。



* 認証 [#va152709]

*** Amazon Cognito [#db2170bd]

*** Amazon SSO [#x934e885]


* CI/CD [#n7d6640f]

*** AWS CodeCommit [#q7c8403d]

*** AWS CodeBuild [#i8c66dff]

*** AWS CodeDeploy [#n866502e]




* PaaS [#wb7ae4d9]

*** Amazon API Gateway [#x9f6f76f]
- API のフル マネージド サービス。
- RESTful API、WebSocket API の作成が可能。
- AWS WAF のアタッチが可能。

*** Amazon EMR [Elastic MapReduce] [#k14c8192]
- Hadoop
- EC2 上に MapReduce の分散処理を実装できる
- ベースとなる EC2 の料金と EMR の料金が課金される
- データは S3 に保存する

* SxS [#kb496659]

*** Amazon SNS [Simple Notification Service] [#ibacfeb2]
- Push/Sub メッセージング サービス

*** Amazon SQS [Simple Queue Service] [#y31d2eb9]

- メッセージキューのフル マネージド サービス。


*** Amazon SES [Simple Email Service] [#k466739a]
- メール配信
- メール配信のフル マネージド サービス。


* SaaS [#jfcb9845]
*** Amazon Route 53 [#oa0ebc03]
- DNS
- ELB、S3 にマッピングされた エイリアス A レコードの場合は無料
- DNS フェイルオーバー


*** Amazon Time Sync Service [#f1ffeb06]
- NTP

*** Amazon Connect [#i0a90f56]
- 自動応答のコールセンター
- 予めフローを定義し、文章は Amazon Polly が読み上げる
- Salesforce などとの連携も可能
- 発着信数、通話時間への課金
*** Amazon CloudFront [#o6553843]
- CDN
- 独自 SSL、動的コンテンツをサポート
- POST、PUT などの HTTP メソッド利用可能
- Geo Restriction
- カスタム ヘッダから PC/SP/Tablet を判別可能
- 世界中に低遅延で配信することができる。
- AWS WAF のアタッチが可能。




*** AWS CloudWatch [#y6b56247]
- 監視サービス。
- 収集したメトリックを元に、アクションを起こす。


- 標準メトリクス
-- CPU 使用率
- カスタム メトリクス
-- メモリ使用率
- CloudWatch Logs
-- ログ

*** AWS CloudTrail [#ne29c06f]
- 監査目的のサービス。
- API のログを蓄積することで、AWS に対するあらゆる操作を記録する。

*** AWS Trusted Advisor [#j3cfef42]
- 5 つの観点でアドバイスをくれる。
++ コスト最適化
++ パフォーマンス
++ セキュリティ
++ フォールトトレランス (耐障害性)
++ サービスの制限


*** AWS IAM [Identity and Access Management] [#g26db77f]


- ルート ユーザー
- IAM ユーザー


* ネットワーク [#e91c3d4b]

** VPC [Virtual Private Cloud] [#df64ad31]

- AWS 上に定義する仮想のデータセンター
- 通常、一番最初に設定するが、デフォルトの VPC も存在する
- VPC の中に Subnet を作り、その中に EC2 インスタンスを作る
- 複数の AZ にまたがって定義することが出来る
- 作成時にネットワーク アドレスを設定する (/16~/28、作成後は変更不可)
- ユーザ拠点と IPsec によるインターネット VPN 接続することもできる


** Subnet [#oec1a1ea]

- VPC 内に作成する
- 作成時にAZ とネットワーク アドレスを指定する (~/28)
-- ネットワーク アドレス +1 は VPC ルータ、+2 は Amazon DNS、+3 は予約アドレス
-- ネットワーク アドレス +4 以降が利用できる
- ネットワーク ACL を設定できる

** Internet Gateway [#k49ac8f8]
- VPC からインターネットへの出口
- Internet Gateway を作成し、VPC にアタッチする

** VPC ルータ [#nb2091d4]
- 全てのサブネットは仮想ルータにより接続され、ルーティングされる
- 通常、ユーザーが意識することはない

*** Route Table [#g5d84978]
- VPC ルータのルーティング テーブル
- サブネット単位で作成される


** ENI [Elastic Network Interface] [#y3a1f432]
- EC2 に割り当てられるネットワーク インターフェース
- デフォルトで 1 つの ENI が割り当てられ、そこにプライベート IP アドレスが割り当てられる
- ENI を増やすことで、複数のネットワーク インターフェースを持たせることが出来る
- ENI は Elastic なので、別の EC2 インスタンスに付け替える事も出来る
-- 仮想 IP アドレスのような利用方法もある (Floating IP)
- セキュリティ グループの設定が可能

** EIP [Elastic IP] [#b44bbdc8]
- EC2 で利用するグローバル IP アドレス
- ENI に紐付けられる
- 固定的に割り当てることが可能
- 割り当てだけ行って、EC2 インスタンスに関連付けないと課金される





** ロードバランサ [#z586601e]

*** ELB [Elastic Load Balancing] [#y9ff512e]
- L4 の仮想ロードバランサ
- 複数の EC2 インスタンスにトラフィックを分散させる

*** ALB [Application Load Balancer] [#k8a53bbc]

- L7 の仮想ロードバランサ
- AWS WAF のアタッチが可能。



** 仮想プライベート ゲートウェイ [#saec3cc8]
- オンプレミスと AWS をインターネット VPN で接続する。
- サイト間 VPN 接続。


** AWS Direct Connect [#l45aab51]
- オンプレミスと AWS を専用線で接続する。
- ユーザ拠点と専用線で接続することにより、インターネットを介さず AWS への接続が可能になる。
- ユーザのルータを AWS Direct Connect ロケーションに設置し、AWS Direct Connect エンドポイントと接続する。
- AWS Direct Connect エンドポイントは仮想プライベートゲートウェイに接続する。
- パートナー サービスを使うことで、ルータを用意することなく AWS Direct Connect を利用することもできる。

* ネットワーク セキュリティ [#v89abf45]

** AWS Shield [#t3d7758b]
- DDoS 攻撃対策

** AWS WAF [Web Application Firewall] [#r5201d77]
- CloudFront、ALB、API Gateway に接続する。

** AWS GuardDuty [#zf9fd2b4]
- 脅威検知サービス。
- 機械学習を使用して脅威リスクを検知する。


** ファイアウォール [#if3723bf]

*** ネットワーク ACL [#s1faf00f]
- サブネットに設定する。
- デフォルトではインバウンド、アウトバウンドともに全許可。
- ステートレスであるため、逆方向のルールも定義する必要がある。
- ブラックリスト方式

*** セキュリティ グループ [#k3929d10]
- ENI に設定する。
- 仮想サーバ単位で利用可能なファイアウォールのようなもの。
- インバウンド/アウトバウンドの通信ポリシーを設定できる。
- ステートフルであるため、戻りの通信は意識する必要はない。
- 通信ポリシーは許可のみが設定できるホワイトリスト方式。(''拒否は設定できない'')
- デフォルトではインバウンドは全拒否 (= 未設定)、アウトバウンドは全許可。
- 設定は即時反映だが、すでに確立したセッションには影響はない。

*** AWS Network Firewall [#ra88dd77]


** AWS Certificate Manager [#s8d1a22b]
- SSL/TLS 証明書の管理サービス
- 証明書の取得、ELB / CloudFront などへのプロビジョニングが可能
- 基本は無料だが、プライベート CA を使う場合は有料


* コスト管理 [#z3300701]
** AWS Cost Explorer [#mbaaa2b5]
** AWS Budgets [#rc7c7739]

- 費用のしきい値を設定し、超えた場合にアラートを上げる。


* その他 [#h6a8cc72]

** AWS CloudFormation [#k9db9869]
- IaC (Infrastructure as a Code) のサービス。
- JSON や YAML 形式で作成されたテンプレートで AWS リソースを作成・設定する。







** AWS Outposts [#s1ef3e51]

- オンプレミスにAWSサービスを展開する。

#br
#adsense(728x90)
#br

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS