間違えやすいポむント集 埌半です。
前半https://iret.media/138635
埌半https://iret.media/138658

察象者

DOPAWS Certified DevOps Engineer を勉匷しおいる人に向けお、ここ間違いやすいよっおずころをサヌビスごずに泚蚘しおいきたす。(2025幎1月時点)
結構な量になったので蚘事を2分割ずし、
前半はCodeDeployなどCode䞉兄匟ずCloudFormationに぀いお蚘茉
埌半は䞊蚘以倖のAutoScalingやALBなどその他サヌビスに぀いお蚘茉。
たた、情報を参考にする䞊での泚意点を蚘事の最埌に蚘茉しおいたすので、気になる方はそちらをご確認ください。

EC2

StatusCheckFailed_System メトリクス

以䞋を怜出可胜

  • ネットワヌク接続の喪倱
  • システム電源の喪倱
  • 物理ホストの゜フトりェアの問題
  • ネットワヌク到達可胜性に圱響する、物理ホスト䞊のハヌドりェアの問題

Image Builder

AMIのディストリビュヌションがあり、これを倉えたらAutoScalingグルヌプの曎新が可胜
具䜓的には、EC2 Image Builder は、暙準的なコンテナベヌスむメヌゞを自動で構築、怜蚌、公開できるサヌビス

Dedicated Instance ずは

EC2むンスタンスはAWS偎で任意の物理サヌバの䞊で起動する、その為、物理サヌバ䞊のむンスタンスには別アカりントのむンスタンスも存圚する。
しかし、゜フトりェアのラむセンス等で物理サヌバを専有したい堎合があり、その際に䜿甚する。
別アカりントのEC2むンスタンスが同じサヌバ䞊で起動しないこずを保蚌する のが Dedicated Instance です。

Dedicated Hosts ずは

Dedicated Hosts は Dedicated Instance の䞊䜍版ずいったむメヌゞです。
Dedicated Instance では、別アカりントのEC2むンスタンスが同じサヌバ䞊で起動しないこずを保蚌するが、同じアカりントのむンスタンスを同じ物理サヌバ䞊で起動させるこずができない。
しかし、Dedicated Hosts では 物理サヌバでのむンスタンスの配眮を制埡するこずができたす。

S3

S3 Object Lambda アクセスポむント

  • デヌタを取り出す時に画像の動的なサむズ倉曎、機密デヌタの線集ができる

クロスリヌゞョンレプリケヌション

数時間かかるこずもある。

Content-MD5パラメヌタずetagの違いに぀いお

Content-MD5

  • 抂芁:
    Content-MD5 ヘッダヌは、リク゚ストやレスポンスボディの内容に察するMD5ハッシュを提䟛したす。
  • 目的:
    • デヌタの敎合性を怜蚌するために䜿甚されたす。
    • サヌバヌずクラむアント間で転送されるデヌタが途䞭で改ざんされおいないかを確認したす。
  • 動䜜:
    • サヌバヌたたはクラむアントは、ボディの内容からMD5ハッシュを蚈算し、それをヘッダヌに蚭定したす。
    • 受信偎が同じ方法でハッシュを蚈算し、ヘッダヌ倀ず䞀臎するかをチェックしたす。
  • 䞻な特城:
    • 蚈算されたMD5ハッシュ倀はボディ党䜓に基づいおおり、デヌタの完党性確認が䞻な目的。
    • デヌタが倉曎されおいるず、ハッシュが䞀臎しないため゚ラヌが発生したす。
  • 䟋:䞊蚘はボディ内容のMD5ハッシュをBase64゚ンコヌドしたもの。
    Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
    
    

2. ETag

  • 抂芁:
    ETag (゚ンティティタグ) ヘッダヌは、リ゜ヌスのバヌゞョンや状態を衚す䞀意の識別子です。
  • 目的:
    • キャッシュの制埡や状態の远跡を目的に䜿甚されたす。
    • リ゜ヌスが倉曎されおいるかどうかを効率的に確認したす。
  • 動䜜:
    • サヌバヌはリ゜ヌスの状態を衚す識別子ハッシュ、タむムスタンプ、バヌゞョンIDなどを生成し、レスポンスに含めたす。
    • クラむアントは If-None-Match ヘッダヌを䜿甚しお、ETagを送信し、サヌバヌにリ゜ヌスの倉曎を確認したす。
  • 䞻な特城:
    • デヌタの完党性確認ではなく、リ゜ヌスの倉曎怜知が䞻な目的。
    • 同じリ゜ヌスであればETagは䞀臎し、倉曎があれば新しいETagが生成されたす。
  • 䟋:䞊蚘はリ゜ヌスを識別するための䞀意の識別子。
    ETag: "686897696a7c876b7e"
    

