SAA周りの技術調査・実際に触ってみる
https://scrapbox.io/files/676a17c27e3f7d8903e1e368.png
コンピューティング
セキュリティグループ
ステートフル
許可した戻りは自動許可
ACL
ステートレス
自分で設定
ネットワークアドレスとは
IPアドレスの中で「ネットワークを識別する部分」のこと
192.168.1.0/24のネットワークなら「192.168.1.0」がネットワークアドレス。
IP余談
code:plain
255.255.255.0 を2進数に変換する
255 → 11111111
255 → 11111111
255 → 11111111
0 → 00000000
全体で 32ビット中、最初の24ビットが「1」 になっている。
つまり /24 が サブネット(を判定する)マスク ということ。
VPCエンドポイント
VPC内のリソースからAWSサービスへのアクセスをプライベートネットワーク内で行う
S3自体をVPCの中に直接「置く」ことはできない(よく分かってなかった)
S3はAWSのマネージドサービスであり、物理的にはAWSのグローバルインフラストラクチャに存在する
RAM
リソース共有
https://scrapbox.io/files/676a1edc76189c1a6faf885f.png
/emoji/tea.icon DataSyncとかもそうだけど、オンプレと同期とったり連携したりするサービスが目立つ
移行とかありそうだもんな
AMI
EBSのスナップショットが含まれる
なんでスクリプト実行サービスが「ユーザーデータ」なのか
/emoji/tea.icon メタデータに対して、という意味かユーザーのデータを使えるよということを示したかったからか?
気になった
「ユーザーデータ」と呼ばれる理由(ChatGPT
AWS EC2の「ユーザーデータ (User Data)」という名前の由来は、インスタンスをカスタマイズするためにユーザーが提供するデータとして設計されていることから来ています。
1. 「ユーザーによるデータ」という意味合い
システムが提供する標準設定ではなく、インスタンスを起動する際にユーザーが独自に指定するデータやスクリプトであるため、この名前がつけられています。
このデータは、インスタンスの初期設定やカスタマイズに使われ、ユーザー固有の要件に基づいて提供されます。
2. データの柔軟性を示す
「ユーザーデータ」という名称は、その内容が固定的ではなく、ユーザーが自由に決定できることを示しています。
例えば、スクリプトだけでなく、構成ファイルやパラメータも含めることができるため、「スクリプト」という限定的な名前ではなく「データ」と呼ばれています。
3. 他のAWSメタデータとの区別
EC2インスタンスには「メタデータ」と呼ばれる、AWSが提供するシステム情報(例: インスタンスID、アベイラビリティゾーンなど)もあります。
「ユーザーデータ」は、それに対してユーザーが設定した情報という点で対比される命名です。
なぜ「スクリプト」ではなく「データ」なのか?
「ユーザーデータ」として提供する内容は、スクリプトに限定されません。
例: Cloud-Initで解釈されるYAMLファイル、設定値だけを含むJSONデータなど。
API Gateway
前よくわからなかったやつだ。
ローカルとLambdaとの間に入れる。
API Gatewayは、Lambda関数をHTTP(S)リクエストで呼び出すためのエンドポイントを提供します。例えば、Webアプリやモバイルアプリからデータを送信・取得したい場合に、API Gatewayを使えば外部システムが直接リクエストを送れるようになります。
例: ローカルでLambdaを実行すると、CLIやSDKを使ったスクリプトから呼び出せますが、外部サービスやユーザーが直接アクセスするには不向きです。
この辺りもできる
AWS IAM認証やCognitoを使ったアクセス制御。
APIキーによるアクセス制限。
WAF (Web Application Firewall)を利用した不正アクセス防止。
/emoji/tea.icon Lambdaってそれ自体でエンドポイント作れないんだ。勘違いしていた
Fargate/ECS/EKS
セットで覚えよう
ストレージ
ACL
Access Control List、アクセス制御リスト
データベース
Aurora
3つのAZに2つDB配置してくれる
2つのAZのは読み取り専用
通知系
SQSとSESのそれぞれはわかるけどどう使うのか
SQSとSESを組み合わせる例
ユースケース: メール送信を非同期処理にする
ユーザーがフォーム送信 → メール送信リクエストをSQSにメッセージとして格納。
メール送信バッチサーバーがSQSのメッセージを取得。
メッセージの内容をもとにSESを使ってメール送信を実行。
SNS
メッセージ配信パブリッシュ(公開)
サブスクライブ(購読)
pub/sub
Eventbridge
インスタンスの停止などをフックに何かできるなど、イベントを補足する
構成管理
CloudFormation
よく聞く
json, yaml
運用管理
CloudWatch
5分間隔なら無料
EventBridge と CloudWatch Events の違い
AWS EventBridge と CloudWatch Events はイベント駆動型のアーキテクチャを支えるサービスですが、EventBridge は CloudWatch Events の進化版です。EventBridgeは外部のAPIとかも動かせる。
まとめ
https://scrapbox.io/files/677f6604dcf7f32450424a29.png
RDSはAZだ
NATゲートウェイが「AZ内では冗長化しているが、AZ間では冗長化されていない」
1. NATゲートウェイの冗長化の仕組み
AZ内での冗長化:
NATゲートウェイはデフォルトで同一のAZ内で複数の内部リソースを使って冗長化されています。
結果として、単一のNATゲートウェイがハードウェア障害に強い構成になっています。
AZ間では冗長化されない理由:
NATゲートウェイは特定のAZ内に配置されるため、別のAZにあるリソースは同一のNATゲートウェイを経由できない構造です。
そのため、AZ間の障害に備えるためには、各AZにNATゲートウェイを配置する必要があります。
https://scrapbox.io/files/67b9162dae46968a432d2e5a.png
セキュリティグループは再起動不要
リージョンとアベイラビリティゾーン
リージョンの中にAZ
2章
コンピューティングと高可用性
クールダウン
オートスケーリングの待ち時間
障害が起きた時
ELBからEC2へのヘルスチェックが落ちるっぽい
ほとんど書籍上にメモした
3章
AWSにおけるパフォーマンス
CloudFront
知らなかったのは、サーバーを2つ経由してからオリジンに行くこと
エッジロケーションと
リージョン別エッジキャッシュ
そしてそこにキャッシュがないと、オリジンサーバーまでアクセスしてくれる
フィールドレベルの暗号化とかもできる
プレイスメントグループ
初めて知った
アベイラビリティーゾーン内でインスタンスをまとめます。この戦略により、ワークロードは、ハイパフォーマンスコンピューティング (HPC) アプリケーションで典型的な緊密に組み合わされたノード間通信に必要な低レイテンシーネットワークパフォーマンスを実現できます。
パーティション
インスタンスを複数の論理パーティションに分散させ、1 つのパーティション内のインスタンスのグループが基盤となるハードウェアを別のパーティション内のインスタンスのグループと共有しないようにします。この戦略は、Hadoop、Cassandra、Kafka などの大規模な分散および複製ワークロードで一般的に使用されます。
スプレッド
相関性のエラーを減らすために、少数のインスタンスを基盤となるハードウェア全体に厳密に配置します。
スプレッドは電源もネットワークも別
4章
SSO
Web ID フェデレーション
外部の ID プロバイダー(IdP)を使用して、AWS のリソースに一時的な認証情報でアクセスできる仕組みです。
ネットワークACLはステートレス
1回のリクエストが許可されても、そのレスポンスが許可されているかどうかは自動的には評価されない
なので両方を制御できる
問題メモ
AWS Glue
分析を行うユーザーが複数のソースからのデータを簡単に検出、準備、移動、統合できるようにするサーバーレスのデータ統合サービスです。
サーバーレス
サーバーレスの「レス」って何がなくなるの?
サーバーレス(Serverless)っていうのは 「サーバーがない」のではなく、「サーバーの管理が不要」 という意味で使われる。
例えば、従来の EC2(仮想マシン)やVPS(レンタルサーバー) を使うときは、こんな作業が必要だった:
インスタンスを作る(CPUやメモリのサイズを選ぶ)
OSやミドルウェアをインストール(Ubuntu, Ruby, PostgreSQL など)
セキュリティアップデートの管理(OSの更新、パッチ適用)
スケールの管理(アクセスが増えたらサーバーを増やす・減らす)
サーバーの死活監視(落ちたら復旧させる)
でも、Cloud Run(サーバーレス)では、こういう「サーバー管理の仕事」が全部なくなる!
だから "Serverless"(サーバーレス) って呼ばれてる。
触ってみたいもの
ELB
EBS
というかこれはEC2のデフォだ
CloudWatch
無料で試せる
CloudFront
VPCエンドポイント
S3とVPCのインスタンス繋いでプライベートな通信にする
CloudFormation
Web ID フェデレーション
ログインを試す
IAM
アカウント発行して安全にログインできるか試したい