またーり作成中

IT、電子工作、裁縫とかとか

2019春期・データベーススペシャリストの反省

前書き

2019年4月21日、春期のデータベーススペシャリスト試験を初めて受けてきました。去年の秋期からIPA試験を10年ぶりに受け始めました。理由はカッコいいものではなくてw 新入社員当時、私くらいの年齢の先輩が非常にできる方でカッコよくてネットワークスペシャリストデータベーススペシャリストを持っていたからです。勉強を始めると、ネスペもデスペもすごい実践的で勉強しているとめちゃ為になり業務にすぐ使えます。受験を迷っている人はオススメです。受かるまで毎年受けますよ。今回はデータベーススペシャリスト第1回目の反省です。

良かった点(当日)

  • 試験に行ったこと

欠席率50%、終日の試験なのでまずは行けた自分を褒める。偉かった・・!!!

  • 午前1免除だったこと

体力温存の面でも勉強量でも超絶大切ポイント。午前1免除がない人はまずは免除枠になることを目指す。

  • 午前2の対策はできていたこと

わりと解けた感触(自己採点はまだ)。午後への気力体力を温存するためにも午前取れないと、午後身が入らない。午前で足切りされてんじゃないの、せっかく解いても採点されないんじゃないのとやる気がでない。

改善点(当日)

  • 午後対策不足。特に午後2が解けなかった。

これはダイレクトにかけた時間分の結果です。午後2あまり過去問解かずにいったら死にました。

  • 午後1時間配分の失敗

1問めにはまりすぎて、2問め解く時間が20分になった。原因は2問を一気に解く練習をしていなかったこと。時間を意識し解く練習が必要。

勉強法に関する今後の改善

  • 試験2週間前は何もできなくても大丈夫なレベルに仕上げておかないストレスがすごい。

勉強しなきゃいけないのに子供がいると時間がとれない。そのストレスがすごく精神を病むので注意。直前は勉強しなくてもよいレベルまで仕上げておけば多分幸せになれると思う。

  • ストレスを少なくする勉強を心がける。

直前からやり始めるとやりたいのにできないストレスで潰れるので、毎日1問でも解いて半年くらい前から備える。つまり
これから秋期のネスペ準備を始める。

まとめ
次はネットワークスペシャリストを秋に受けるわけだけど、早速準備を始めます。ベンダ資格を取ったりして知識力を増やしつつ頑張るわー!

Amazon Web Services 基礎からのネットワーク&サーバ構築 #8

CHAPTER8の感想

この章は今まで作ったサーバにwordpressをインストールして動作確認するまでです。実務や検証ではwordpressをインストールすることは何度もありましたが、今回のように手順を示されてやったことはなく新鮮でした。内容はあまりネットワークの話ではなくまとめ章としての色が濃いです。内容如何、難易度如何、ここまできたという達成感がある章でした。

詳細

  • この章を読む終えた時点で把握できているであろうこと
    • パブリックサブネット、プライベートサブネットの構築。
    • パブリックサブネットにWebサーバを構築。
    • プライベートサブネットにDBサーバを構築。
    • NATサーバの構築。
    • wordpressmysqlのインストール
  • 構築したDB WEB NATサーバは以降の章では使わないようなのでこの章終了と同時に全部削除しました。

Amazon Web Services 基礎からのネットワーク&サーバ構築 #7

CHAPTER7の感想

NATサーバの構築ですね。本当に親切に書かれていて迷うところは一切ないかと思います。

詳細

  • NATサーバ
    • 2つのネットワークインターフェースを持つ。一般に片方にはパブリックIPを設定、もう片方にはプライベートIPを設定する。
    • プライベートサブネットとNATの通信は一方通行。プライベートサブネットからNATへの通信は許可。反対は拒否。
    • IPマスカレードとのNATの区別についてメモ書きがあり。へー、最近はIPマスカレードというのは言わなくなってきてるんだ。知らなかった。 
  • NATサーバ構築手順
    • セキュリティグループを作る
      • ここで踏み台からのインバウンド22ポートの送信元設定だけど表7-1の送信元IPは10.0.1.10/32 CIDR表記でよろです。
      • ファイヤーウォールにはステートレスとステートフルの2種類がある。
      • AMIからインスタンスを起動する。AMIは『ami-vpc-nat』で検索して64bitで最新のものを使う。
      • 送信先送信元のチェックを無効にする。
        • 偽装パケットを除外するEC2のデフォON機能。NATについては送信元IPや宛先アドレスを書き換えるからこのチェックは無効にする必要がある。
    • ルートテーブルの構成
    • 踏み台からDBインスタンスに入ってcurlhttps httpプロトコルでコンテンツが取得できるか確認。
    • NATサーバを落として上をもう一度実施し、プライベートサブネットからはNATサーバを通さないと通信ができないことを確認。

Amazon Web Services 基礎からのネットワーク&サーバ構築 #6

CHAPTER6の感想

この回は踏み台サーバーを介してプライベートサブネットに接続するという流れですね。とても丁寧に書かれていてすごいなーと思いながら読みました。ところで、文章を書いているとデスマスの統一で迷います。
いつも気分で書いているためなかなか統一できないですね。w

