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、アクセス制御リスト
触ってみたいもの
ELB
EBS
というかこれはEC2のデフォだ
CloudWatch
CloudFront
VPCエンドポイント
S3とVPCのインスタンス繋いでプライベートな通信にする