あるけみーの小屋

趣味の話とか色々

EC2へSSH接続してみる

みなさん、AWSしてますか?

 

前回の記事でアウトプットをしていくと宣言したので、今回は第1回目。テーマは「EC2を作ってSSH接続してみよう」です。めちゃくちゃ簡単ですが、甘く見ると痛い目に遭います(経験済み)。

 

今回やりたいこと、ゴール

  • AWSマネジメントコンソールからEC2を作成する
  • 作成したEC2にSSH接続をする

 

前提知識

EC2(Elastic Compute Cloud)

AWSが提供する仮想サーバ。サーバの起動時間によって課金される従量課金制。

※サーバについては下記参照

https://wa3.i-3-i.info/word144.html

SSH(Secure SHell)

暗号化などをし安全にリモートコンピュータ(ここではEC2)に接続するための方法。

 

EC2作成

0.マネジメントコンソールログイン等

AWSマネジメントコンソールにログイン後、サービスからEC2を選択。EC2ダッシュボードから「インスタンスを起動」を選択し、「インスタンスを起動」をクリック。

f:id:fieldpaddy:20210330133320p:plain

f:id:fieldpaddy:20210330133519p:plain

1.AMIの選択

インスタンスを起動する際、OSの種類などが選べる。ここでは無料利用枠の「Amazon Linux 2」を選択。

※AMI: Amazon Machine Image 

f:id:fieldpaddy:20210330134209p:plain

2.インスタンスタイプの選択

サーバのスペックを選択できる。vCPUやメモリが高いものを選べば性能は良くなるが当然時間当たりの単価は高くなる。ちなみに「ファミリー」には色々種類があり、やりたいこと・要件に応じて変えていく必要がある。今回は無料利用枠の「t2.micro」を利用。ファミリーやvCPU、メモリによってmicroやlargeなどの名前がつきます。

  • ファミリーのアルファベット部分
    汎用(m):その名の通り汎用的な用途に使用。困ったらこれ。
    バーストパフォーマンス(t):通常は負荷が高くなることはないが、一時的に負荷が高くなるような用途に使用
    コンピューティング最適化(c):CPU性能が必要な用途に使用。
    メモリ最適化(rなど):高性能なメモリが必要な用途に使用。
    ストレージ最適化(iなど):高いIOPSが求められる用途に使用。
    高速コンピューティング(gなど):GPUなどで高速処理が必要な用途に使用。
  • ファミリーの数字部分
    一言で言えば数字が大きいほど最新のハードウェアを利用している。特に理由もなければ一番大きい数字を選んでいいと思う。

f:id:fieldpaddy:20210330134437p:plain

3.インスタンスの設定

色々設定項目はあるが、気にしなくてはいけないのは「ネットワーク」「サブネット」「自動割り当てパブリックIP」だけ。

ネットワーク:通信を行いたいVPCを選択。デフォルトVPCが選択されているが、新しくVPCを作ることをお勧めします。ここでは新しくVPCを作成しております。

サブネットVPCに紐づいてサブネットも作成が必要。こちらもVPCに合わせて新しく作ることをお勧めします。こちらもVPCに合わせてサブネットを新しく作成しています。

自動割り当てパブリックIP:グローバル(パブリック)IPアドレスを付与するかどうかの選択。SSH接続するにはグローバル(パブリック)IPアドレスが必要になるので「有効」を選択。

※厳密に言えば無効にしても後からElastic IPを使うことでグローバル(パブリック)IPアドレスを付与できるが、手順が追加になりIPアドレスの管理も必要なので今回のケースではこの段階でグローバル(パブリック)IPアドレスを割り当てた方が良い。

f:id:fieldpaddy:20210330155610p:plain

4.ストレージの追加

ここで言うストレージとは自宅等で使うPCのHDDやSSDに該当するもの。今回はファイルを保存したりすることはしないためこのままで。

f:id:fieldpaddy:20210330160304p:plain

5.タグの追加

個人で使う分には特に不要かと思いますが、会社とかでは何用のサーバなのかが分かるようにタグをつけます。今回はそのままで。

f:id:fieldpaddy:20210330160607p:plain

6.セキュリティグループの設定