詳細

  • アベイラビリティゾーンが異なると無駄なコストが発生する件について
    • これは私の独り言だが、業務ではpublicとprivateのサブネットでは当然同じアベイラビリティゾーンになるように設計しているけど、時々ゾーンのインスタンス容量オーバーのエラーが出て作成でいないことあるんだよな。仕方なく違うゾーンになってしまったり、もしくはインスタンスタイプ変えざるをえなかったりすることがあるよなあ。
  • RouteTable
    • プライベートサブネットの場合はassociateしない。インターネットに接続することがないので不要
  • AWSの独自ルールで、Sourceにセキュリティグループを設定することができる。
    • 無意識で使っていたけどこれほんと便利だよね。
  • ICMPの解放
    • 私が今持っているのはこの本の初版なので改訂版だと修正が入っているかもしれないがインバウンドルールの選択のプロトコル表示にIPv6が入ってたりコンソール結構変わっているなあ。AWSのコンソールどんどん変わるから固定化したメディアで手順残すの難しいよなあ。
    • 疎通確認かー。もう80で疎通が取れないサーバーは削除してスケールアウトするようにしているしICMPで疎通とるようなこともなくなってきているのではと思うのですが、最近皆さんこのポートどう使っているんでしょうか?私はふさいでます。
  • SCP
  • 踏み台サーバを使ってログインする

Amazon Web Services 基礎からのネットワーク&サーバ構築 #5

CHAPTER5の感想

この章のタイトルは『HTTPの動きを確認する』。章まるごとHTTPでAWSはお休みですね。『HTTPをしゃべってみよう』という章があります。キャッチーですね。大好きです。サーバー側のサンプルjsですが、リンク切れを起こしていましたので下に書いていますが問題あったら消すので言ってください。内容はHTTPプロトコルの基礎です。これはweb系を仕事にしてる場合必須な知識かなと思います。

詳細

var http = require('http');
http.createServer(function(req,res){

    var data ={
        RequestHeader: req.headers
    };

    if(req.method == 'GET'){
        response(res,data);
    }else if(req.method == 'POST'){ 
        req.on('data',function(body) {
            data.RequestBody = body.toString();
            req.on('end',function(){
               response(res,data);
            });
        });
    }
}).listen(8080);

function response(res,data){
    var json = JSON.stringify(data);
      res.writeHead(200,{'Content-Type':'application/json','Content-Length':json.length});
    res.end(json);
}
telnet ec2-xxxxxxxxxxxx.compute-1.amazonaws.com 8080

POST / HTTP/1.0
User-Agent: OreOreAgent
Content-Length: 3

abc
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 87
Date: Sat, 09 Feb 2019 12:31:46 GMT
Connection: close

{"RequestHeader":{"user-agent":"OreOreAgent","content-length":"3"},"RequestBody":"abc"}Connection closed by foreign host.

Amazon Web Services 基礎からのネットワーク&サーバ構築 #4

CHAPTER4の感想

この章のタイトルは『サーバーソフトをインストールする』ですがhttpdのインストールは速攻で終わる。この章のメインはhttpdを起動させエンドユーザ側からhttp://でアクセスできるまで。途中で必要なネットワークの基礎知識にも触れていてこの本は新人研修に最高なのではないかと思い始めてきた。

私とapatchの関係性だけど、最近はnginxに浮気してた。けどやはりapatchに戻り公式マニュアルを読み直している。マニュアルを見ているとこの子の実力をもっと生かしてあげなければと思う。Webサーバ構築はそれこそ何度もやったことがある手順だけど誰かから習ったことは考えたら1度もないためとてもよい章だった。

詳細

Amazon Web Services 基礎からのネットワーク&サーバ構築 #3

CHAPTER3の感想

この章を読むと、PublicからSSHでアクセス可能なEC2インスタンスをまずは作れるようになります。手順が本当に細かく載っているので初めて作る人でも迷うことなく作れると思う。
SSH接続の章が終わったところで、『なぜこんなこと(SSHでサーバにログイン)ができるのでしょうか?』と始まったのには驚いた。本名がネットワーク基礎を謳っているからね。作業の途中で関連する知識の解説が入る構成は頭に入りやすく良いですね。

詳細

  • Amazon Linux 2
    • 本の内容には関係ないですが、いつもインスタンス上げる時はMyAMIからだったため気が付かなかったけど、Amazon Linux 2って次世代のAmazon Linux出てますね。これはサポートに問い合わせて現行のAmazon Linuxからの移行スケジュール組まないといけないわー。systemdに変わるのね。ちょっと自分の開発環境を早めにアップして慣れておかないといけないね。
  • EC2インスタンスの作成
    • 個人的に大量に作ったことがあるが、何か見落としている項目がないか探しながら実施。この導入章では新しい発見はなかった。
    • SSHは解放したくないので初期からAnywhereではなくMy IPにしました。多分すぐ後続の手順でセキュリティとして出てくるんだろうけど、一瞬でもポート開けたくない。
  • SSHでの接続
  • なんでSSHにサーバに接続することができるか
    • この展開には驚いた!さすがネットワークの本。
    • EGP
      • BGP-4
    • IGP
      • OSPF
      • RIP
  • なぜログインしてコマンドを入力してサーバーを操作できるようになるのか。
    • sshd
    • ポート、TCP UDP
    • どのポートでどのサービスが待ち受けているか
      • sudo lsof -i -n -P
    • loopback address
    • well known port
  • パケットフィルタリング
    • セキュリティグループ