Closed46
AWS Black Beltメモ ~AWS SysOps Administrator試験準備編~

AWS Certified SysOps Administrator - Associate 認定に向けて知識補充のためAWS Black Beltを視聴することにした。
参考

無事合格したのでクローズ

Amazon CloudWatch の概要と基本【AWS Black Belt】
メモ
- Observability:メトリクス、ログ、トレース が3本柱
- CloudWatch:Infrastructure, ApplicationMonitoring, Insight に分類
- メトリクス:p99,tm99などはハズレ値の影響を除外した統計量が得られる
- ディメンション:メトリクスを一意に識別する名前、値のペア
- CloudWatchAlarm - EventBridge連携で、StepFunctions, SystemManager等の後続処理をキックできる
- ユースケース:アラーム検知->メトリクス確認->ログ分析->原因特定
- CloudWatchLogsへのログ送信は設定によりログ発行するAWSサービスもある
ex) API Gatewayアクセスログ、StepFunctions実行履歴、Route53クエリログ など - CloudWatchLogsではなくS3に直接出力されるAWSサービスもある
ex) CloudFront, ALB, NLB - 統合CloudWatchエージェント:Logs, Metrics双方対応、クラウドオンプレ双方対応、Linux,Windows双方対応
- 従来のCloudWatch Logsエージェントは非推奨。Pythonのverが古いため。
- SSMエージェント導入:AWSオフィシャルイメージには導入済み、SSMAgent->SystemsManagerAPIへのアウトバウンドアクセスを許可する必要あり。SSMAgentがSSM APIに向けてポーリングするため。
- メトリクスフィルタの結果をあらたなメトリクスにできる
- アカウント横断での監視も可能
- ClourWatch RUM: エンドユーザの動態分析が可能
- CloudWatch Lambda Insights: デフォルトに追加でメトリクスを取得
CPU時間、メモリ、ディスク、ネットワーク使用率、コールドスタートなど
Lambda Layerとして提供される拡張機能を有効にするだけで使用可能になる。 - CloudWatch Syntheticsでサービスの死活監視ができる

【AWS Black Belt Online Seminar】Amazon VPC
メモ
- 典型的構成はVPCウィザードで構築可能
- アドレスブロックは作成後変更不可。追加は可能。
- VPCあたりのサブネット作成上限は200個。なのでサブネットマスクは/24(256個)が無難。
- サブネットで利用できないIPアドレスは5個ある。.0, .1, .2, .3, .255
- IGWはVPCにアタッチ
- セキュリティグループはインスタンス単位で設定。デフォルトではすべて遮断。ステートフルなのでIn/Outが連動して設定される。
- ネットワークACLはサブネット単位。デフォルトではすべて許可。ステートレスなのでIn,Outを個別に設定。
- Ingress Routing: VPCに出入りする全トラフィックを特定のEC2インスタンスに経由させる。IDS/IPSやFirewallを効果的に実行可能。
- Amazon Time Sync Service: NTPサーバのIPアドレスとして所定の値を設定するだけで利用可能。
- VPC Traficc Mirroring: パケット単位のデータを確認できる
【VPCからAWSリソースへアクセスする方法の整理】
◆ パブリックサブネット
- 直接インターネット経由(IGW)でアクセス可能(パブリックIP必須)
◆ プライベートサブネット
- NAT Gateway経由でインターネット上のAWSサービスにアクセス
- S3やDynamoDBなら VPC Endpoint(Gateway型)で IGW/NAT不要
- PrivateLink(Interface型)対応サービスなら、VPC内のENI経由でアクセス可能(IGW/NAT不要)
◆ PrivateLink(Interface型 VPC Endpoint)
- 対象:一部のAWSサービス、SaaS、カスタムサービス(別アカウントVPCなど)
- 特徴:VPC内にENIを配置し、AWS内部ネットワークでセキュアに通信

Amazon EventBridge Scheduler【AWS Black Belt】
メモ
- at-least-onceの信頼性のある配信を保証
- ユースケース例:ユーザが解約したら解約処理をスケジューリング など
- EventBridgeスケジュールルールの上位機能という位置づけ。APIとしてはエンドポイントが異なる。
- タイムゾーン、サマータイムを考慮したリージョンでのサマータイムの考慮が可能
- One-timeで秒を指定しても切り捨てられる。
- フレックスタイムウィンドウ:ランダムに実行タイミングを分散させる。過負荷を防ぐため。
- 呼び出すAPIの実行権限をIAMロールで指定する必要あり
- デッドレターキューを設定する場合、IAMロールにsqs:SendMessage権限を付与する必要あり
- 呼び出した回数などCloudWatchでモニタリング可能