EC2作成段階では一番重要な設定項目。この設定が不十分だと第三者にサーバログインされて悪いこと(曖昧)されます。セキュリティグループは簡単に言えばアクセス制限。サーバに接続しようとするユーザをIPアドレスプロトコルで許可することができる。(セキュリティグループで拒否はできません)

今回SSH接続用に新規のセキュリティグループを作るため、「新しいセキュリティグループを作成する」を選び、任意のセキュリティグループ名を入力します。

タイプには接続を許可するプロトコルを選びます。今回はSSH接続をするだけなのでSSHだけを選びます。また、ソースにはSSH接続を許可するIPアドレスIPアドレス範囲を指定できます。マイIPを選ぶことで今ブラウザにアクセスしているIPアドレスが自動で入力されます。

f:id:fieldpaddy:20210330161246p:plain

7.確認

ここまで設定が完了したら右下の「起動」を押していよいよサーバを立ち上げます。

f:id:fieldpaddy:20210330161934p:plain

その際、キーペアというものを作成する必要があります。キーペアとはいわゆる証明書のようなもので、これがないとEC2に接続ができません。私は既存のキーペアがあるのでそれを使います。

f:id:fieldpaddy:20210330162119p:plain

インスタンスを作成を押すと下のような画面が出てきます。完全に立ち上がるまで数分かかるのでその後「インスタンスの表示」を押してみましょう。

f:id:fieldpaddy:20210330162531p:plain

SSH接続

そしていよいよSSH接続です。現在の構成イメージは下記のようになります。

(この構成のままだとSSH接続ができないのですが、原因は2つほどあります。AWS経験者は是非その理由を考えてみてください。)

f:id:fieldpaddy:20210330175651p:plain

作成したEC2インスタンスにチェックを入れ、「アクション」から接続を押します。

f:id:fieldpaddy:20210330175922p:plain

すると下図のような画面が出るので手順にしたがって接続します。SSHクライアントとは、Macであれば標準で搭載されているターミナル、WindowsであればTeraTerm(要インストール)などのことです。

f:id:fieldpaddy:20210331135438p:plain

では例に記載がある通りコマンドを叩いてみましょう。

f:id:fieldpaddy:20210331135637p:plain

タイムアウトしましたね。接続失敗しましたね。何故でしょうか。もう一度先程の構成図を見て見ましょう。

f:id:fieldpaddy:20210330175651p:plain

さて、このEC2はどうやってインターネットに繋がっているのでしょうか。この状態は(パブリックIPアドレスはあるものの)インターネットから切り離されている状態です。このEC2に接続するためにはインターネットへの抜け道を用意する必要があります。その抜け道というのが次に紹介するインターネットゲートウェイ(IGW)です。

インターネットゲートウェイ(IGW)設定

IGWはVPCの項目から作成できます。

f:id:fieldpaddy:20210331140312p:plain

サービスからVPCを選択すると、左側に「インターネットゲートウェイ」の項目があるのでそれを選択します。

f:id:fieldpaddy:20210331140552p:plain

その後、右上の「インターネットゲートウェイの作成」から作成していきます。

f:id:fieldpaddy:20210331140714p:plain

名前をつけるだけで作成できます。そして、IGWは作ったら終わりではなく、IGWを先程作ったVPCに紐付ける必要があります。

f:id:fieldpaddy:20210331140942p:plain

アクションから「VPCにアタッチ」を選択します。

f:id:fieldpaddy:20210331141145p:plain

スクショみすった

プルダウンから使用可能なVPCを選択し、アタッチしていきます。

よし!これでいけるはず!再トライです!

f:id:fieldpaddy:20210331135637p:plain

あれれーおかしいぞー。またもやタイムアウトです。インターネットへの抜け道は用意したのに。。。

f:id:fieldpaddy:20210331141755p:plain

さて、IGWは用意しましたが、EC2とIGWは繋がっていません。そのためEC2とIGWを繋げる線が必要になります。その線というのが、ルートテーブルです。

ルートテーブルの作成

ルートテーブルはVPCの項目から作成できます。左側のメニューからルートテーブルを選択し、「ルートテーブルの作成」を選びます。

f:id:fieldpaddy:20210331142143p:plain

こちらも名前を記載し、VPCを選び作成します。

f:id:fieldpaddy:20210331142349p:plain

作ったルートテーブルの編集をするため、アクションから「ルートの編集」を選びます。

f:id:fieldpaddy:20210331142501p:plain


