問題一覧
1
リクエストによってクォータの引き上げは可能だか、クォータの引き上げは自動で行われない。CloudWatchメトリクスを活用することで、継続的にウォッチする仕組みを検討すべき。
2
クラスター‥現在のリージョン内のこのアカウントのクラスターの最大数 クラスターあたりのサービス数‥クラスターあたりのサービスの最大数 サービスあたりのタスク数‥サービスあたりのタスクの最大数(必要な数) Fargateオンデマンドリソース数‥現在のリージョンのFargateで、同じアカウントで同時に実行されているECSタスクとEKSポッドの最大数 FargateSpotリソース数‥現在のリージョンのアカウントにてFargateSpotを同時に実行しているECSタスクの最大数
3
1.ビジネス上のパフォーマンス要件 2.リソースの割り当て 3.スケール戦略の検討 4.テストの実施 5.メトリクスの確認 6.リソース割り当てやスケール戦略の見直し
4
ある程度余裕を考えながらリソースを割り当てるのがよい。単体でのアプリケーション安定稼働確認後にテスト結果と照らし合わせながら、コストとのバランスを見て適切な値を設定する。
5
リソース割り当てとスケール戦略を仮決めした後、定義したパフォーマンス要件が満たせるかをテストする。実際に想定されるリクエスト量を流す。 ・期待する一連のCloudWatchメトリクスが取得できているか ・AutoScalingのスケールアウトおよびスケールインは設定されているか ・アプリケーションならエラーが出力されていないか ・ログ出力の内容は適切か(欠損等はしてないか、ログレベルは妥当か)
6
テストを実行しつつ、CloudWatchメトリクスを活用しながら次の内容を確認する ・パフォーマンス要件で定義したリクエスト量が満たせているか ・ECSタスク定義に割り当てたCPU/メモリリソースに対して、余剰や逼迫が発生していないか ・ECSタスク定義内の各コンテナに割り当てたCPU/メモリリソースに対して、余剰や逼迫が発生していないか ・AutoScalingのスケールアウト・スケールインは正しく発動するか ・スケールアウトまたはスケールイン時にアプリケーションからエラーが出力されていないか
7
スケールアップとスケールアウト。スケールアウトは稼働中のタスク停止は不要。スケールアウトはスケーラビリティが高く、可用性と耐障害性が向上し、AutoScalingを活用して簡単にスケール判断の自動化が可能。スケールアップは割り当て可能なリソース上限に到達しやすく、自動化のための仕組みを自作する必要がある。 スケールアウトでは、ECSタスクごとにVPCサブネット内のIPアドレスがENIに使われるため、IPアドレス枯渇に注意。
8
需要の変化に合わせて求められるコンテナ起動数を自動調整できる。ステップスケーリングポリシーとターゲット追跡スケーリングポリシーがある。
9
スケールアウトおよびスケールインさせる条件に「ステップ」を設けることで段階的にスケールアクションを設定できるポリシー。スケーリングイベントが発生している途中で別のイベントが発生しても応答する。スケールアウト後も負荷が高まっている場合においても、ステップを複数定義しておくことで段階的にスケールアウトが可能
10
指定したメトリクスのターゲット値を維持するようにスケールアウトやスケールインが制御されるポリシー。AWS側が自動でタスク量を調整してくれるマネージドな戦略。いくつか仕様と制限がある。 ・メトリクスがターゲット値を超えている場合のみスケールアウトする ・スケールアウトは高速に動作するが、スケールインは緩やかに実行される ・複数メトリクスのターゲット値を定義できる。この場合、いずれかのターゲット値が超過するとスケールアウトが実行される。ただしスケールインに関しては全てのターゲット値が下回っている場合に実行される。
11
最適なリソースを判断するために必要なメトリクスを収集し、適切なサイジングを行う。コストを最適化することが重要。
12
1年または3年のいずれかの期間で指定リソースの利用を事前コミットすることで、コミット内容に応じて割引き料金が適用される仕組み。 ・1年間‥前払いなし(15%)、一部前払い(20%)、全額前払い(22%) ・3年間‥前払いなし(40%)、一部前払い(45%)、全額前払い(47%) ※()内の数字は割引率
13
ECR上のイメージを適切に管理することはコスト観点でもメリットがある。ECRは保存されるコンテナイメージサイズに比例した料金を支払う必要がある。
14
ECS/Fargateは起動しているECSタスクのリソースと時間に応じて料金が発生する。開発環境やステージング環境では稼働する時間を絞るといい(EventBridgeとlambdaなどでタスクの停止、起動を設定)。開発環境では割り当てるリソース、可用性も最低限に。
15
開発環境やステージング環境において、停止をある程度許容できる場合、FargateSpotを活用するのも有効。FargateSpotとは、ECSタスクが中断される可能性を許容することで、AWS上の空きキャパシティにより格安でECSタスクを利用できるサービス。約7割引で利用できる。
16
・FargateSpotを利用する場合、ECSサービスにキャパシティプロバイダ戦略の設定が必須。キャパシティプロバイダとは、事前にECSタスクの起動に関するルールを定めておに、ECSクラスター内に設定することでECSタスク数の増減を詳細にコントロールするための仕組み。通常のタスクは「FARGATE」、FargateSpotタスクは「FARGATE_SPOT」と呼ばれ、それらのキャパシティプロバイダを1つの戦略として束ね、どちらの種別をどの程度増減するかを決める。以下をそれぞれ設定する。 ベース‥優先して起動されるタスク ウェイト‥ベースで指定したタスク数が起動した後に起動されるタスク ・FargateSpotはECSタスクが中断される可能性がある。中断時に送信されるSIGTERMシグナルのハンドリングロジックをアプリケーションに組み込んでおく。
17
NATやVPCエンドポイント経由でのECRとの通信にはデータ量に応じた料金が加算される。スケールアウト、インの頻繁な発生やコンテナイメージのサイズが大きい場合は料金が高くなりやすい。コンテナ構成を最小限にすると、コストメリットやダウンロード、起動時間の短縮、最小のベースイメージや不要なライブラリの除去による堅牢さの獲得につながる。
AWSのしくみと技術がわかる 5
AWSのしくみと技術がわかる 5
サラリーマンサラリーマン · 61問 · 1年前AWSのしくみと技術がわかる 5
AWSのしくみと技術がわかる 5
61問 • 1年前AWSのしくみと技術がわかる 6
AWSのしくみと技術がわかる 6
サラリーマンサラリーマン · 44問 · 1年前AWSのしくみと技術がわかる 6
AWSのしくみと技術がわかる 6
44問 • 1年前AWSのしくみと技術が分かる 7,8
AWSのしくみと技術が分かる 7,8
サラリーマンサラリーマン · 73問 · 1年前AWSのしくみと技術が分かる 7,8
AWSのしくみと技術が分かる 7,8
73問 • 1年前AWS 基礎からのネットワークサーバー 1
AWS 基礎からのネットワークサーバー 1
サラリーマンサラリーマン · 8問 · 1年前AWS 基礎からのネットワークサーバー 1
AWS 基礎からのネットワークサーバー 1
8問 • 1年前AWS 基礎からのネットワークサーバー 2,3,4
AWS 基礎からのネットワークサーバー 2,3,4
サラリーマンサラリーマン · 75問 · 1年前AWS 基礎からのネットワークサーバー 2,3,4
AWS 基礎からのネットワークサーバー 2,3,4
75問 • 1年前AWS基礎からのネットワークandサーバー構築 5,6,7,8
AWS基礎からのネットワークandサーバー構築 5,6,7,8
サラリーマンサラリーマン · 61問 · 1年前AWS基礎からのネットワークandサーバー構築 5,6,7,8
AWS基礎からのネットワークandサーバー構築 5,6,7,8
61問 • 1年前AWS基礎からのネットワークandサーバー構築 9
AWS基礎からのネットワークandサーバー構築 9
サラリーマンサラリーマン · 15問 · 1年前AWS基礎からのネットワークandサーバー構築 9
AWS基礎からのネットワークandサーバー構築 9
15問 • 1年前AWSコンテナ入門1
AWSコンテナ入門1
サラリーマンサラリーマン · 100問 · 1年前AWSコンテナ入門1
AWSコンテナ入門1
100問 • 1年前AWSコンテナ入門1 続き
AWSコンテナ入門1 続き
サラリーマンサラリーマン · 19問 · 1年前AWSコンテナ入門1 続き
AWSコンテナ入門1 続き
19問 • 1年前AWSコンテナ入門2
AWSコンテナ入門2
サラリーマンサラリーマン · 47問 · 1年前AWSコンテナ入門2
AWSコンテナ入門2
47問 • 1年前AWSコンテナ入門3
AWSコンテナ入門3
サラリーマンサラリーマン · 100問 · 1年前AWSコンテナ入門3
AWSコンテナ入門3
100問 • 1年前AWSコンテナ入門4
AWSコンテナ入門4
サラリーマンサラリーマン · 60問 · 1年前AWSコンテナ入門4
AWSコンテナ入門4
60問 • 1年前AWSコンテナ入門5
AWSコンテナ入門5
サラリーマンサラリーマン · 23問 · 1年前AWSコンテナ入門5
AWSコンテナ入門5
23問 • 1年前インフラエンジニアの教科書2 1 改訂
インフラエンジニアの教科書2 1 改訂
サラリーマンサラリーマン · 49問 · 1年前インフラエンジニアの教科書2 1 改訂
インフラエンジニアの教科書2 1 改訂
49問 • 1年前インフラエンジニアの教科書2 2 改訂
インフラエンジニアの教科書2 2 改訂
サラリーマンサラリーマン · 100問 · 1年前インフラエンジニアの教科書2 2 改訂
インフラエンジニアの教科書2 2 改訂
100問 • 1年前インフラエンジニアの教科書2 改訂続き
インフラエンジニアの教科書2 改訂続き
サラリーマンサラリーマン · 75問 · 1年前インフラエンジニアの教科書2 改訂続き
インフラエンジニアの教科書2 改訂続き
75問 • 1年前AWSの全部わかる教科書 1,2,3
AWSの全部わかる教科書 1,2,3
サラリーマンサラリーマン · 71問 · 1年前AWSの全部わかる教科書 1,2,3
AWSの全部わかる教科書 1,2,3
71問 • 1年前AWSの全部わかる教科書 4
AWSの全部わかる教科書 4
サラリーマンサラリーマン · 21問 · 1年前AWSの全部わかる教科書 4
AWSの全部わかる教科書 4
21問 • 1年前ゼロからわかるlinuxコマンド1
ゼロからわかるlinuxコマンド1
サラリーマンサラリーマン · 100問 · 1年前ゼロからわかるlinuxコマンド1
ゼロからわかるlinuxコマンド1
100問 • 1年前問題一覧
1
リクエストによってクォータの引き上げは可能だか、クォータの引き上げは自動で行われない。CloudWatchメトリクスを活用することで、継続的にウォッチする仕組みを検討すべき。
2
クラスター‥現在のリージョン内のこのアカウントのクラスターの最大数 クラスターあたりのサービス数‥クラスターあたりのサービスの最大数 サービスあたりのタスク数‥サービスあたりのタスクの最大数(必要な数) Fargateオンデマンドリソース数‥現在のリージョンのFargateで、同じアカウントで同時に実行されているECSタスクとEKSポッドの最大数 FargateSpotリソース数‥現在のリージョンのアカウントにてFargateSpotを同時に実行しているECSタスクの最大数
3
1.ビジネス上のパフォーマンス要件 2.リソースの割り当て 3.スケール戦略の検討 4.テストの実施 5.メトリクスの確認 6.リソース割り当てやスケール戦略の見直し
4
ある程度余裕を考えながらリソースを割り当てるのがよい。単体でのアプリケーション安定稼働確認後にテスト結果と照らし合わせながら、コストとのバランスを見て適切な値を設定する。
5
リソース割り当てとスケール戦略を仮決めした後、定義したパフォーマンス要件が満たせるかをテストする。実際に想定されるリクエスト量を流す。 ・期待する一連のCloudWatchメトリクスが取得できているか ・AutoScalingのスケールアウトおよびスケールインは設定されているか ・アプリケーションならエラーが出力されていないか ・ログ出力の内容は適切か(欠損等はしてないか、ログレベルは妥当か)
6
テストを実行しつつ、CloudWatchメトリクスを活用しながら次の内容を確認する ・パフォーマンス要件で定義したリクエスト量が満たせているか ・ECSタスク定義に割り当てたCPU/メモリリソースに対して、余剰や逼迫が発生していないか ・ECSタスク定義内の各コンテナに割り当てたCPU/メモリリソースに対して、余剰や逼迫が発生していないか ・AutoScalingのスケールアウト・スケールインは正しく発動するか ・スケールアウトまたはスケールイン時にアプリケーションからエラーが出力されていないか
7
スケールアップとスケールアウト。スケールアウトは稼働中のタスク停止は不要。スケールアウトはスケーラビリティが高く、可用性と耐障害性が向上し、AutoScalingを活用して簡単にスケール判断の自動化が可能。スケールアップは割り当て可能なリソース上限に到達しやすく、自動化のための仕組みを自作する必要がある。 スケールアウトでは、ECSタスクごとにVPCサブネット内のIPアドレスがENIに使われるため、IPアドレス枯渇に注意。
8
需要の変化に合わせて求められるコンテナ起動数を自動調整できる。ステップスケーリングポリシーとターゲット追跡スケーリングポリシーがある。
9
スケールアウトおよびスケールインさせる条件に「ステップ」を設けることで段階的にスケールアクションを設定できるポリシー。スケーリングイベントが発生している途中で別のイベントが発生しても応答する。スケールアウト後も負荷が高まっている場合においても、ステップを複数定義しておくことで段階的にスケールアウトが可能
10
指定したメトリクスのターゲット値を維持するようにスケールアウトやスケールインが制御されるポリシー。AWS側が自動でタスク量を調整してくれるマネージドな戦略。いくつか仕様と制限がある。 ・メトリクスがターゲット値を超えている場合のみスケールアウトする ・スケールアウトは高速に動作するが、スケールインは緩やかに実行される ・複数メトリクスのターゲット値を定義できる。この場合、いずれかのターゲット値が超過するとスケールアウトが実行される。ただしスケールインに関しては全てのターゲット値が下回っている場合に実行される。
11
最適なリソースを判断するために必要なメトリクスを収集し、適切なサイジングを行う。コストを最適化することが重要。
12
1年または3年のいずれかの期間で指定リソースの利用を事前コミットすることで、コミット内容に応じて割引き料金が適用される仕組み。 ・1年間‥前払いなし(15%)、一部前払い(20%)、全額前払い(22%) ・3年間‥前払いなし(40%)、一部前払い(45%)、全額前払い(47%) ※()内の数字は割引率
13
ECR上のイメージを適切に管理することはコスト観点でもメリットがある。ECRは保存されるコンテナイメージサイズに比例した料金を支払う必要がある。
14
ECS/Fargateは起動しているECSタスクのリソースと時間に応じて料金が発生する。開発環境やステージング環境では稼働する時間を絞るといい(EventBridgeとlambdaなどでタスクの停止、起動を設定)。開発環境では割り当てるリソース、可用性も最低限に。
15
開発環境やステージング環境において、停止をある程度許容できる場合、FargateSpotを活用するのも有効。FargateSpotとは、ECSタスクが中断される可能性を許容することで、AWS上の空きキャパシティにより格安でECSタスクを利用できるサービス。約7割引で利用できる。
16
・FargateSpotを利用する場合、ECSサービスにキャパシティプロバイダ戦略の設定が必須。キャパシティプロバイダとは、事前にECSタスクの起動に関するルールを定めておに、ECSクラスター内に設定することでECSタスク数の増減を詳細にコントロールするための仕組み。通常のタスクは「FARGATE」、FargateSpotタスクは「FARGATE_SPOT」と呼ばれ、それらのキャパシティプロバイダを1つの戦略として束ね、どちらの種別をどの程度増減するかを決める。以下をそれぞれ設定する。 ベース‥優先して起動されるタスク ウェイト‥ベースで指定したタスク数が起動した後に起動されるタスク ・FargateSpotはECSタスクが中断される可能性がある。中断時に送信されるSIGTERMシグナルのハンドリングロジックをアプリケーションに組み込んでおく。
17
NATやVPCエンドポイント経由でのECRとの通信にはデータ量に応じた料金が加算される。スケールアウト、インの頻繁な発生やコンテナイメージのサイズが大きい場合は料金が高くなりやすい。コンテナ構成を最小限にすると、コストメリットやダウンロード、起動時間の短縮、最小のベースイメージや不要なライブラリの除去による堅牢さの獲得につながる。