応用情報技術者 2024年 春期 午後 問05
クラウドサービスを活用した情報提供システムの構築に関する次の記述を読んで、設問に答えよ。
L社は、国内の気象情報を様々な業種の顧客に提供する企業である。現在は、社外から購入した気象データを分析し、気象情報として提供している。今回、全国に設置予定のIoT機器から気象データを収集し、S社のクラウドサービス(以下、S社クラウドという)で分析した結果を気象情報として提供する新しい気象情報システム(以下、新システムという)を構築することになった。新システムの設計を、L社の情報システム部のMさんが担当することになった。
Mさんは、新システムの構成と、新システムが備えるべき主な機能を検討した。新システムの構成案を図1に、新システムが備えるべき主な機能を表1に示す。情報提供先のPC、IoT機器やL社の保守用PCから、S社クラウド上に構築された新システムの各機能に対応するサーバにアクセスして、必要な機能を利用する。


Mさんが検討した新システムの構成について、情報システム部のN部長は次の検討を行うようにMさんに指示した。
・IoT機器から送信される気象データの特徴を踏まえて、データ収集APIに用いる通信プロトコルを選定すること。
・新システムにインターネットからアクセス可能な機器の数を最小限にするように、S社クラウド上のFWに設定する通信を許可するルール(以下、FWの許可ルールという)の設計を行うこと。
・将来、IoT機器の数や情報提供先の数が増加した場合に備えて、各機能の処理遅延対策を行うこと。
〔データ収集APIに用いる通信プロトコルの検討〕
IoT機器は全国に10,000台設置する計画であり、通信事業者のLPWA(Low Power Wide Area)サービスを用いて各IoT機器から1件当たり最大500バイトの気象データを、1分ごとに①データ収集用サーバに送信する設計とした。気象データは、1件当たりのデータ量は少ないが、IoT機器からデータ収集用サーバへの通信回数が多く、データ収集用サーバアクセスが集中するおそれがある。そこで、データ収集APIでは、通信の都度TCPコネクションを確立して通信を行うHTTPではなく、②TCP上でHTTPよりプロトコルヘッダサイズが小さく、多対1通信に対応するプロトコルを用いることとした。
〔FWの許可ルールの設計〕
Mさんは、S社クラウド上のFWの許可ルールの設計方針を検討した。
・IoT機器からデータ収集用サーバへのアクセスや情報提供アプリから情報提供用サーバへのアクセスに対しては、通信プロトコルの制限を行うが、インターネットの接続元IPアドレスによる制限は行わない。
・L社の保守用PCから各サーバへのアクセスに対しては、各サーバにログインして更新プログラムの適用などの保守作業を行うために、SSHだけを許可する。
・各サーバからインターネットへのアクセスに対しては、ソフトウェアベンダーのWebサイトから更新プログラムをダウンロードするために、任意のWebサイトへのHTTPSだけを許可する。
Mさんが検討した、FWの許可ルールを表2に示す。