ルートの追加を選んだ後、ターゲットのプルダウンからInternet Gatewayを選択します。すると、作成したIGWが出てくるのでそれを選択します。

f:id:fieldpaddy:20210331142829p:plain

f:id:fieldpaddy:20210331143008p:plain

送信先には「0.0.0.0/0」と入力します。(EC2からのトラフィックは全て外に流すという意味になります。)

その後、ルートの保存をします。
では3度目の正直!

f:id:fieldpaddy:20210331143454p:plain

無事接続できました。最後に今回の構成図を載せます。

作成したEC2は忘れないうちに終了しておきましょう。

f:id:fieldpaddy:20210331143645p:plain

 

P.S.

先日先輩に、「SysOpsアドミニストレーターデベロッパー取れば?」と言われたのでまずはアソシエイト取ろうとしてます。ソリューションアーキテクトの知識で十分いけそうなので来月か再来月にでも受験しようと思います。

f:id:fieldpaddy:20210317223235p:plain







 

AWS認定資格に合格しました!

久々の更新。

 

先日、「AWSソリューションアーキテクト プロフェッショナル」に合格しまして、その体験記を書ければと思います。

 

AWSソリューションアーキテクト プロフェッショナル」とは

AWSとはAmazon Web Servicesのことで、いわゆるクラウドサービスのことです。そのAWSの知識を多面的に評価するためにAWSには「AWS認定」 というものがあり、AWSソリューションアーキテクト プロフェッショナルはその中の一つの資格となります。

f:id:fieldpaddy:20210317223235p:plain

今回受験したのは一番左上の資格

 図にもある通り、受験推奨レベルとして「2年間」の実務経験が求められます。実際私はAWS関連の仕事をしてから1年半位となります。もともと去年にアソシエイトのレベルで合格していたので、レベルアップも兼ねてプロフェッショナル合格を目標にしていました。

 

ちなみに受験料はなんと30,000円で、合格すれば会社から受験料の試験はあるものの、不合格となるとお財布に厳しい…(いわゆるベンダ試験はどれもこれくらいしますが)

 

ちなみにアソシエイトとプロフェッショナルでどんな問題が出るのか、サンプル問題を引っ張ってきました。

まずはアソシエイトレベル。

企業は非同期処理を実行する必要があり、分離されたアーキテクチャの一部として Amazon SQS を持っています。同社は、ポーリングリクエストからの空の応答件数を最小限に抑えることを望んでいます。

空の応答を減らすために、ソリューションアーキテクトは何をすべきでしょうか?

A) キューの最大メッセージ保存期間を増やす。
B) キューのリドライブポリシーの最大受信数を増やす。
C) キューの既定の可視性タイムアウトを増やす。
D) キューの受信メッセージ待機時間を延長する。

続いてプロフェッショナルレベル。

あるソリューションアーキテクトは、ビッグデータアプリケーションのコストを削減する必要があります。アプリケーション環境は、Amazon Kinesis データストリームにイベントを送信する数百のデバイスで構成されています。各デバイスは、1 秒あたり 50 KB~450 KB のデータを送信します。シャードは、データを処理してその結果を Amazon S3 に保存するAWS Lambda 関数によってポーリングされます。
毎時間、AWS Lambda 関数は結果でデータについて特異点を識別し、これを Amazon SQS キューに配置する Amazon Athena クエリを実行します。2 つの EC2 インスタンスで構成された Amazon EC2 Auto Scaling グループはキューをモニタリングし特異点を処理する短い (約 30 秒) プロセスを実行します。デバイスは、1 時間に平均 10 個の特異値を送信します。
次の中で、コスト削減に最も適切な方法は何ですか。(2 つ選択)
A. 同じインスタンスファミリでより小さいインスタンスタイプを使用するように Auto Scaling グループの起動構成を変更する。
B. Auto Scaling グループを、Amazon SQS キューに到着するメッセージによってトリガーされる AWS Lambda 関数に置き換える。
C. 10 個のデバイスに対して 1 つのデータストリームシャードの比率に設定されるよう、デバイスとデータストリームを再構成する。
D. 2 個のデバイスに対して 1 つのデータストリームシャードの比率に設定されるよう、デバイスとデータストリームを再構成する。
E. Auto Scaling グループが望む容量を単一の EC2 インスタンスに変更する。 