AWS Trusted Advisor【AWS Black Belt】
メモ
- Business以上のサポートプランに加入することで使用可能
- セキュリティの一部、サービスの上限に関するチェック項目はBasic, Developerでも使用可能
- 組織ビューは管理アカウントでのみ使用可能
- EventBridgeと連携する場合、バージニア北部リージョンを選択する。TrustedAdviserがグローバル・サービスなので。

【AWS Black Belt Online Seminar】Amazon EventBridge
メモ
- イベントで連携することで機能をアプリケーションとして分割できる
- デフォルトイベントバスはAWSのシステム的なイベント、カスタムイベントバス、パートナーイベントバスは業務的なイベント送信で利用する
- 組織間のイベント連携はSNSよりもEventBridgeが適している
- 1つのルールで5つまでターゲットを指定可能
- アクセス制御
イベントバスへのアクセス制御:誰がアクセスできるか
ルールへのアクセス制御:どのターゲットをアクセスできるか
リソースポリシー:Lambda, SNS, SQS, CloudWatch Logs
IAMロールにポリシーをアタッチ:上記以外 - クロスアカウント連携ではイベントバス間で連携すると疎結合になる
- 受信したイベント数に対して課金される。AWSイベントは無料。

[AWS Black Belt Online Seminar] Amazon CloudFrontの概要
メモ
- DNSの仕組みでクライアントに一番近いエッジのIPアドレスを取得できる
CloudFront DNSは位置情報DBと紐づけられている - ディストリビューション:ドメイン毎に割り当てられるCloudFrontの設定
CNAMEエイリアスで独自ドメイン名の指定が可能 - キャッシュ無効化は数秒~1分程度で完了する仕組みとなっている
- ビヘイビア:キャッシュ動作
- 地域制限も可能
- CloudFrontのCloudWatchメトリクスはバージニア北部リージョンに出力される
- Lambda@Edgeでコンテンツ生成や画像リサイズなどが可能
- Lambda@EdgeのメトリクスはCloudFront Reports&AnalyticsのMonitoringから確認可能

Amazon EC2 Auto Scaling 入門編【AWS Black Belt】
メモ
- 用途
指定キャパシティの維持
条件に応じた自動スケール - AZ間で均等にインスタンスを配置しようとする
- 利用手順
起動テンプレートの準備
AutoScalingグループの作成
自動スケールの設定(スケーリングポリシーの作成) - 複数のインスタンスタイプを指定できる
- グループメトリクスを有効にするとASG内の台数をCloudWatchで確認可能

【AWS Black Belt Online Seminar】AWS Identity and Access Management (AWS IAM) Part1
メモ
- 脆弱性診断フォームの提出はルートユーザ認証が必要
- アクセスキーはユーザごとに最大2つ持てる。ローテーションのため。
- ルートユーザのアクセスキーが漏洩するとアカウントを乗っ取られる。アクセスキーは削除するべし。
- アクセスキー漏洩で乗っ取られると大量のインスタンスを立ち上げられてマイニングに悪用されるなどの例がある
- ACLはリソースにアクセスできる別アカウントのプリンシパルを管理するために使う
- 管理ポリシーは再利用可能
- インラインポリシーはIAMエンティティに直接埋め込むので再利用不可能。管理の観点からもカスタマー管理ポリシーの使用が推奨されている。
- カスタマー管理ポリシーはAWS管理ポリシーでは要件を満たせない場合に使う
- Version要素を含めない場合、ポリシー変数を処理できなくなる。
- Principal要素はリソースベースのポリシーで使用する。アイディンティティベースのポリシーでは使用しない。
- Principal要素にIAMグループやワイルドカードは指定できない
- Action要素はAWSサービス固有。ポリシーエディタから選択すると探しやすい。
- Condition要素もAWSサービス固有。ドキュメントを確認する必要あり。
- 明示的なDeny > 明示的なAllow > 暗黙的なDeny(デフォルト)
- 同一アカウント内の場合リソースベースポリシーはOR条件で判定される
Principal要素に指定したエンティティであればアイディティティベースのポリシーがなくても使用可能 - クロスアカウントの場合リソースベースポリシーはAND条件で判定される
- IAMグループはIAMユーザ個別のアクセス付与を効率化するための位置づけ