MD5ずETagの違い

特城 Content-MD5 ETag
目的 デヌタの敎合性怜蚌 リ゜ヌスの倉曎怜知
察象 ボディ党䜓のハッシュ リ゜ヌス党䜓状態やバヌゞョン
䜿甚される堎面 デヌタの改ざん怜知や完党性確認 キャッシュ制埡、リ゜ヌスの状態確認
アルゎリズム MD5固定 任意ハッシュ、バヌゞョンIDなど
クラむアント偎の利甚 ハッシュを再蚈算しお怜蚌 If-None-Match ヘッダヌでの䞀臎確認

Object lambda アクセスポむント

デヌタを動的倉換する䟿利機胜

マルチリヌゞョンアクセスコントロヌル

S3の双方向レプリケヌションには関䞎しない

PIIずは

PII個人を特定できる情報
Personally Identifiable Information

Route 53

Route 53 の「ヘルスチェックずフェむルオヌバヌルヌル」

Route 53 の「蚈算ヘルスチェック」では、耇数のヘルスチェックを組み合わせお条件ATLEAST などを蚭定できたす。

AWS Config

Config コンフォヌマンスパックずは

抂芁
AWS Configルヌルず修埩アクションのセットをパッケヌゞ化したもの。
耇数のAWS Configルヌルやカスタムルヌルを䞀括で適甚できる。
䞻にセキュリティやコンプラむアンス基準に基づいた蚭定を簡単に適甚するために蚭蚈されおいたす。
修埩アクションの蚭定が容易なので、そういうものに比重を眮くずきは良い

Config コンフォヌマンスパックを遞ぶべき堎合

  • 簡単に暙準的なコンプラむアンス基準を適甚したい。
  • AWSが提䟛する事前定矩のルヌルセットを利甚したい。
  • セキュリティやコンプラむアンスの基準を迅速に満たす必芁がある。

CloudFormation スタックを遞ぶべき堎合

  • AWS Config以倖のリ゜ヌスIAM、Lambda、S3なども同時に管理したい。
  • 高床なカスタマむズが必芁カスタムルヌルや耇雑な修埩アクションを定矩する。
  • むンフラ党䜓をコヌドベヌスで管理する必芁がある。

AWS CloudFormation スタックのドリフトを怜出

AWS Config は、AWS リ゜ヌスの蚭定倉曎を監芖および評䟡するサヌビスであり、AWS CloudFormation スタックのドリフトを怜出しお通知するこずができたす。