どちらも知識がなければ正解することは難しいのですが、まずは共通点としては「Amazon SQS」というキーワードが出てきます。しかしアソシエイトではこれだけに対して、プロフェッショナルでは「Amazon Kinesis」「Amazon S3」など複数のキーワードが出てきます。つまり、

・アソシエイトは特定のサービスに対しての知識が必要
・プロフェッショナルは複数のサービスを組み合わせた知識が必要

ということであり、「○○といえばなにか」のような設問はプロフェッショナルレベルではほぼ出てきません。実際のビジネスで起こり得る問題を解決するための知識が求められます。

また、問題文の長さも大きく異なり、プロフェッショナルではこの長さの問題を75問とき続けるという集中力も試されます。 

ぶっちゃけ一言で言えば「とてつもなく難しく、辛い」ということだけご理解頂ければと思います。

どんな勉強をしたか

約1年間合格に向けて少しずつ下記リソースを使って勉強してきました。勉強総時間は記録していませんが、試験直前の1ヶ月で、平日1〜2時間、休日は最低3時間くらいやっていたと思います。

 AWS公式の講座

試験合格のためというよりはAWSの深い知識を習得するための3日間の公式講座を受講しました。3日間で15万円ほどするのですが、会社のお金で受講できました。ただ、試験対策というわけではないので、実際に問題を解いてみるみたいなことはなく、あくまでAWSを使うとこんな事ができるということに焦点をあわせた内容です。試験に合格したいだけということであればあまりオススメはしません。 

書籍

2021年3月現在でも、本はこれ1冊です。

f:id:fieldpaddy:20200827194317j:plain

AWS認定ソリューションアーキテクト-プロフェッショナル~試験特性から導き出した演習問題と詳細解説~

内容としては試験対策にはもってこいの1冊です。この本を3周しました。余談ですが、技術書の内容を完全に把握するには最低でも3周くらいはしないといけないというポリシーを持っているので、そこが合格と不合格の境目かなと個人的に思っています。

ただ3周しても巻末の模擬試験では正答率86%くらい(合格には75%必要)だったので、不十分なまま試験に臨んでしまったと思います。

AWS WEB問題集で学習しよう

SAP | AWS WEB問題集で学習しよう

 最強のWEB問題集です。これも3周しました。現在350問以上あり、単純に合格するだけならここに記載されている問題と解説をすべて読むだけで行けるかもしれません。90日間閲覧で5,480円しますが、それだけの価値はありました。 

 他にやりたかった(やるべきだった)勉強

正直これだけで合格したのは奇跡だったのですが、他にもやるべきことがあったと自覚しています。

AWS公式のドキュメントとよくある質問集

docs.aws.amazon.com

なんでも公式の情報が一番確実です。一次ソースを読むようにしましょう(してない)。

また、各サービスごとによくある質問というものがあるのでそれも読んでおくと更に細かい部分も知識が身につけられます。

AWS Black Belt

aws.amazon.com

 これもかなりの分量はあるのですが、サービスごとにわかりやすくまとめてあるので、読んでおくべきでした。

 

他にもホワイトペーパーなど時間があるなら読みたいものはありますが、このあたりを読み込めばかなり自信を持って試験に臨めるのではないでしょうか。

あとそれから重要なスキルがあります。

英語力

試験で出題される言語は色々選べるのですが、日本語の場合、機械翻訳されているせいかかなり怪しい日本語が大量にあります。 私も試験中に適宜英語に切り替えて読んでいたのですが、普段から英語を読んでいれば初めから英語で受験することもできたのかなと思います。

 

試験当日について

試験は新宿のテストセンターで受験してきました。アソシエイトの受験をした場所と同じということもあり、変な緊張をすることはありませんでした。75問中、10問くらいは見覚えのある問題で、そのまま回答できたのですが、残りの問題はほぼすべて怪しく、2択に絞ったあと「まあこっちが正解だろうな」と思いつつ、確証が得られない問題がいくつもありました。すべて解き終わったあと100分ほど時間が余ったので全問振り返りをし、3〜4つほど答えを変えました。(これが吉と出たのかもしれない)

この手の試験は結果だけその場で分かるので、アンケート回答後のボタンを押すのに数分かかりました。

 

後日スコアレポートを確認すると、合格ラインが750に対して770点というスレスレの記録でした。