【AWS Black Belt Online Seminar】AWS Identity and Access Management (AWS IAM) Part2
メモ
- 一時的なセキュリティ認証情報 は下記から構成される
アクセスキーID
シークレットアクセスキー
セッショントークン - クロスアカウントアクセスの際、IAMロールで一時的な認証を取得し、アクセスできる
- IDフェデレーション:ActiveDirectoryなどに社員の認証情報が管理されている場合に、わざわざIAMユーザを作成しなくてもすむ仕組み。
- アクセスアドバイザー:最後にAWSサービスにアクセスした日時を表示する=>不要なユーザを検出できる

【AWS Black Belt Online Seminar】AWS CloudTrail
メモ
- いますぐやるべきこと
すべてのAWSリージョンでCloudTrailを有効化しログをS3に保存する。
Amazon GuardDutyの有効化 - Organizationsと連携:CloudTrail統合の設定、組織内のすべてのアカウントについて有効化 を明示的に実施する必要あり
- ログファイルの整合性検証を有効にすると改ざん検知できるようになる、検証はCLIで実行する
- Configルールとの連携も活用すると良い
- 管理イベントの配信は2つ目から有料
- データイベント、インサイトイベントの配信はすべて有料
- イベントセレクターでコスト最適化が可能
- イベント履歴は過去90日 管理イベントのみ参照、ダウロード可能。クエリを使った検索はできない。
- Athenaテーブルを作成 でTloudTrailの調査に適したテーブルを簡単に作成可能
- AssumeRoleイベントのログからユーザを特定できる可能性が高い

【AWS Black Belt Online Seminar】AWS Config
メモ
- 構成変更のログはデフォルトで7年保持
- 設定タイムラインから構成の変更や実施したユーザを確認できる
- コミュニティベースでルールの例が公開されている
- グローバルリソースは1リージョンで記録を有効にする。重複記録を防止する。
- マルチアカウントの場合、構成間利用のアカウントで一元管理する
アグリゲータを作成し、管理対象のアカウントを指定して追加する - 集約ビューでアカウント、リージョンごとの状況を一覧できる

Amazon EC2 Auto Scaling 複数のインスタンスタイプと購入オプションの活用編【AWS Black Belt】
メモ
- オンデマンド、リザーブド、スポット が混在した状態で分散比率を設定できる
- スポットインスタンス活用のベストプラクティス: 異なるインスタンスタイプ、キャパシティ最適化
- どのインスタンスタイプを起動するかは配分戦略で決める
- capacity-optimized配分戦略では各AZでの空きが最も多いインスタンスから起動対象が選択される

Amazon EC2 Auto Scaling スケーリングポリシーとおすすめ機能編【AWS Black Belt】
メモ
- 予測スケーリング機能では本当にスケーリングするのではなく予測値のみを表示する機能もある
- スタンバイ状態にするとヘルスチェック対象からも外れる
- デタッチはRunning状態を保持したままAutoScalingグループから外れる

Elastic Load Balancing【AWS Black Belt】
メモ
- ELB自体も自動でスケールする。なのでIPアドレスが増減する。アクセスする際はDNS名でアクセスする。
AZごとに1つ以上のノードがある。NLBはAZにつき1つ固定。FQDNを名前解決すると複数のAレコードが返却される。クライアントはこのどれかを使用する。これによりELB自体の負荷が分散される。 - ルーティングアルゴリズム:ALBは2種類、NLBは1種類。
- スティッキーセッション:ALBは2種類のCookie方式(ロードバランサで生成orアプリで生成)、NLBはIPアドレスベース。
- ACMの証明書を使用すると自動更新されるので失効の心配がない
- NLBはスパイクに備えた暖気申請が不要
- Firewallの制約でIPアドレス直指定が必要なケースでNLBの固定IPアドレスという特性が有用
- NLBのターゲットのALBを指定できる。ALBを使いたいが固定IPアドレスが必要なケースで使う。
- 利用時間に加えてLCUという指標で課金される

[AWS Black Belt Online Seminar] Amazon EC2入門
メモ
- スポットインスタンスが終了する場合2分前に通知が来る。

AWS EC2 スポットインスタンスの基礎【AWS Black Belt】
メモ
- スポットインスタンスの価格はAZごとに異なる。空き具合が異なるため。
- 高度な詳細の購入オプションでスポットインスタンスにチェックをつけるとスポットインスタンスとして起動できる