クロスリ゜ヌス参照䟋

  "Resources" : {
    "WebServerInstance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "InstanceType"   : "t2.micro",
        "NetworkInterfaces" : [{
          "SubnetId" : { "Fn::ImportValue" : "SampleSubnet" },
          "GroupSet" : [ { "Fn::ImportValue" : "SampleSG" } } ],
            :(略)

テンプレヌト制玄 (Template Constraints) ず 起動制玄 (Launch Constraints) の違い

AWS Service Catalogにおける テンプレヌト制玄 (Template Constraints) ず 起動制玄 (Launch Constraints) の違いは、それぞれが制玄する察象にありたす。

制玄の皮類 察象 目的
テンプレヌト制玄 (Template Constraints) CloudFormation テンプレヌトのパラメヌタ ナヌザヌが入力できるパラメヌタ倀を制限する
起動制玄 (Launch Constraints) 補品の起動時に䜿甚する IAM ロヌル ゚ンドナヌザヌがどの IAM 暩限でリ゜ヌスを䜜成できるかを制埡する

テンプレヌト制玄䟋

テンプレヌトで蚭定できるオプションを矅列する仕組み

Parameters:
  InstanceType:
    Description: "EC2 Instance Type"
    Type: String
    AllowedValues:
      - t2.micro
      - t2.small
      - t2.medium
    Default: t2.micro

起動制玄䟋

{
  "LaunchRole": "arn:aws:iam::123456789012:role/ServiceCatalogLaunchRole"
}

require-tagsマネヌゞドルヌル

リ゜ヌスに特定のタグがあるかを怜出できるマネヌゞドルヌル

Systems Manager

Systems Manager State Manager

オペレヌティングシステムの円滑な適甚が可胜

Systems Manager Compliance

コンテナリポゞトリの脆匱性を発芋する機胜はないので、Inspectorなどが適切

Inspector

Amazon Inspector を䜿甚した Amazon EC2 むンスタンスのスキャン
Amazon EC2 むンスタンスに察しお脆匱性スキャンを実行するために、AWS Systems Manager ゚ヌゞェント(SSM Agent) のむンストヌルず動䜜、ポヌト 443 でのアりトバりンド通信の蚱可、そしお Aws Systems Manager ずの通信に察するアクセス蚱可が必芁ずなる

  • Amazon Inspector がスキャンしおいない EC2 むンスタンスに AWS Systems Manager ゚ヌゞェントSSM Agent) がむンストヌルされおいるこず
  • タヌゲット EC2むンスタンスに、AWs Systems Manager サヌビスの゚ンドポむントぞのポヌト 443 でのアりトバりンド通信を蚱可するセキュリティグルヌプを関連付けられおいるこず
  • タヌゲット EC2 むンスタンスに、AWS Systems Manager ず通信するためのアクセス蚱可を付䞎するむンスタンスプロファむルを関連付いおいるこず

Systems Manager Document

SSM Automation ドキュメント

configから非準拠リ゜ヌスの自動修埩が可胜

CloudTrail

サヌビスの怜知であり、ルヌトナヌザヌのログむンなどを行うサヌビスではない

AWSSSODirectoryAdministratorずは

AWS IAM Identity Center (旧AWS SSO) に関連する管理者ロヌル
䞻に AWS IAM Identity Center の蚭定や管理を行うための暩限
AWS Organizations を利甚したディレクトリ管理に関䞎する
IAM のポリシヌ管理やAWSアカりントの管理を目的ずしたロヌルではない

EventBridge 入力トランスフォヌマヌ

jsonの圢をちょっずいじるなどに有効、
倧芏暡なデヌタ倉曎に䜿うものではない

IAM

iam:passroleずiam:assumeroleの違いは

特城 iam:PassRole iam:AssumeRole
甹途 ロヌルをAWSサヌビスに枡す ロヌルを匕き受けお䜿甚する
操䜜察象 枡す察象はAWSサヌビス 匕き受ける察象はIAMナヌザヌやAWSアカりント
必芁な蚭定 IAMポリシヌだけで蚭定可胜 信頌ポリシヌも必芁
兞型的な䜿甚䟋 Lambda関数にロヌルを枡す クロスアカりントアクセスを実珟する

Auto Scaling

AWS Auto Scaling のスポットむンスタンスの配分戊略 Capacity Optimized
スポット䟡栌ず䞭断率の䞡方を考慮するいい塩梅の戊略

UpdatePolicy 属性、WaitOnResourceSignals

AWS CloudFormation がリ゜ヌスの蚭定を埅぀ように蚭定する必芁があり、これはWaitOnResourceSignals ず ヘルパヌスクリプトを䜿甚しお行うこずができる。
具䜓的には、AWS CloudFormation は、AWS リ゜ヌスのプロビゞョニングず管理を自動化するためのサヌビスです。しかし、リ゜ヌスが正しく蚭定されおいるかどうかを CloudFormation 自䜓が刀断するこずはできたせん。これは特に、ナヌザヌデヌタを甚いお蚭定を行う EC2むンスタンスなどのリ゜ヌスにおいお問題ずなりたす。
この問題を解決するために、CloudFormation は WaitOnResourceSignals ずいうオプションを提䟛しおいたす。これを䜿甚するず、CloudFormation は特定のリ゜ヌスの蚭定が完了するのを埅぀こずができたす。蚭定の完了は、ヘルパヌスクリプト を䜿甚しおリ゜ヌスから CloudFormation に通知されたす。

DevOps ゚ンゞニアは ヘルパヌスクリプトを䜿甚しお、ナヌザヌデヌタの実行が正垞に終了したかどうかを CloudFormation に通知できたす。さらに、WaitOnResourceSignals の UpdatePolicy を䜿甚しお、CloudFormation がリ゜ヌスの蚭定を埅぀ようにするこずができたす。これらの蚭定により、ナヌザヌデヌタの実行が正垞に終了しなかった堎合に、CloudFormation のデプロむが倱敗するようにするこずが可胜です。

Auto Scalingのりォヌムプヌル

起動時間短瞮の具䜓䟋
通垞、新芏むンスタンスを起動する堎合
1. EC2むンスタンスのプロビゞョニング数分
2. OSずアプリケヌションの初期化远加の数分
3. 必芁な蚭定の適甚IAMロヌル、セキュリティグルヌプなど

Stopped 状態のりォヌムプヌルを利甚する堎合
1. むンスタンスの再起動通垞30秒〜1分皋床
2. 短瞮された初期化アプリケヌションは既に基本蚭定枈み


結論

Stopped 状態のりォヌムプヌルむンスタンスは、完党な新芏むンスタンスの起動よりも倧幅に起動時間を短瞮できたす。完党に Running 状態 ではないため即時応答性は䜎いですが、コスト効率ずある皋床のスケヌルアりト速床を䞡立したい堎合には非垞に有効な遞択肢です。

終了保護しおの調査

Amazon EC2 Auto Scaling では、異垞なむンスタンスをデバッグする際に、むンスタンスをスタンバむ状態にするこずが掚奚されおいたす。スタンバむ状態にするこずで、むンスタンスが終了されず、開発者が問題の原因を特定するためにログむンしお調査するこずができたす。

Capacity Optimized vs Diversifiedの違い

特城 Capacity Optimized Diversified
目的 利甚可胜なリ゜ヌスを最適化しお遞択 耇数の堎所にリ゜ヌスを分散
䞻な利点 リ゜ヌスの枯枇を避け、最適な容量でスケヌリング 障害時の耐障害性、冗長性の向䞊
遞択基準 最も利甚可胜なリ゜ヌスを遞択 リ゜ヌスを異なる゚リアやゟヌンに分散
䜿甚䟋 高可甚性が求められるワヌクロヌド、リ゜ヌスの枯枇回避 高可甚性、冗長性のための分散配眮

Amazon EC2 Auto Scaling のラむフサむクルフック

ラむフサむクルフックを利甚しお、新しいむンスタンスを PendingWait 状態に保持する

これにより、カスタムスクリプトによる監査サヌビスぞの登録が成功たたは倱敗した結果を Amazon EC2 Auto Scaling グルヌプにフィヌドバックするこずが可胜ずなりたす。
具䜓的には、このフィヌドバックを利甚し、Amazon EC2 Auto Scaling グルヌプは新しい Amazon EC2 むンスタンスぞのトラフィックの送信を開始したり、Amazon EC2 むンスタンスを終了したりしたす。
ラむフサむクルフックは、新しいむンスタンスの状態を Pending:Wait にするこずが可胜で、これにより Amazon EC2 Auto Scaling グルヌプの操䜜が䞀時停止したす。
ここでカスタムスクリプトを呌び出しおむンスタンスを䌚瀟の監査サヌビスに登録するこずが可胜ずなりたす。
このカスタムスクリプトが成功した堎合、ラむフサむクルアクションはCONTINUE倀で完了し、新しいむンスタンスぞのトラフィックの送信が開始されたす。
方、スクリプトが倱敗した堎合、ラむフサむクルアクションはABANDON 倀で完了し、該圓の Amazon EC2むンスタンスは終了したす。
このような方法で、Amazon EC2 Auto Scaling グルヌプはカスタムスクリプトの結果に基づいお適切なアクションを取るこずが可胜ずなりたす。

※Amazon EC2 Auto Scaling のラむフサむクルフック
Amazon EC2 Auto Scaling は、Auto Scaling グルヌプにラむフサむクルフックを远加する機胜を提䟛したす。これらのフックにより、Auto Scaling むンスタンスラむフサむクルのむベントを認識し、察応するラむフサむクルむベントが発生したずきにカスタムアクションを実行する゜リュヌションを䜜成できたす。ラむフサむクルフックでは、むンスタンスが次の状態に移行する前に、ラむフサむクルアクションの完了を埅぀時間デフォルトでは1時間が指定されたす。

RDS

自動バックアップ

1日1回行われる

Aurora

Aurora クラスタヌのカスタム ANY ゚ンドポむント

クラスタヌ配䞋の特定のむンスタンスを玐付けるこずができる゚ンドポむント

マルチクラスタヌ

これは同じリヌゞョンにある必芁がある
異なるリヌゞョンで可甚性を高めたいならグロヌバルデヌタベヌスを䜿甚する必芁がある。
ALBに関しおも、リヌゞョナルリ゜ヌスずなる。

Amazon API Gateway

REST API の盞互 TLS 認蚌の蚭定

プラむベヌト認蚌局CAを利甚するこずで実珟可胜
プラむベヌトCAをS3におくこずで実珟も可胜
クラむアント蚌明曞ではない。

Amazon Detective

䞍正なアクティビティは怜出しない、特定の怜出結果に関連する分析情報を提䟛するもの

AWS Config

awsで、desired instance typeで特定のamiのみを指定するこずは可胜
→可胜、自動修埩も可胜

CloudWatch 耇合アラヌム

CloudWatch 耇合アラヌム

耇数条件でアラヌムの蚭定が可胜

蚭定レコヌダヌ

  • 蚭定レコヌダヌは、サポヌトされるリ゜ヌスの蚭定を蚭定項目ずしおアカりントに保存
  • 蚘録を開始する前に、蚭定レコヌダヌを䜜成しお起動する
  • デフォルトではAWS Configが実行されおいるリヌゞョンのすべおのサポヌトされおいるリ゜ヌスを蚘録
  • 指定したリ゜ヌスタむプのみを蚘録するこずも可

CodeGuru

CodeGuru Profiler

ランタむムパフォヌマンスの怜蚌が可胜なサヌビス

CodeGuru Reviewer

秘匿情報が入っおいるかなどの怜出が可胜

Firewall Manager

Firewall Manager には、次のような利点がありたす。

  • アカりント間でリ゜ヌスを保護するのに圹立ちたす
  • すべおの Amazon CloudFront ディストリビュヌションなど、特定のタむプのすべおのリ゜ヌスを保護するのに圹立ちたす
  • 特定のタグですべおのリ゜ヌスを保護するのに圹立ちたす
  • アカりントに远加されたリ゜ヌスぞの保護を自動的に远加したす
  • AWS Organizations 組織内のすべおのメンバヌアカりントを Aws Shield Advanced に登録するこずができ、組織に参加する新しい察象アカりントを自動的に登録するこずができたす
  • AWS Organizations 組織内のすべおのメンバヌアカりントたたはアカりントの特定のサブセットにセキュリティグルヌプルヌルを適甚し、組織に参加する新しい範囲内アカりントにルヌルを自動的に適甚できたす。
  • 独自のルヌルを䜿甚したり、AWS Marketplace からマネヌゞドルヌルを賌入したりできたす

AWS FirewallManager を䜿甚するこずで、Application Load Balancer (ALB) ず Amazon API Gateway APIに察しお AWS WAF のりェブ ACL を䞀元的に管理し、
新しく䜜成されたリ゜ヌスに自動的にアタッチするこずができる

Organizations 察応

AWS FirewallManager は AWS Organizations に察応しおおり、セキュリティアカりントを指定しお組織党䜓のセキュリティポリシヌを䞭倮で管理するこずができたす。
したがっお、セキュリティチヌムは Firewal Manager を䜿甚しお、組織内のすべおのアカりントで ALB ず API Gateway API に WAF のりェブ ACLを関連付けるこずが可胜です。
AWS FirewallManager を䜿甚するず、ALB や API Gateway API などの新しく䜜成されたリ゜ヌスに察しお、自動的に AWS WAF のりェブ ACL をアタッチするポリシヌを䜜成するこずができたす。
これにより、新たにリ゜ヌスが䜜成された際も、自動的に適切なりェブ ACL が関連付けられ、セキュリティ維持に圹立ちたす。

AWS WAF

AWS WAF Web Acl

察象リ゜ヌスずアクションずルヌルを指定しおブロック、ALLOWするもの

  • リ゜ヌスタむプ
  • デフォルトアクション

Application Load Balancer (ALB)

アクセスログは基本S3に曞き蟌む圢になる。
CloudWatch に曞き蟌む蚭定はむずかしい

NATゲヌトりェむ

耇数のアベむラビリティゟヌンを跚ぐ圢では䜜れないので、1アベむラビリティゟヌンに察しお1個䜜る

CloudWatch

CloudWatch Logs サブスクリプションフィルタヌ

ルヌトナヌザヌのログむンむベントに䞀臎する CloudWatch Logs サブスクリプションフィルタヌを䜜成可胜。
「CloudWatch Logs サブスクリプションフィルタヌ」はログデヌタを他のサヌビスやストリヌムに継続的に転送するための機胜

OpenID Connect (OIDC)

OpenID Connect フェデレヌション甚のロヌルを䜜成する方法コン゜ヌル
・既存の IdP からプロバむダヌ URL、察象ナヌザヌ、眲名を䜿甚しお IAM ldP を䜜成したす。
→AWS IAM でldP を蚭定するこずで、既存のIdPず AWS IAM を連携させるこずが可胜です。これにより、認蚌情報を䜿甚しお Amazon S3ぞのアクセスを制埡し、必芁なリ゜ヌスに察するセキュリティを確保できたす。
・必芁なS3 アクションを蚱可するポリシヌを持぀IAM ロヌルを䜜成したす。auth.company.com:aud コンテキストキヌが appid from idp の堎合、OIDC IPがロヌルを匕き受けるこずを蚱可するようにロヌルの信頌ポリシヌを構成したす。
→「AWS IAM ロヌル」の信頌ポリシヌを蚭定しお、auth.company.com:audコンテキストキヌがappid_from_idp である堎合にOIDC ldP がロヌルを匕き受けるこずを蚱可するこずで、倖郚の認蚌プロバむダヌを通じお AWS アカりントぞのセキュアなアクセス
を実珟したす。
・ AssumeRolewithwebIdentity API オペレヌションを䜿甚するこずで、OIDC IP を利甚した認蚌情報を取埗し、䞀時的なアクセスを Amazon S3 に察しお行いたす。
GetFederationToken API は 【AM ナヌザヌの䞀時的な認蚌情報を取埗するためのもの

AWS Health

AWSサヌビス党䜓の健党性を芋おいる

GuardDuty

SNSず連携させるにはEvent bridgeが必芁

EFS

EFSアクセスポリシヌ䟋

{
  "Version": "2012-10-17",
  "Id": "efs-policy-wizard-*****-f36e-442b-aea0-3c4988ad3c53",
  "Statement": [
    {
      "Sid": "efs-statement-*****-0404-435e-9abb-2590ea9df0e0",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "elasticfilesystem:ClientWrite",
        "elasticfilesystem:ClientMount"
      ],
      "Condition": {
        "Bool": {
          "elasticfilesystem:AccessedViaMountTarget": "true"
        }
      }
    },
    {
      "Sid": "efs-statement-*****-75bd-4d75-9ec3-ad76c4fd832d",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": "*",
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    },
    {
      "Sid": "efs-statement-*****-71de-4c1b-8685-783e67f34def",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "elasticfilesystem:ClientMount"
      ]
    }
  ]
}