f:id:fieldpaddy:20210317225542p:plain

今後に向けて

この資格、無期限有効というわけではなく3年という有効期限があります。その間にもおそらく様々なサービスが展開されることでしょう。なので本来やるべき勉強(Black Belt)などを読みつつ、新サービスにもアンテナを張っていければと思います。

まずはこのブログ上でも何らかのアウトプットをしていきたいと思います。

余談:今読書中の本

というわけで(?)、現在読書中の本の紹介。

f:id:fieldpaddy:20210317230106p:plain

マスタリングTCP/IP 入門編

巷では名著と呼ばれているらしい(?)。大学時代に購入したものの、なかなか読むタイミングが無かったので長年倉庫番となっていた。流石にNW技術者としてはこのあたりを理解していないのはまずいので読み始めた。

f:id:fieldpaddy:20210317230415p:plain

nginx実践入門

WEBサーバといえばappcheだと思うのですが、最近はnginxも人気らしい。仕事でもnginxを導入するしないの話があったので読めるときに読んでいきたい。

 

その他LPICPython関係も読まなくては…。あと上司に「英語は必須スキルになるからTOEIC受けなさい」と言われたのでがんばります。色々やりたいことあるなぁ(Apexを起動しつつ)

 

今年も早いもので終わりを迎えます。コロナ関連で満足に外出できず(といってもインドア派なので大きなダメージはなく)、楽しみ方や新たな生活様式の模索が必要でした。特に仕事関連で言えばテレワークが主体となり、これまでの生活とは全く異なるものになりました。

 

さて今年の振り返りですが、去年のブログでは「ポケカの大会で上位入賞」「資格取得」を掲げていましたが、結果だけ言えばどちらも達成できていません。いずれもコロナ関連で中止になった側面もありますが、そのための時間を捻出していなかったことが大きな原因かなと思っています。

 

その他の振り返り
  • ガジェットに走る
    今年だけでApple製品を3つ買いました。「iPhone SE2」「Apple Watch」「MacBook Air」、いずれも発売直後に購入しました。この辺りまで揃えると、連携面で優れていると感じます。AirPodsだけは他のワイヤレスイヤホンの方がよいと感じているのでそこは揃えていないです。おかげさまで会社の先輩には「そうやってすぐガジェットに走る笑」と揶揄(?)されました。
  • 本を読む
    本と言っても技術書ですが、資格取得用も含めそれなり本を読みました。そのおかげで技術的な知識がそれなり身についてきました。特にAWSについては勉強していて楽しいと感じるものであり、今後も取り組んでいきたいと思いました。まずは目標であるAWSソリューションアーキテクト-プロフェッショナル-の取得を目指します。

今年も多くの方にお世話になりました。特に声しか知らないといった方とも遊んでいただけるなどこの歳になってもさらに交友関係が広がっていくような感じがして日々充実しております。来年もよろしくお願いします。

 

来年は人生の転機になるイベントも控えていますので公私共に奔走していきたいと思います。一部SNSにおいて結婚を控えているのではないか、という旨の発言がありましたが、私が発表したものではございません。決定した場合には速やかに公表致します。

 

 

Pythonのすゝめ

最近また新しく本(技術書)を読み漁ってます。AWSは相変わらず勉強中で、来年のボーナスにも影響するので下期中の資格取得を目指してます。そういえば前回のブログ更新から1か月以上たってますね。月1くらいは更新できるようにしたいです。

今年も残り2か月、頑張っていきましょう!

 

仕事で関わっているシステムで、いわゆる受入試験というものをやっていますが、その工数は膨大なものです。

※受入試験については下記を参考に

https://wa3.i-3-i.info/word13741.html

 

その工数を少しでも削減しようと、試験自動化プロジェクトを実施中です。そこで選ばれたのはPythonでした。Pythonとはプログラミング言語のひとつですが、昔に本だけ買ってほとんど手をつけていませんでした。他の知識習得が急務だったのでプログラミングに時間を割けなかったのが原因でしたが、今回業務上必要になるということもあり触り始めました。とりあえず先週末で1冊読破しました。

www.amazon.co.jp

めちゃくちゃ読みやすかったです。大学時代にC言語は勉強していたこともあり、特に詰まるところもなく、タイトル通りスラスラ読めました。ただ、他の言語である程度プログラムを書いている人には簡単すぎるかもしれません。「プログラミングを始めたいけど何かやろう」と悩んでいる人にはお勧めの1冊です。

 

