大学生がネットワークスペシャリスト(通称ネスぺ)に受かるまでの2年間の道のり

2019年秋のネットワークスペシャリスト試験に合格することができ、とりあえず情報系の試験がひと段落したかなと思うので、まとめたいと思います。

2年間の道のり

2018年春 基本情報技術者試験 合格

2018年秋 応用情報技術者試験 不合格

2019年春 応用情報技術者試験 合格

2019年秋 ネットワークスペシャリスト 合格

半年に一度の情報処理系の試験を2年間受け続けました。応用情報は1回落ちたので丁度2年かかりました。

ネットワークスペシャリスト試験とは

f:id:masato338:20200105212827p:plain

[参考] https://www.jitec.ipa.go.jp/1_11seido/nw.html(試験の公式サイト)

 

合格率 (2019年秋季)

f:id:masato338:20200107154900p:plain

合格率はネットワークスペシャリストが14.4%と2019年秋季に行われた高度試験の中では一番低かったです。

問題の所感

問題構成は下の画像の通りで、4つの部門に分かれています。

f:id:masato338:20200105213130p:plain

午前Ⅰ

午前I は応用情報技術者試験の午前の問題と同じ者が抽出されて半分くらい出ているようです。応用情報もしくは、高度試験に2年以内に合格していれば、免除されます。自分も、応用情報を持っていたので、免除されました。免除されると集合時間が午前10時半ごろになり、朝が辛いということは無くなります。

午前Ⅱ

午前Ⅱはネットワークに関する4択問題です。ここは記憶しているかどうかが重要で、覚えていれば、簡単に解ける問題だったと思います。午前は4択問題なので比較的、適当に答えても、午後が解けるレベルの知識があれば6割に到達するのではないでしょうか

午後Ⅰ

90分で2問の大問を解きます。3問のうち、どれを解くのか選んでいたら10分ぐらい立っていて、焦った覚えがあります。

午後Ⅱ

やはりこの午後Ⅱが一番の難関だと思います。120分で大問1つであり、大問の中で、問題がかなり関係している部分が多いため、途中でわからなくなると、その後の問題は結構厳しくなると思います。

 

学習方法

以下のような本を使って勉強しました。特に「ネスぺの基礎力」は午後の試験を受ける上でめちゃめちゃ勉強になりました。

参考書

f:id:masato338:20200107160345p:plain

 

過去問集

f:id:masato338:20200107160507p:plain

 

株式会社アカツキでサマーインターンに参加しました(2019年夏)

概要

2019年8月28日から9月20日まで株式会社アカツキでサーバーサイドエンジニアとしてサマーインターンに参加させていただきました。

 

自己紹介

神奈川の大学4年生です。普段はネットワークに関する研究をしています。

今回はインフラ部分をを触らせていただけるということで、このインターンに参加しました。

 

やったこと

やったこととしては以下の2つに大きく2つです

タスク1

My検証環境においてAPIレスポンスを一時的に止めるツールの作成

タスク2

本番環境をCloudFormationで作成するためのテンプレートの追加・編集

  • Auto Scaling グループ (ASG)の作成 
  • CloudWatch アラームの作成
使った技術 

Ruby, Rails, AWS など

タスク1に関して

普段の開発ではAWSの開発用サーバ環境を利用して新機能などの検証を行なっているのですが、データを破壊的に変更するなどの特殊な検証をする時のために、My検証環境というものが用意されています。これは、以下の図のようにDockerを利用して個人PC上に検証環境を構築するものです。

f:id:masato338:20190920163617p:plain



 以下のような方法でレスポンスを止めるミドルウェアAPI Stopツールを作成しました。この機能は特定のAPI通信を待っている間にしか発生しない問題などを再現するために作成しました。

f:id:masato338:20190920163719p:plain
 以下のような問題にぶつかりましたが、メンターさんと相談しながら解決することができました。

f:id:masato338:20190920163924p:plain

タスク2に関して

まずはじめに、AWS CloudFormationとは

AWS CloudFormation は、クラウド環境内のすべてのインフラストラクチャリソースを記述してプロビジョニングするための共通言語を提供する。」(

https://aws.amazon.com/jp/cloudformation/ 参照) とあります。つまりは、webブラウザ上でぽちぽちリソースを作る必要がなくなりコードでAWSリソース管理ができる ということです。

 

本番環境では手動でスケールする方法とCPU使用率に応じてスケールする方法の両方を使えるようにして、より柔軟にスケールを行っています。以下のような環境でAuto Scaling グループ2をCloudFormationでテンプレート化しました。新しくできたインスタンスにコンテナが割り当てられないという問題がありましたが、メンターさんの助けもあり、lambdaなどを編集して解決することができました。

f:id:masato338:20190920164216p:plain 

別のタスクとして、CloudFormationでCloudWatch アラームを作成しました。特にロードバランサに関するものとRDSに関するもの約20個を作成しました。

例)

  • CPU使用率の上昇
  • DBコネクション数の上昇
  • 遅延の増大

f:id:masato338:20190920164638p:plain

結果として、Railsのコアな部分やawsインフラに関するタスクをさせていただきました。

社内環境

服装が自由でよく、また、体に良さそうな弁当や飲み放題のコーヒーなどが用意されており、とても働きやすい環境でした。

終わりに

普段は触れることのできない大規模なインフラを実際に触らせてもらったり、タスクをしたりすることで、普段の学生生活の中では経験できない貴重な体験をさせていただけたと思います。今回学んだことを生かして、研究か今後の就活などたくさんの場面で生かしていけたらいいなと思っています。

最後に、何度も質問したのにも関わらず毎回丁寧に答えてくださったメンターさんに感謝です。