class: title, smokescreen, shelf, no-footer # 補講 - 自分は今どこにいるのか? - <div class=footnote> <small> </small> </div> --- class: compact # サービスを提供する際、プログラムはどこで動く? <div class=footnote> <small> </small> </div> <small> 普通**あなたのPC外で**プログラムを動かします。 どこで動かす?を常に意識してください </small> ![height400px](images/eva01_deploy.jpg) --- class: compact,center # www.ex2022.fml.orgの実体(イメージ画像) <div class=footnote> <small> (脚注) www.ex2022.fml.orgは、この白いPCと同じ機材。 ただし設置場所は異なります (ないしょ=機密保持?) </small> </div> ![height400px](images/P_20211227_205955.jpg) --- class: compact # ssh すると、この白いサーバにログインしている ``` > ssh 学籍番号@www.ex2022.fml.org Last login: Wed May 25 14:04:06 2022 from 118.19.153.189 NetBSD ?.? (UNKNOWN) Welcome to NetBSD! **************************************** Today's portal password = pGs3 **************************************** -bash-5.1$ ``` ![height320px](images/P_20211227_205955.jpg) --- class: compact # ssh で異なる場所の異なる機材へログイン ``` > ssh 学籍番号@www.ex2022.fml.org ... 省略 ... Welcome to NetBSD! -bash-5.1$ ``` - **異なる場所の異なる機材**にログインするのだから、**ssh の引数は「場所」**です - さらに、なぜ「学籍番号@」をつけるのでしょうか? - ちなみに「人間ブラウザ」演習でやっていたtelnetの引数(210.128.52.45)も「場所」 ``` % nslookup www.portal.mc.chitose.ac.jp % telnet 210.128.52.45 80 ``` --- class: compact,center # サーバラックの実体(イメージ画像) <div class=footnote> <small> (脚注) 写真(左)の真ん中あたりを拡大すると写真(右)になります </small> </div> ![height400px](images/P_20211206_215941_HDR.jpg) ![height400px](images/P_20211227_205955.jpg) --- class: compact,center # [動画] Google データセンター <iframe width="704" height="396" src="https://www.youtube.com/embed/avP5d16wEp0?rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- class: img-right,compact # サーバを設置する建物(身近な例) <div class=footnote> <small> (脚注1) この局舎にあるのは電話会社の通信設備(交換機とか光ファイバーをつなぐ機械群)で、 サーバは置いてないと思いますが... (脚注2) 最近のデータセンターの流行は巨大化 (ハイパースケールデータセンター;hyper scale data center)。 日本でも関東の郊外たとえば印旛沼(成田空港のそば)とかで続々と建造中 </small> </div> ![](images/P_20210606_165908.jpg) - 右の写真は局舎(NTT石狩ビル) - インターネット用サーバ群を設置する**データセンター**という建物も見た目は似ています。むしろ大学の隣にあるエプソンの工場のほうが**データセンター**っぽい --- class: center,compact # 復習 <div class=footnote> <small> <b> Q: ホスト名やIPアドレスからサイバースペースのどこにいるか分かりますか? <br> A: 分かりません(どう移動してきたかは自分で覚えている必要があります)。 でも、たいていのひとは、Windowsなら手元のPC、Linuxと言われたらサーバにいるのではないでしょうか? <br> (インターネット上のサーバであることは分かっても、どこのサーバか?は一発では分からない) </b> </small> </div> ![height400px](images/whereami.png) --- class: compact # ホスト名とIPアドレスを確認する(Linux,WSL2) <div class=footnote> <small> (脚注) WSL2 = Windows上でLinuxを実行する仮想環境 </small> </div> - ターミナルを開き、次のコマンドを実行する - ホスト名を知る ... ターミナルで`hostname` - IPアドレスを確認する ... ターミナルで`ip addr` ``` $ hostname pc-name $ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 ... 省略 ... 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 94:c6:91:a5:94:48 brd ff:ff:ff:ff:ff:ff inet 192.168.0.22/16 brd 192.168.255.255 scope global eno1 valid_lft forever preferred_lft forever ... 省略 ... ``` --- class: compact # いまどこのフォルダにいる?(Linux,WSL2) <div class=footnote> <small> (脚注1) pwd = print working directory (由緒あるコマンドは英語の省略形なので、そのうち、なんとなく何の省略形か分かるようになります) </small> </div> - ターミナルで`pwd`を実行してください ``` 例: www.ex2022.fml.orgでpwdを実行してみた様子(学籍番号は各自ことなる) -bash-5.1$ pwd /home/b29029290 ``` --- class: compact # 私は誰? (Linux) - idとかwhoamiとか環境変数USERを見るあたりが定番ですかね ``` -bash-5.1$ id uid=2901(b29029290) gid=100(users) groups=100(users) -bash-5.1$ whoami b29029290 -bash-5.1$ echo $USER b29029290 ``` --- class: compact # ホスト名とIPアドレスを確認する(Windows) <div class=footnote> <small> (脚注1) ターミナルの中で調べるには?という話です (脚注2) WindowsのGUI(ターミナル外)なら、設定->詳細情報あたりをみるだけの話 </small> </div> - ターミナル(コマンドプロンプト)をひらき次のコマンドを実行する - ホスト名を知る ... ターミナルで`hostname` - IPアドレスを確認する ... ターミナルで`ipconfig` ``` ... TAさん実演よろしく .... ``` --- class: compact # いまどこのフォルダにいる?(Windows) <div class=footnote> <small> (脚注) Microsoft は中途半端に Unix を真似して Windows(のご先祖 MS-DOS 2.0)を Unix ぽくしたため、 むしろ余計わかりにくくなっています </small> </div> - ターミナルで`cd`コマンドを実行してみてください - たいてい、プロンプトに表示されている気がします(下図) ``` C:\home\fukachan> cd C:\home\fukachan ``` みたいな表示になるはず(たぶん、ヤマ勘で書いてみたけど:-) <br> TAさん、ひとつ実演よろしく --- class: compact # 私は誰? (Windows) - これはPCにログインするときに使うユーザ名だから覚えてるよね? - いちおう(あてずっぽうに)調べる方法を考えてみる... - `id`コマンドって使えるんだっけ? - `set |grep USER`のほうが早いかな? --- class: compact # いまコマンドを入力しているOSは? ``` 例: www.ex2022.fml.org -bash-5.1$ uname NetBSD 例: クラウドでは、たいてい -bash-5.1$ uname Linux 例: Windowsでは? C:\home\fukachan> uname そんなこまんどはありません(みたいなエラーがでるかも) ``` --- class: img-right,compact # [付録] サーバを設置する建物は割と僻地にある <div class=footnote> <small> (脚注1) 本来は機密情報のはずなのですが、 地図検索でNTTとかKDDIのビル名が表示されてしまいます。 一方、 インターネット業界はデータセンターの場所を機密情報あつかいしています。 この建物は地図を検索しても出てきません。 業界人は、だいたいあうんの呼吸で分かっていますが、 <B>それは言わないお約束でしょ</B> <br> (脚注3) <B>みなさん、セキュリティ意識が低すぎです。</B> 攻撃するなら、最初に狙う目標は発電所と通信設備。 まぁ民間人が黙っていても敵にGPS情報は漏れてるとは思いますけど... 軍事作戦とは限らずテロもありえますからね。 よけいなことは喋らないように </small> </div> - たいてい**電話会社の重要な通信設備は都心**にあります。 もともと電話局の設備だから当然だろうということですね... 代表例: 大手町(東京)、福島(大阪)。 - **データセンターは都心にはありません** - 1990年代後半以降に登場したインターネットのサーバ群を置く建物は、 作る場所が確保できないので、 ふつう都心から少し外れたところに作っています - 昔は場所もなかったので、 小さいものであれば都心のこともありましたが、 機材の更新にともない郊外へ移転していくものです