で、今読んでいるのがこちら。

www.amazon.co.jp

恐らく「Python 参考書」と検索すればどのサイトでも紹介されているのではないでしょうか。初級⇒中級にレベルアップできるような本だと思ってます。(もしかしたら上級まで?)

 

もちろん、実際にコード書きながらやってます。(会社から借りているMacbookで)

開発関係だとやはりMac1択だと思います。自宅用に1台欲しいですね。ちなみにエディタは「Visual Studio Code」ってやつを使ってます。色々なエディタがあると思うんですけど、現役プログラマの方々は何を使っているんですかね。私、気になります。

東大のAWS講座を読んでみた

最近AWSの勉強をしているのですが、Twitterで「東大がAWSの講義資料を公開している」というツイートを発見し、読んでみました。

tomomano.gitlab.io

ざっと流し読みしただけでもそのクオリティに驚きました。大学生がこの講義を受けられるのかと思うと羨ましいです。しかもそれを無料で公開するとは…恐るべしTokyo University

講義の内容としては全3回ありまして、EC2(AWSで言うサーバ)インスタンスを作成、機械学習SNSサービスを作ってみようといった内容です。AWSのサービスを学ぶというよりは、AWSサービスを使えばこんなことができる!といったところに重点を置いています。当然、クラウドを使うメリットも含めて記載されています。あくまで講義名は「システム情報工学特論」であり、AWSの人間が講義をしているわけではないです。

前々からAWSアカウントを作って遊びたいという気持ちはあったのですが、これを機にアカウントを作りハンズオンをやってみました。

 

1点だけハンズオンを進める中で引っかかった個所がありまして、それは第2回の講義箇所でディープラーニングの計算をしてみようというところがあるのですが、その際g4dn.xlargeというタイプのインスタンスを立てる必要があります。端的に言えばスペックが高いサーバのことです。そのインスタンスを立てようとしてたことろ「このインスタンスを立てるには制限があります。AWSサポートへ連絡し、上限緩和申請をしてください」といった内容のエラーが出ました。

f:id:fieldpaddy:20200915224210p:plain

今はGインスタンスの上限緩和をしている

アカウントを作りたてのころは、1アカウントにつき起動できるサーバの数であったり、CPUの数に制限があるため、もともと「All G instances」についての上限が「0 vCPU」つまりGインスタンスは起動できないという制限がありました。

 

f:id:fieldpaddy:20200915224545p:plain

なのでサポートより上限緩和を申請、1日程度で返信があり上限を4 vCPUにしてもらいました。

 

ちなみに全3回の講義でかかった費用は機械学習用に立てたサーバ(1時間程度)で合計$0.51でした。約500円程度でこの辺の勉強できたと考えれば安すぎます。

あ、あと色々コマンド叩いたりするのはやはりMacの方がめちゃくちゃ便利だと思いました…(標準でLinuxコマンド使えるし…)

インフラ初心者がここ数か月で読んだ・読んでいる本


…一応私技術者なんですよ?

数か月前に部署異動をして、全く触れたことがない分野の業務に関わっています。
運用にいたときは割と小手先のスキルで何とかなったり、Excelレベルの業務が多かったので休日出勤が多いことを除けば比較的楽な方でした。
が、開発に異動して状況は一転。とんでもないシステムに関わってしまいました(システムの内容については割愛)。流石に社内スキルだけでは太刀打ちできず、自身のスキルアップをしなければならないと思いました。基本情報、Java Bronzeでは全く役に立ちません。ここ数か月で読破した本・読んでいる本を紹介しますので特にインフラ初心者の方に参考になればと思います。

 

読み終わった本

図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書

 f:id:fieldpaddy:20200827192809j:plain

まず一番初めに読んだ本。関わっているシステムがAWSを主としているのでまずAWSの知識が必要だった。国が選定したクラウドベンダもAWSになっているし、知識が無駄になることはないし、ベストプラクティスという「システムのあるべき姿」も学べたり基本的にメリットしかない。
その入り口としてこの本。基本情報を持っているのであれば容易に理解できると思います。持っていなくても聞いたことがある用語がかなりあるのでガチの初心者でも読みやすいおすすめの一冊。ある程度知っている人であれば物足りなさがあると思うので別の本を推奨。

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト

f:id:fieldpaddy:20200827192944j:plain

せっかくAWSを勉強するのであればそのスキルを客観的に証明したいよね、ということで手を付けた本。ぶっちゃけまだ全部理解できていないので定期的に読み返している。個人的には要点がまとめてあり、練習問題もかなりあるのでオススメ。ソリューションアーキテクト(アソシエイト)の本は他にもかなりあるので自分が読みやすいと思った本を読むのがよい。ちなみにアソシエイトの前段の資格として、クラウドラクティショナーというのがあるので自信がなければここから始めてもよい。

イラスト図解式 この一冊で全部わかるサーバーの基本

f:id:fieldpaddy:20200827193302j:plain

AWSだけではなく、サーバ周り全般の知識が必要だと思ったのでこちらの本。見開き左ページで説明、右ページで図が書いてあり、ページ数の割には読みやすかった。IT未経験でも読みやすいと思う。

1週間でLPICの基礎が学べる本 第3版 徹底攻略シリーズ

f:id:fieldpaddy:20200827193702j:plain

1週間で読み終わっていない()

何故か電子書籍版で買った一冊。AWSを使っているとほぼ100%Linux環境で触れることになる。コマンド等は大学時代にある程度は勉強していたが、LPICの資格取得がてら読んでみた。VirtualBoxというLinux環境を模したものでコマンドが叩けるので基礎の基礎が学べる。こちらも初心者向け。

 

読み途中

イラスト図解式 この一冊で全部わかるネットワークの基本

f:id:fieldpaddy:20200827194038j:plain

先ほどの「サーバーの基本」のシリーズ。まだ30ページほどしか読んでいない。何事も基本が大事なので、少し分かっていても100%理解できるまでは基礎に立ち返りたいという意味も込めて読書中。

 

AWS認定ソリューションアーキテクト-プロフェッショナル ~試験特性から導き出した演習問題と詳細解説

f:id:fieldpaddy:20200827194317j:plain

超難解。AWS認定資格で、ソリューションアーキテクト(アソシエイト)を取得したので、次のステップであるプロフェッショナル取得を目指して読書中。圧倒的テキスト量で正直読む気はあまりないが、プロフェッショナルの本が今のところこれしかないのと、これくらい読めなければ試験はとても戦えないと思い奮闘中。受験の時期は決めておかないとだらだら読んでしまう。

Linux教科書 LPICレベル1 Version5.0対応

f:id:fieldpaddy:20200827194630j:plain

Linuxの勉強も少ししているので、やはり資格は取りたいと思い勉強中。AWSと比べると優先度は低いのでゆるーくやっている。ちなみに会社では今必須資格だったりする。

DNSがよくわかる教科書

f:id:fieldpaddy:20200827194829j:plain

先週購入して、2/3は読んだ。次のリリースでDNS関連の作業を任されたので今必死に勉強している。本の中では具体的なサービス名は出てこないものの、AWSの知識と合わせて「あ、これがAWSのRoute 53に該当する部分か」など、関連付けができてきた。知識のネットワークが広がる感じがして気持ち良い。

 

"教科書"ってついてる本多いなぁ…。

ここまで紹介してきた本以外にも買ってから手を付けていない技術書も結構ある(良くない)。

紙の本がよい

基本的に私は特別な理由がない限り、技術書は紙の本を読みたい派です。漫画は電子書籍ですかね。感覚的な話ですが、読んでいるうちにページの厚さが知識になっているような気がするというか。紙の本の最大のデメリットは置き場所がなくなっていくことで、いつか大きい本棚買いたいなぁと思っているところです。

 

『AI崩壊』は決してエンジニア向けの映画じゃない

普段映画なんてほとんど観ない上に、レビューなんてしたことがないので思ったことをつらつら並べるだけですが、今日観てきたので感想を書きたいと思います。内容に入る前に、この映画の主題はずばり、人工知能は人を幸せにできるのか?」という問いかけです。人工知能(AI)と聞くと、よく分からないだとか私には関係ないと思う方がいると思います。僕も正直よく分かってません。AIって正確な定義すらないですからね。だからと言って自分には関係ないた切り捨てる行為は非常に危険だと思ってます。なので、この映画はエンジニアだけでなく、この世界に生きる人全てにおすすめできるものかなと思いました。ちなみに真犯人は割と簡単に推理できました。人の表情とか、時代背景を考えれば簡単です。でもこの作品の本質は犯人探しをするところではありません。

 