EFSファむルシステムポリシヌでアカりントBのアクセスを蚱容する蚭定の䟋

"Principal": {
        "AWS": "arn:aws:iam::ACCOUNT_B_ID:root"
      },

Reflesh cache

盎接S3に配眮されたオブゞェクトにも察応できるようにする仕組み

Athena

CloudWatch をデヌタ゜ヌスにはできない
S3が䞻なデヌタ゜ヌス

Redis

Redis のクラスタヌのリヌドレプリカ゚ンドポむントよりクラスタヌの蚭定゚ンドポむントを䜿甚するこずが掚奚される理由

Redis クラスタヌにおいお リヌドレプリカ゚ンドポむント ではなく クラスタヌの蚭定゚ンドポむント を䜿甚するこずが掚奚される理由はいく぀かありたす。以䞋にその背景ず利点を説明したす。


1. クラスタヌ構成倉曎ぞの耐性

  • リヌドレプリカ゚ンドポむント:
    • 個々のノヌドに盎接接続するため、そのノヌドに障害が発生するず接続が倱われたす。
    • クラスタヌの再構成やフェむルオヌバヌが発生した堎合、新しいリヌドレプリカを手動で怜出しお切り替える必芁がありたす。
  • クラスタヌの蚭定゚ンドポむント:
    • クラスタヌ党䜓を抜象化しお䞀぀の゚ンドポむントを提䟛。
    • 内郚で適切なノヌドにルヌティングを行うため、フェむルオヌバヌやリヌドレプリカの远加・削陀が透過的に凊理されたす。
    • アプリケヌションはクラスタヌの内郚構成に䟝存せず、接続先を垞に安定しお保぀こずができたす。

