この記事でわかること
▪️AWS EKSにて、 ReplicaSet と Deployment がどの様な働きをしているか
をAWS Certified Solutions Architect - Professional出題問題を利用して、
復習しました。
問題と解答の理解手順の流れ
以下は、この記事で解説する手順です。
手順1_問題文の意図をイメージする
↓
手順2_重要なキーワードに注目する
(ReplicaSet と Deploymentの説明あり)
↓
手順3_正解の分割解説
AWS問題
ある企業には、Amazon Elastic Kubernetes Service (Amazon EKS) クラスター内の
複数のポッドの ReplicaSet として実行されるアプリケーションがあります。
EKS クラスターには、複数のアベイラビリティーゾーンにノードがあります。
アプリケーションは、アプリケーションのすべての実行中のインスタンス間で
アクセス可能でなければならない多くの小さなファイルを生成します。
同社はファイルをバックアップし、バックアップを 1 年間保持する必要があります。
これらの要件を満たしながら最速のストレージパフォーマンスを提供できるソリューションを
選択してください。
B(正解)
Amazon Elastic File System (Amazon EFS) ファイルシステムを作成し、
EKS クラスターのノードを含む各サブネットにマウントターゲットを作成します。
ファイルシステムをマウントするように ReplicaSet を構成します。
ファイルシステムにファイルを保存するようにアプリケーションを設定します。
AWS Backup を構成して、データのコピーを 1 年間バックアップして保持します。
手順1_問題文のポイントをイメージする
問題文のポイントを整理すると、以下の2点になります。
EKS クラスター内の複数の Pod で共有するファイルを効率的に管理すること
➡️「複数の Pod でファイルを共有できる仕組み」
生成されたファイルを 1 年間バックアップし、データを保持すること
➡️「長期間のデータバックアップ方法」
手順2_重要なキーワードに注目する
以下のキーワードに注目すると、どの AWS サービスを使うべきかが見えてきます。
▪️「複数のポッド」
ReplicaSet と Deployment によって管理されます。
※補足
▫️Pod
アプリケーションの1つの作業単位
▫️ReplicaSet
同時に実行したいPod の数を管理します。
▫️Deployment
ReplicaSet を管理し、アプリの更新・ロールバックを行います。
▪️「すべての実行中のインスタンス間でアクセス可能」
分散ファイルシステムが必要です。
▪️「バックアップを 1 年間保持」
AWS Backup のような長期バックアップソリューションが必要です。
このキーワードをもとに、AWS のストレージサービスを比較すると、
Amazon EFSが適していると判断できます。
EKSクラスターのおおまかな構成
以下の画像は解答の選択肢をイメージして頂く事を優先する為に添付しましたが、
正確性が完全に保証されているわけではありません。ご了承ください。
手順3_正解の分割解説
正解を以下の3つのポイントで分解して解説します。
▪️Amazon EFSを使用する理由
EFS はマルチ AZ に対応しており、
EKS クラスターの複数のノード間で同じファイルにアクセスできます。
NFSを利用しており、複数の Pod で共有できるため、
アプリケーションがデータを参照可能です。
▪️EFS を EKS に統合する方法
各サブネットにマウントターゲットを作成し、
EKS のノードがどこにあってもアクセスできるようにできます。
ReplicaSet の Pod が EFS をマウントするように設定し、
Pod 間でデータを共有できるようにする。
▪️データのバックアップと保持
AWS Backup を利用して EFS のデータをバックアップし、
1 年間保持することで、要件を満たします。AWS Backup は自動スケジュール設定が
可能で長期保持にも対応しています。
参考文献
※参考部分
ポッドのデプロイ:
これにより、ポッドが異常な状態になった場合は新しいポッドと交換するか、
状態を保存せずにポッドを移動させるだけで済みます。
ステートレスアプリケーション (ウェブサーバーなど) を実行している場合は
Deployment を使用して Pods と ReplicaSets をデプロイできます。
ReplicaSet は同時に実行したいポッドのインスタンス数を定義します。
※参考部分
Deployment は、通常は状態を維持しないアプリケーション ワークロードを実行するための Pod のセットを管理します。
この記事を書いた理由
これまで以下のAWS資格を取得し、2024年12月から2社目のIT会社に転職成功。
今はAWSを活用したシステム構築の支援業務を行なっています。
本記事は、業務で行った内容の復習とアウトプットを兼ねて作成しました。
既に合格済のAWS資格
2024年04月11日「AWS Certified Cloud Practitioner」
2024年06月27日「AWS Certified Solutions Architect - Associate」
2024年08月13日「AWS Certified Sysops Administrator - Associate」
2024年11月19日「AWS Certified Solutions Architect - Professional」
2025年03月01日「AWS Certified Security - Specialty」