クラウドとコンテナの基礎

複数のサービスが連携して動くシステムで、利用者の1つの要求が、どのサービスをどの順に通り、それぞれでどれだけ時間がかかったかを調べたい。オブザーバビリティのためのデータのうち、最も適したものはどれか。

  1. Aメトリクス(CPU使用率や要求の数などの数値の時系列)
  2. Bログ(各サービスが出力する出来事の記録)
  3. Cトレース(1つの要求の経路と各区間の時間の記録)
答えと解説を見る

正解:C. トレース(1つの要求の経路と各区間の時間の記録)

オブザーバビリティは、外に出てくるデータからシステムの内部の状態を推し量れる度合いで、そのためのデータとして、メトリクス、ログ、トレースがよく挙げられます。トレース(分散トレーシング)では、要求に共通の識別子を付けてサービスの間で受け渡し、各サービスでの処理の区間(スパン)の開始と終了の時刻を記録して、1つの要求の経路と時間の内訳を組み立てます。メトリクスは全体の傾向や異常の検知に、ログは個々の出来事の詳しい調査に向いていますが、サービスをまたぐ1つの要求の流れを追うには、トレースが最も適しています。実際には、トレースの識別子をログにも書いておき、3つを組み合わせて原因を調べます。

  • A. メトリクスは数値をまとめた時系列で、全体の傾向や異常を知るのに向いていますが、1つの要求の経路は分かりません。
  • B. ログは個々の出来事の記録で、サービスごとに分かれているので、それだけでは1つの要求の流れをつなげにくくなります。
  • C. 正しい。トレースは、1つの要求がサービスをまたいで通った経路と時間を記録します。
この分野を解く 分野ページへ

クラウドとコンテナの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

クラウドとコンテナの基礎のほかの問題

  1. Linuxのコンテナを実現するカーネルの機能のうち、名前空間(namespaces)とcgroups(コントロールグループ)の役割の組み合わせとして、正しいものはどれか。
  2. LinuxのホストでDockerを使い、ホストとは別のディストリビューションをもとにしたイメージからコンテナを起動して、その中で uname -r(カーネルのリリースを表示するコマンド)と cat /etc/os-release(ディストリビューションの情報を表示するコマンド)を実行した。結果の説明として、正しいものはどれか。
  3. コンテナイメージとコンテナの関係の説明として、正しいものはどれか。
  4. あるイメージから起動したコンテナの中で、イメージに含まれている設定ファイル /etc/app.conf を書き換えた。Dockerの一般的なストレージの仕組み(overlay2 など)で起きることとして、正しいものはどれか。
  5. 500 MBのアーカイブ data.tar.gz を展開するため、上のDockerfileでイメージを作った。展開の後で、同じ RUN の中でアーカイブを削除したのに、イメージの大きさはアーカイブの分だけ大きいままだった。理由と対策の組み合わせとして、最も適切なものはどれか。