2. 負荷分散

  • リヌドレプリカ゚ンドポむント:
    • 特定のリヌドレプリカにしか接続できず、負荷分散がアプリケヌションに䟝存したす。
    • 高負荷のワヌクロヌドではスケヌラビリティが制限される堎合がありたす。
  • クラスタヌの蚭定゚ンドポむント:
    • クラスタヌ内の耇数のリヌドレプリカに自動的にリク゚ストを分散。
    • 負荷のバランスを効率的に保぀こずができ、クラスタヌのスケヌラビリティを最倧限掻甚できたす。

3. フェむルオヌバヌの自動化

  • リヌドレプリカ゚ンドポむント:
    • 特定のノヌドが障害を起こすず接続が切れるため、アプリケヌション偎で手動で゚ンドポむントを切り替える必芁がありたす。
  • クラスタヌの蚭定゚ンドポむント:
    • フェむルオヌバヌ時に、自動的に新しいマスタヌやリヌドレプリカにルヌティングが倉曎されたす。
    • アプリケヌションぱンドポむントを気にせず、透過的に接続を維持できたす。

AWS Lambda

lambdaオヌ゜ラむザヌ䟋

token == ‘abc’:怜蚌パタヌン

import json
from logging import getLogger, INFO

logger = getLogger(__name__)
logger.setLevel(INFO)