【AWS Black Belt Online Seminar】Amazon EC2
メモ
- EC2のシステム基盤をAWS Nitro Systemと呼ぶ
- プロセッサによってコストが異なる Intelが最も高い
- 特定のインスタンスタイプではバースト可能。その際CPUクレジットを消費する。
- 汎用インスタンス使い分け
T3: 時々高いCPU使用率のワークロード
M5: バランス
A1: 複数コア、複数インスタンスをスケールアウト - インスタンスストアは揮発的、EBSは不揮発
- EBS最適化ありにするとEBS専用のネットワークを確保する
- CPU最適化オプション
HT無効化:vCPU数に応じたライセンスが発生する場合など
起動後の変更はできない - ハイバネーション:メモリ状態をディスクに書き出したうえでインスタンスを停止
- EC2 Fleet: 1回のリクエストで大量のオンデマンド、スポットインスタンスの起動が可能

AWS CloudFormation#1 基礎編【AWS Black Belt】
メモ
- 追加料金不要で利用可能
- テンプレートはJSON, YAML両方に対応
- リソース間に依存関係があれば自動的に作成・削除の順番を判断する
- 既存AWSリソースをテンプレートとしてインポートすることも可能

AWS CloudFormation#2 基礎編【AWS Black Belt】
メモ
- 依存関係がない場合、リソースの作成は並行して行われる
- 動的参照
AWS SystemsManager(SSM)のParameter Store:
平文 String/StringList {{resolve:ssm:[parameter_name]:[version]}}
暗号化 SecureString {{resolve:ssm-secure:[parameter_name]:[version]}}
AWS SecretsManager:
保存されているすべてのシークレット、特定のシークレット
{{resolve:secretsmanager:[secret-id]:[secret-string]:[json-key]:[version-stage]:[version-id]}}
例:{{resolve:recretsmanager:MyRDSSecret:SecretString:username}} - SSMのパラメータを更新したらスタックにもその更新を反映させる必要がある
- ネストされたスタック、クロススタック など複数スタックの組み合わせ管理手法がある
- StakSets: クロスアカウント、クロスリージョンで同様のスタックを構築する

【AWS Black Belt Online Seminar】AWS Service Catalog
メモ
- CloudFormationテンプレートをカタログ管理する機能
- カタログに登録されたポートフォリオ(テンプレートでプロビジョニングされる製品群)を使用してデプロイするに当たって、製品の起動制約としてユーザに権限が付与されていれば各AWSリソースを操作する権限の付与は不要。
- 制約はポートフォリオを製品の組み合わせで設定する
- 動的に制約を追加することも可能
設定されたVPC内でのみ起動を許可する場合などに活用できる

AWS Systems Manager Overview 【AWS Black Belt】
メモ
- ハイブリッドクラウド環境も対象としている
- SSMの管理対象とするためにはマネージドノードにする必要あり
SSM Agent導入(オフィシャルなAMIは導入済み)
アウトバウンド経路を確保
権限付与(ロールを明示的に付与 or DHMCを有効にする) - ベストプラクティスの展開・維持、可視化、プロアクティブな自動化、問題の修復
- マッチ適用ポリシーを指定して自動でパッチ更新できる
- カスタムな自動処理はRunbookをAutomatonで自動実行
- 変更管理はChange Managerで可能
- インシデント管理はIncident Managerで可能

【AWS Black Belt Online Seminar】AWS Cost Explorer
メモ
- 使用するにあたって有効化する必要あり
Organizationsの場合は親アカウントで有効化する - 料金だけでなく使用量も確認できる
サービスごとのデータ転送量を把握できたりする - リザーブドインスタンス、SavingPlansでのカバレッジを確認できる

AWS Budgets【AWS Black Belt】
メモ
- ゼロ支出予算 のテンプレートを使用すると無料利用枠を超えた場合の通知を設定できる
- コスト予算に対してだけでなく、使用量、SavingPlans, リザーブドインスタンスの使用率などに対してもアラートを設定できる
- 償却コスト:リザーブドインスタンスを按分して集計
- 通知はアラートメール、SNSトピック, AWS Chatbotなどと連携可能

【AWS Black Belt Online Seminar】Amazon Relational Database Service (Amazon RDS)
メモ
- 35日以上バックアップを保持したい場合はスナップショットを使う
- スナップショットのコピー
リージョン間、同一アカウント:可能
リージョン間、別アカウント:不可
一旦同一アカウント別リージョンでコピーし、当該リージョン内で別アカウントにコピーする
もしくはコピー元リージョンでアカウント間共有しておく - 自動スナップショットはDBインスタンス削除と同時に削除される
手動スナップショットは削除されない - 拡張モニタリングで最短1秒間隔でメトリクスを取得可能
- ログは一定期間保持される、永続的に保持したい場合CloudWatchLogsに発行する