〔処理遅延対策の検討〕
Mさんは、IoT機器の数や情報提供先の数が現在の計画よりも増加した場合に、表10各機能の処理にどのような処理遅延が発生するかを確認した。
IoT機器の数が増加した場合、全国に設置したIoT機器からS社クラウドのFWを経由してデータ収集用サーバにアクセスする通信が増加する。また、情報提供先の数が増加した場合、情報提供先アプリからS社クラウドのFWを経由して情報提供用サーバにアクセスする通信が増加する。
特に d については、データ収集機能の通信と情報提供機能の通信の両方が経由することから、単位時間内に処理できる通信の量を表す e と、同時に処理できる接続元の数を表す f が、必要な性能を満たすよう管理することとした。
また、データ収集用サーバと情報提供用サーバの性能を超えた要求が発生して、データ収集APIと情報提供APIの両方に処理遅延が発生した場合の対策として、③スケールアウトによってシステムの処理性能を高めるために必要な機能を新システムで利用することにした。
Mさんは指示された内容の検討結果をN部長に説明し、了承されたので、新システムの設計及び構築を進めることになった。
設問1:〔データ収集APIに用いる通信プロトコルの検討〕について答えよ。
(1)本文中の下線①について、全国のIoT機器からデータ収集用サーバに送信される1時間当たりの最大となる気象データ量を答えよ。答えはMバイト単位とし、小数第1位を四捨五入して整数で求めよ。ここで、1Mバイトは1,000kバイト、1kバイトは1,000バイトとする。
模範解答
300
解説
解答の論理構成
-
条件の整理
- IoT機器は全国に「10,000台設置する計画」とある。
- 1台当たりの送信データは「1件当たり最大500バイト」。
- 送信間隔は「1分ごとに」データ収集用サーバへ送信。
-
1台当たり1時間の送信量
- 1時間は60分なので
- 1時間は60分なので
-
10,000台合計の1時間当たり送信量
-
単位換算
- 問題指定:「1Mバイトは1,000kバイト、1kバイトは1,000バイト」
-
四捨五入指定
- すでに整数値で「300」であるため四捨五入しても「300」。
よって解答は 300 Mバイト となります。
誤りやすいポイント
- 「500バイト」を「500kバイト」と読み違える。
- 送信間隔を「1時間ごと」と誤認し、×60 を忘れる。
- 1Mバイト=1,024kバイトとする二進接頭辞で計算してしまう。
- 小数第1位を四捨五入する指示を見落とし、端数処理を誤る。
FAQ
Q: 500バイトはヘッダも含めた値ですか?
A: 設問では「1件当たり最大500バイトの気象データ」と記載されており、ヘッダは考慮外です。計算は500バイトそのものを用いれば足ります。
A: 設問では「1件当たり最大500バイトの気象データ」と記載されており、ヘッダは考慮外です。計算は500バイトそのものを用いれば足ります。
Q: IoT機器が未稼働の時間帯を考慮すべきですか?
A: 本問は「最大となる気象データ量」を求めるため、全台が毎分送信すると仮定して計算します。
A: 本問は「最大となる気象データ量」を求めるため、全台が毎分送信すると仮定して計算します。
Q: 1Mバイトを1,024kバイトとしない理由は?
A: 設問が「1Mバイトは1,000kバイト、1kバイトは1,000バイト」と明示しており、十進換算を指示しているためです。
A: 設問が「1Mバイトは1,000kバイト、1kバイトは1,000バイト」と明示しており、十進換算を指示しているためです。
関連キーワード: LPWA, バイト換算, データ量計算, スループット, プロトコルヘッダ
設問1:〔データ収集APIに用いる通信プロトコルの検討〕について答えよ。
(2)本文中の下線②について、適切な通信プロトコル名の略称を5字以内で答えよ。
模範解答
MQTT
解説
解答の論理構成
- 送信頻度・台数から考える必要条件
- 本文には「IoT機器は全国に10,000台設置…1分ごとに…送信する」とあります。
- つまりサーバ側には短い間隔で大量の小容量パケットが集中します。
- HTTP の欠点を回避する条件
- 本文の引用:「通信の都度TCPコネクションを確立して通信を行うHTTPではなく、②TCP上でHTTPよりプロトコルヘッダサイズが小さく、多対1通信に対応するプロトコルを用いる」。
- ポイントは
① 「TCP上」
② 「HTTPよりプロトコルヘッダサイズが小さい」
③ 「多対1通信に対応」
- これらを同時に満たす代表的なIoT向けプロトコル
- MQTT は TCP 上で動作し、フィックスドヘッダが2バイトと極小。
- Publish/Subscribe 型なので多数のデバイス(多)から 1 つのブローカ(1)へ効率的に集約できます。
- 代替候補と比較
- CoAP はヘッダが小さいものの UDP 上であり条件①を満たしません。
- AMQP はヘッダが大きく小型センサ向けではなく、HTTP/2 や WebSocket はヘッダ軽減効果が限定的です。
- よって ② に入る略称は 「MQTT」と結論付けます。
誤りやすいポイント
- 「UDP の方が軽いから CoAP」としてしまう
→ 問題文に「TCP上」と明記されています。 - 「WebSocket は HTTP より軽い」と誤解する
→ 実際には初回ハンドシェイクで HTTP を使用し、ヘッダも MQTT ほど小さくありません。 - 「AMQP も Publish/Subscribe だから適合」と考える
→ プロトコル自体が大型で、メッセージングミドルウェア向き。ヘッダサイズの条件②を満たしにくいです。
FAQ
Q: MQTT は LPWA 回線でも問題なく使えますか?
A: MQTT は小さなヘッダと QoS レベル選択により、低帯域・高遅延の LPWA 回線でも効率的に動作します。
A: MQTT は小さなヘッダと QoS レベル選択により、低帯域・高遅延の LPWA 回線でも効率的に動作します。
Q: ブローカが単一障害点になりませんか?
A: MQTT ブローカはクラスタリングやロードバランシングに対応しており、冗長構成で可用性を確保できます。
A: MQTT ブローカはクラスタリングやロードバランシングに対応しており、冗長構成で可用性を確保できます。
Q: TLS を付けるとヘッダが大きくなりませんか?
A: TLS で暗号化しても MQTT 固有のヘッダは 2 バイトのままなので、追加されるのは TLS レコード層のオーバーヘッドのみです。
A: TLS で暗号化しても MQTT 固有のヘッダは 2 バイトのままなので、追加されるのは TLS レコード層のオーバーヘッドのみです。
関連キーワード: MQTT, Publish/Subscribe, LPWA, TCP, プロトコルヘッダ
設問2:〔FWの許可ルールの設計〕について答えよ。
(1)表2中の a ~ c に入れる適切な字句を答えよ。
模範解答
a:200.a.b.13
b:200.c.d.101
c:TCP/443
解説
解答の論理構成
-
送信先 IP アドレス [ a ]
- 問題文では情報提供系について
「“情報提供先アプリから…情報提供用サーバへのアクセスに対しては、通信プロトコルの制限を行うが、インターネットの接続元IPアドレスによる制限は行わない。”」
とあるため、インターネット→情報提供用サーバへの HTTPS を許可するルールが必要です。 - 表2でインターネット側から最初に TCP/443 を許可する宛先は [ a ]。
- データ収集用サーバは既にルール1で扱われ、データ分析用サーバは外部公開不要なので、残るのは情報提供用サーバ “200.a.b.13”。
⇒ [ a ]=“200.a.b.13”
- 問題文では情報提供系について
-
送信元 IP アドレス [ b ]
- 保守作業について
「“L社の保守用PCから各サーバへのアクセスに対しては…SSHだけを許可する。”」 - 表2のルール3〜5は送信元 [ b ] から各サーバへ TCP/22 を許可しており、まさに保守用 PC 専用の設定です。
- 問題文で保守用 PC の IP は “200.c.d.101” と示されている。
⇒ [ b ]=“200.c.d.101”
- 保守作業について
-
プロトコル/宛先ポート番号 [ c ]
- 外向き通信について
「“各サーバからインターネットへのアクセスに対しては…任意のWebサイトへのHTTPSだけを許可する。”」 - HTTPS の TCP ポートは “443”。
- 表2のルール6〜8は各サーバ → インターネットで [ c ] を指定している。
⇒ [ c ]=“TCP/443”
- 外向き通信について
誤りやすいポイント
- ルール1とルール2の違いを見落とし、両方ともデータ収集用サーバだと思い込む。ルール番号ごとに宛先ポートの有無を確認するとミスを防げます。
- 保守用 PC の IP を「any」にしてしまい、SSH を誰にでも開放してしまう。指示文には“保守用PCから”と限定されています。
- HTTPS のポート番号を 443 ではなく 8443 や 80 と混同するケース。外向き通信に限定されていることも見逃しやすいです。
FAQ
Q: 情報提供用サーバも TCP/80(HTTP)を開けるべきでは?
A: 指示文は“通信プロトコルの制限を行う”と明示し、HTTPS のみ許可を想定しています。HTTP を許可すると平文通信になり要件外です。
A: 指示文は“通信プロトコルの制限を行う”と明示し、HTTPS のみ許可を想定しています。HTTP を許可すると平文通信になり要件外です。
Q: ステートフル FW なので応答パケットはどう扱われますか。
A: 注記1に“応答パケットを自動的に通過させる”とあるため、表2では外向き通信(ルール6〜8)のアウトバウンドを許可すれば、戻りのパケットは追加設定不要です。
A: 注記1に“応答パケットを自動的に通過させる”とあるため、表2では外向き通信(ルール6〜8)のアウトバウンドを許可すれば、戻りのパケットは追加設定不要です。
Q: 保守用 PC が社内 LAN の別 IP に変わったら FW ルールは?
A: 送信元アドレス [ b ] を新 IP に書き換えるだけでよい。ルールの趣旨は“特定端末からのみ SSH を許可”なので、IP 変更時は必ず更新します。
A: 送信元アドレス [ b ] を新 IP に書き換えるだけでよい。ルールの趣旨は“特定端末からのみ SSH を許可”なので、IP 変更時は必ず更新します。
関連キーワード: ファイアウォール, ステートフルインスペクション, HTTPS, SSH, アクセス制御
設問2:〔FWの許可ルールの設計〕について答えよ。
(2)L社の保守用PCを用いてデータ分析用サーバのOSやミドルウェアなどの更新ファイルをインターネットから取得して適用する場合、表2のどのルールによって許可されるか。表2の項番を全て答えよ。
模範解答
4, 7
解説
解答の論理構成
-
保守用 PC からサーバへログイン
- 【問題文】「L社の保守用PCから各サーバへのアクセスに対しては、…SSHだけを許可する。」
- データ分析用サーバの IP は【表2】「200.a.b.12」。
- 【表2】項番「4」は
「送信元 b(=L社) → 宛先 200.a.b.12、プロトコル TCP/22」。 - よって、SSH ログインは項番「4」で許可される。
-
サーバからインターネットへ更新ファイルを取得
- 【問題文】「各サーバからインターネットへのアクセスに対しては、…HTTPSだけを許可する。」
- データ分析用サーバ(200.a.b.12)発の HTTPS は【表2】項番「7」
「送信元 200.a.b.12 → 宛先 any、プロトコル c(=TCP/443)」で許可。 - なお、FW はステートフルなので、ダウンロード時の応答パケットは自動通過する。
-
以上より、保守用 PC で OS/ミドルウェア更新を行う一連の通信は
「4, 7」によって許可される。
誤りやすいポイント
- 「3」を選んでしまう
データ収集用サーバ(200.a.b.11)宛てなのでデータ分析用サーバには該当しない。 - アウトバウンド通信は許可不要と誤解
ステートフルでも「サーバ→インターネット」の開始パケットは明示的に許可が必要。 - SSH と HTTPS を混同
保守操作(SSH)は PC→サーバ、更新取得(HTTPS)はサーバ→Internet という方向の違いを見落としがち。
FAQ
Q: サーバからの HTTPS 通信は戻りの応答だけ許可すれば良いのでは?
A: 開始パケットが FW を通過できなければ通信自体が成立しません。よって項番「7」のようにアウトバウンド方向を許可するルールが必要です。
A: 開始パケットが FW を通過できなければ通信自体が成立しません。よって項番「7」のようにアウトバウンド方向を許可するルールが必要です。
Q: ルール参照順(小さい順)の影響はありますか?
A: 今回はどちらも該当ルールが唯一なので順序の影響はありませんが、他に広い許可ルールが先にある場合は意図しない許可・遮断が起こるため注意が必要です。
A: 今回はどちらも該当ルールが唯一なので順序の影響はありませんが、他に広い許可ルールが先にある場合は意図しない許可・遮断が起こるため注意が必要です。
Q: IPv6 を併用する場合はどうなりますか?
A: IPv6 アドレスを用いる場合、同様の許可内容を IPv6 用 ACL として追加する必要があります。ポート番号とプロトコル種別の考え方は同じです。
A: IPv6 アドレスを用いる場合、同様の許可内容を IPv6 用 ACL として追加する必要があります。ポート番号とプロトコル種別の考え方は同じです。
関連キーワード: SSH, HTTPS, ファイアウォール, ステートフルインスペクション, アウトバウンド通信
設問3:〔処理遅延対策の検討〕について答えよ。
(1)本文中の d に入れる適切な字句を、図1の構成要素名で答えよ。
模範解答
d:FW
解説
解答の論理構成
-
本文には、通信量増加時にどこへ負荷が集中するかが示されています。
引用:
・「全国に設置したIoT機器からS社クラウドのFWを経由してデータ収集用サーバにアクセスする通信が増加する。」
・「情報提供先アプリからS社クラウドのFWを経由して情報提供用サーバにアクセスする通信が増加する。」
いずれの文にも共通して登場するのが「S社クラウドのFW」です。 -
次の一文が d の対象を特定します。
引用:
「特に d については、データ収集機能の通信と情報提供機能の通信の両方が経由する」
データ収集機能と情報提供機能、両方の通信が必ず通過する装置は「FW」しかありません。 -
したがって、d に入るのは「FW」と結論付けられます。
誤りやすいポイント
- 「S社クラウドの○○」という表現からサーバを思い浮かべ、「データ収集用サーバ」や「情報提供用サーバ」を選択してしまう。両方の通信が必ず通るのはFWであって各サーバではありません。
- 「FW」が既に表2で頻出しているため、あえて別の用語を探そうとして迷う。
- 図のみを眺めて判断し、本文中の「FWを経由して」という明示的記述を見落とす。
FAQ
Q: 「FW」は具体的にどのような役割を果たしていますか?
A: インターネットとS社クラウド内部ネットワークの境界に配置され、表2の許可ルールに基づいて通信を制御します。IoT機器や情報提供先PCからの全トラフィックがまずFWを通過するため、通信増加時はFWがボトルネックになり得ます。
A: インターネットとS社クラウド内部ネットワークの境界に配置され、表2の許可ルールに基づいて通信を制御します。IoT機器や情報提供先PCからの全トラフィックがまずFWを通過するため、通信増加時はFWがボトルネックになり得ます。
Q: なぜロードバランサではなくFWが選択肢となるのですか?
A: 問題文に「S社クラウドのFWを経由して」と明記されており、ロードバランサの記述はありません。両方の通信経路に共通して存在する要素としてFWが特定できます。
A: 問題文に「S社クラウドのFWを経由して」と明記されており、ロードバランサの記述はありません。両方の通信経路に共通して存在する要素としてFWが特定できます。
Q: e と f はどのような性能指標ですか?
A: e は「単位時間内に処理できる通信の量」を示すスループット、f は「同時に処理できる接続元の数」を示すセッション数(同時接続数)です。FWの性能評価でよく用いられます。
A: e は「単位時間内に処理できる通信の量」を示すスループット、f は「同時に処理できる接続元の数」を示すセッション数(同時接続数)です。FWの性能評価でよく用いられます。
関連キーワード: ファイアウォール, スループット, セッション数, ボトルネック
設問3:〔処理遅延対策の検討〕について答えよ。
(2)本文中の e、f に入れる適切な字句を解答群の中から選び、記号で答えよ。
解答群
ア:コネクション数
イ:スケーラビリティ
ウ:スループット
エ:フィルタリングルール数
オ:プロビジョニング
カ:ポート数
模範解答
e:ウ
f:ア
解説
解答の論理構成
- 問題文には、処理遅延対策として
“単位時間内に処理できる通信の量を表す e と、同時に処理できる接続元の数を表す f が、必要な性能を満たすよう管理する”
と明記されています。 - “単位時間内に処理できる通信の量”はネットワーク設計や性能試験で用いられる定番指標で、一般に「スループット」と呼ばれます。解答群の中でこれに該当するのは “ウ:スループット” だけです。
- “同時に処理できる接続元の数”はセッション管理や負荷分散で使われる「コネクション数」を示します。解答群の該当語は “ア:コネクション数” です。
- よって
・e=“ウ:スループット”
・f=“ア:コネクション数”
となります。
誤りやすいポイント
- 「スケーラビリティ(イ)」を“単位時間内に処理できる通信の量”と誤読しがちですが、スケーラビリティは“拡張容易性”を指す概念で量的指標ではありません。
- “ポート数(カ)”はTCP/UDPの待受ポートの話であり、接続元の同時数とは別物です。
- “フィルタリングルール数(エ)”はFW設定の管理項目であって性能指標ではありません。
- “プロビジョニング(オ)”はクラウド資源の自動割当てを指す運用用語で、直接的な性能指標ではありません。
FAQ
Q: スループットと帯域幅は同義ですか?
A: 帯域幅は理論的な最大転送能力、スループットは実際に処理・転送できた量を示す実効値です。混同しないようにしましょう。
A: 帯域幅は理論的な最大転送能力、スループットは実際に処理・転送できた量を示す実効値です。混同しないようにしましょう。
Q: コネクション数を増やすには何を確認すれば良いですか?
A: OSや FW の最大同時接続設定、LB やサーバのファイルディスクリプタ数上限などがボトルネックになることが多いです。
A: OSや FW の最大同時接続設定、LB やサーバのファイルディスクリプタ数上限などがボトルネックになることが多いです。
Q: スループットを高める典型的な手段は?
A: 帯域幅増強、パケットロス低減、TCP ウィンドウサイズ調整、アプリケーションレイヤの圧縮やプロトコル変更などがあります。
A: 帯域幅増強、パケットロス低減、TCP ウィンドウサイズ調整、アプリケーションレイヤの圧縮やプロトコル変更などがあります。
関連キーワード: スループット, コネクション数, 負荷分散, スケールアウト, 指標管理
設問3:〔処理遅延対策の検討〕について答えよ。
(3)本文中の下線③について、新システムに追加する機能の名称を解答群の中から選び、記号で答えよ。
解答群
ア:IDS
イ:NAS
ウ:WAF
エ:ロードバランサー
模範解答
エ
解説
解答の論理構成
- 【問題文】では、処理遅延対策として「③スケールアウトによってシステムの処理性能を高めるために必要な機能」を追加すると述べています。
- スケールアウトとは、同種のサーバを水平に複数台並べて処理を分散し、総処理能力を高める方式です。
- 複数台に分散するとき、利用者からの通信を均等に割り振る装置・機能が不可欠です。その代表がロードバランサー(負荷分散装置)です。
- 解答群を見ると、ロードバランサーに該当するのは「エ」です。他の選択肢は以下のとおりで、スケールアウト実現の直接要件には該当しません。
- 「ア:IDS」は侵入検知。
- 「イ:NAS」はストレージ装置。
- 「ウ:WAF」はWebアプリケーションの脆弱性防御。
- 以上より、③に入る機能はエ:ロードバランサーとなります。
誤りやすいポイント
- 「WAF」はWebサーバ前段に置かれるため、ロードバランサーと混同しやすいですが、目的は「攻撃防御」であり「負荷分散」ではありません。
- スケールアウト=台数増=自動的に性能向上、と短絡的に考えがちですが、「通信を振り分ける機能」がなければ一部のサーバに集中してしまいます。
- IDS/IPSといったセキュリティ系装置は性能とは無関係ではないものの、設問は「システムの処理性能を高める」ことに着目している点を見落としがちです。
FAQ
Q: ロードバランサーを導入すると、どの処理が高速化されますか?
A: 【問題文】にある「データ収集API」と「情報提供API」への要求を複数台に分配できるため、各サーバのCPU・メモリ使用率が平準化され、結果として応答時間の短縮と同時接続数の増加が期待できます。
A: 【問題文】にある「データ収集API」と「情報提供API」への要求を複数台に分配できるため、各サーバのCPU・メモリ使用率が平準化され、結果として応答時間の短縮と同時接続数の増加が期待できます。
Q: スケールアウトとスケールアップはどう違いますか?
A: スケールアウトは「サーバ台数を増やす」水平拡張、スケールアップは「1 台のサーバを高性能に置き換える」垂直拡張です。設問は前者に対応する機能を問うています。
A: スケールアウトは「サーバ台数を増やす」水平拡張、スケールアップは「1 台のサーバを高性能に置き換える」垂直拡張です。設問は前者に対応する機能を問うています。
Q: ロードバランサーだけ導入すれば自動的にスケールアウトできますか?
A: ロードバランサーは必須要素ですが、各サーバの設定統一、セッション維持方式、バックエンドのデータ同期なども合わせて計画する必要があります。
A: ロードバランサーは必須要素ですが、各サーバの設定統一、セッション維持方式、バックエンドのデータ同期なども合わせて計画する必要があります。
関連キーワード: スケールアウト, 負荷分散, TCP, 性能管理, 水平拡張