以下若干映画内容に触れるため、観る予定がある方はブラウザバック推奨です。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

作中の中では2つのAIが登場します。一つは医療用AI、そしてもう一つは犯罪捜査のためのAI。後者はまさにPSYCHO-PASSの世界のようなもので僕はこのシステムは面白いなと思いました。さて、この2つのAIですが、根本的には全く同じ仕組みです。使い方が異なるだけです。人を生かすためのAI、そして犯罪捜査のためのAI。たったこれだけ。今回真犯人は人を生かすためのAIを利用し、「人を選別するためのAI」にしてしまいます。人々の生活はAIに頼り切っている世界観のためその気になれば簡単に殺せてしまう、そんな世界になりかねない状況でした。この問題に対して主人公桐生はAIによる追跡を潜り抜け、なんとかプロトタイプのプログラムを利用し、新しいAIをプログラムして真犯人を見つけめでたしめでたしという話です。

 

  • AIが仕事を奪う?

さて作中でAIに対して反対する人々が描かれていました。仕事がなくなることを恐れてデモを起こしていました。これについては現時点でも議論されており、本なども出版されています。でも「AIのせいで仕事がなくなる」という主張って正しいんですかね?あくまで個人的な意見として厳しいことを言うのであれば、「AIができる仕事を人間がやる意味はあるのか?」ということです。みんな仕事は嫌い嫌いって言ってるのに、いざ仕事がなくなるとなると途端に騒ぎ出す。そりゃお金が必要ですよね。そこにAI活用すれば効率の良い稼ぎ方とか教えてくれそうなもんですけどね。僕は世の中どんどんAI化して仕事がなくなれば良いと思ってます。その方がやりたいことできるでしょ?生きる上で大事なことって、「どんな社会になっても生きて行ける術を身につけること」だと思うんですよ。だから勉強するし、色んな経験をする。勉強しなければそれこそAIに文字通り殺されますよ。仕事がなくなるからAI反対!とか言ってる人は対してAIのこと分かってないし、理解しようともしてないと思います。理解しようとしない時点でもうおしまいです。僕だったらAIを運用する側の人間になれるように勉強するとか、要はAIが主導する世界になっても仕事はいくらでもあるし、そういう仕事に就けるように努力するべきだと思いますね。

 

  • 僕はAIに反対

こんだけ語っといてアレなんですが、僕はAIの全面導入には反対派です。部分部分のAI化は大歓迎ですが。いくらなんでも個人情報とかをすべてAIに委ねるのは怖すぎる。怖いって言ってるのには理由があって、作中にもありましたが、AIが「人を尊重する仕組み」をとりいれていることを悪用して「人を選別する仕組み」にするなど、人が介在したら暴走してしまう作りになってたら大変なことです。真犯人も結局そこを突いてたわけですから。AIはあくまで問題解決の手段でしかないです。AIを使って何かしよう!ほど間抜けな経営者の発言はありません。AIを作るのはあくまで人間です。その人間が完璧でなければ、作ったAIも完璧なわけがありません。この世界に完璧な人間がいるとすれば、是非ともその方に革命的なAIを作って頂きたいです。

作中で記者の方が主人公桐生に問いかけていました。「人工知能は人を幸せにできるのか」。これに対して桐生は「考えておきます」と答えていました。これって本当は僕らに問いかけていることなんじゃないかと思います。AIによって人々の生活は豊かになる、しかしリスクもある。その中でAIはどうあるべきかという問い。僕は先程述べたと通り、AIはあくまで問題解決の手段でしかない。人工知能は人を幸せにするのではなくて、生き方のサポートをしてくれる、それくらいの認識の方がいいでしょう。だからこそ僕は、人を幸せにするのは人工知能ではなく、人であると思います。どう生きるか判断するのはあくまで人間。AIに操られる人間ではなく、操る(活用する)側の人間になりたいものですね。

 

調子に乗って原作本まで買ってしまいましたが、本当にいい映画でしたのでぜひみんな見てください…という文がブラウザバック勢には伝わらないのが世知辛い…こういう時にいい感じに相手に伝えてくれるAIとかないですかね?