Amazon Simple Storage Service (Amazon S3) 入門編
メモ
- 最低3つのAZで冗長化されている
- 一つのアカウントで100個まで作成可能、超える場合増加リクエストする必要あり
- オブジェクトの最大サイズは5TB
- フォルダの概念はあるが、実際にはフラットな階層
- プレフィックスはキーの先頭から任意の長さを指定可能。これによりパーティションを設けられる。
- S3 File Gateway経由とすることでS3をファイルシステムとして扱える

Amazon Simple Storage Service (Amazon S3) ユースケース編【AWS Black Belt】
メモ
- オンプレの既存環境の変更を許容できないケースではS3FileGatewayやDataSyncAgentの導入によりS3へのファイルコピーを実現できる
- StrageGatewayはオフィスアプリのファイルサーバとしては適さない。
- S3のWebサイトエンドポイントはHTTPSをサポートしていない。HTTPSをサポートする場合、CloudFrontと組み合わせる。

Amazon Simple Storage Service (Amazon S3) セキュリティ編【AWS Black Belt】
メモ
- SSE-KMSでの暗号化を設定したバケットは、S3サーバーアクセスログの送信先に指定できない
SSE-S3を設定したバケットは指定可能 - 別アカウントのS3にアクセス許可する方法は2パターン
バケットポリシーとアクセス元アカウントのIAMポリシーの両方で許可
アクセス先アカウントでアクセス許可のIAMロールを作成し、アクセス元アカウントに提供 - アクセスポイントを利用する場合、バケットポリシー、アクセスポイント両方でリクエストを許可する必要あり

Amazon Simple Storage Service (Amazon S3) データ保護編【AWS Black Belt】
メモ
- バージョニングした場合、各バージョンの合計データサイズに基づき課金される。差分ではない。
- オブジェクトロックはバージョニングを有効にしたバケットのみ適用可能
- 保持期間とリーガルホールドは独立している
- バックアップの対象となるバケットはバージョニングを有効化する必要あり
- 差分バックアップではなく、増分バックアップ 1GBのうち1KB変更したとしても1GB分のバックアップとなる

Amazon Simple Storage Service (Amazon S3) コスト最適化編【AWS Black Belt】
メモ
- ストレージ料金が安いストレージクラスはデータ取り出しやライフサイクル移行時に課金される
- メタデータ分のストレージ料金を削減するため、複数データを圧縮してからS3に保存するのは有効な手段

【AWS Black Belt Online Seminar】Amazon Aurora MySQL Compatible Edition ユースケース毎のスケーリング手法

- コピーの分は課金されない
- リードレプリカの更新ラグは40ms程度
- リードレプリカへの振り分けはアプリ責務
- 分割方法
垂直分割:テーブル単位で分割
水平分割:同じテーブル構成でレコードを分割 シャーディングと呼ばれる

【AWS Black Belt Online Seminar】 AWS Site-to-Site VPN

- VGWは内部的に冗長化されている
- TGWも冗長化されている
- CGW: 主要ベンダーのサンプルコンフィグをマネコンからダウンロード可能
- VPN構築のハンズオン資料がある

Amazon CloudFront レポート / モニタリング / ロギング編【AWS Black Belt】

- レポートは過去60日のデータを保持
- トップリファラーも確認できる
- メトリクスデータは15ヶ月保存
- キャッシュヒット率は追加メトリクスを有効化すると確認できる
- アラームを作成してSNSと連携できる
- リアルタイムログ、Amazon Managed Grafana, CommonMediaClientDataを組み合わせると動画配信のユーザ体験監視ダッシュボードを作れる

AWS Certificate Manager【AWS Black Belt】

- ELB, ClourFront, APIGatewayなどでデプロイできる
- パブリック証明書の有効期限は13ヶ月
- ドメイン検証はDNS検証のほうが運用負荷が小さい。Eメール検証は更新時に都度対応が必要となる
- EventBridgeで有効期限切れを検知可能 45日前からイベント発火
- DaysToExpiry:有効期限が切れるまでの日数
- 証明書の発行数に上限がある。CloudFormationで複数環境を構築する際に留意する必要あり。

AWS Secrets Manager【AWS Black Belt】

- 自動ローテーション:RDSなどは自動でDB側の認証情報も更新できる。その他はLambdaと連携してサービス側の認証情報の更新をSercretsManagerに反映する。
- KMSと連携しエンベロープ暗号化している
- タグや名前フィールドは暗号化されない。ここに機密情報を使わないように留意。

[AWS Black Belt Online Seminar] AWS Managed Microsoft AD
このスクラップは3ヶ月前にクローズされました