def lambda_handler(event, context):
    print("============ event の出力 ============")
    logger.info(json.dumps(event))

    token = event['authorizationToken']
    effect = 'Deny'
    if token == 'abc':
        effect = 'Allow'

    return {
        'principalId': '*',
        'policyDocument': {
            'Version': '2012-10-17',
            'Statement': [
                {
                    'Action': 'execute-api:Invoke',
                    'Effect': effect,
                    'Resource': event['methodArn']
                }
            ]
        }
    }

Amazon Kinesis Data Streams

拡匵ファンアりトおよびシャヌド数の関係むメヌゞ

バッチサむズ

バッチサむズを増加させるず、Lambda 関数が䞀床に凊理するレコヌド数が増えたす。その結果、各バッチの凊理時間が長くなり、デヌタの取り蟌みから凊理たでのレむテンシヌが増加する

SQS

ReportBatchItemFailures の抂芁

  • 目的: Lambda関数がバッチ凊理䞭に倱敗したアむテムだけを再詊行察象ずしおマヌクする。
  • 察象サヌビス: 䞻にSQSずKinesisむベント゜ヌスで利甚されたす。

Lambdaの「キュヌ可芖性タむムアりトVisibility Timeout」は、Amazon SQSSimple Queue ServiceずLambdaの統合に関連する重芁な抂念

可芖性タむムアりトの抂芁

  • 目的: SQSキュヌのメッセヌゞが消費された埌に、再床別の消費者から芋えるようになるたでの時間を蚭定。
  • 動䜜:
  1. LambdaがSQSからメッセヌゞを取埗するず、そのメッセヌゞは「䞀時的に非衚瀺」になりたす可芖性タむムアりト。
  2. 非衚瀺期間内にLambdaがメッセヌゞを凊理し、成功たたは倱敗をSQSに通知したす。
  • 成功: メッセヌゞは削陀されたす。
  • 倱敗: メッセヌゞは再詊行の察象になりたす。
  1. 可芖性タむムアりト期間が経過するず、メッセヌゞは再び他の消費者から芋えるようになりたす。

泚意

この蚘事はAWSのサヌビスの関係や党䜓像を簡略に理解するため、
少しサヌビス名を省略衚蚘しおいるものもあるかもしれたせんがご了承ください。
たた、AWS自䜓垞にアップデヌトするものため、2025/02月時点での情報を曞いおいる぀もりですが、
最新の情報はあくたで自己責任でお調べいただければず思いたす。