ふらふら生きつつふらふら書く

情報処理技術、演劇、仕事、生活、他諸々、頭の中を整理するために書き出します。

進捗 20210823

AWSを触ると言った。
それはクラウドサービスを触るということで、
それはwebサービスを触るということで、
それはwebサーバの応答とクライアントの要求をコントロールするということで、
それはネットワークを理解するということで、
それはそれはそれはそれはややこしく手間だということです。

awsで無料アカウントを作れるよ!
=>クレジットカードを登録して覚悟を示せとさ。
恐ろしいよ。
私みたいな初心者が下手なことするとネズミ捕りされるってことか。散財するで。

まずは手元の旧い機械たちで小さく試してみましょう。
買ったけど埃かぶっている奴らを引っ張り出してきて、時間を気にせずのんびりやろう。

ここが橋頭保である。
間違ってもできないことに悔しさなど感じてはならない。
web技術は正に最新技術の粋を集めた技術なのであって、AIやらロボット制御技術に引けを取らない技術の結晶だ。
なにせ世界中の優秀な人たちが、誰に指図されるわけでもなく、横一列に、手に手を取って作り上げてきた技術なのだから、はちゃめちゃだ。
しくみを知り始めると、リモートワークどころかインターネットサーフィンすら、できて当たり前なんかではない、ということが良くわかる。
もちろん数多くの先人による積み重ねで、できてあたりまえになりましたね。
これは本当にありがたいことです。

 

インターネットが一般に普及し始めたのは1990年代半ばらしい。

※標準LAN教科書 上 ,上原政二, ASCII

https://www.amazon.co.jp/%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E5%9B%B3%E8%A7%A3%E5%BC%8F-%E6%A8%99%E6%BA%96LAN%E6%95%99%E7%A7%91%E6%9B%B8%E3%80%88%E4%B8%8A%E3%80%89-%E4%B8%8A%E5%8E%9F-%E6%94%BF%E4%BA%8C/dp/475611797X


それまでごく少数の研究者だけのものだったコンピュータネットワークが多くの人に活用され、面白がられて、結果、
web技術は革新に革新を重ね、半世紀も立たないうちに資本主義社会を支える極めて重要なインフラになった。
みずほ銀行が最近また不調になったり、

みずほ銀行のシステム障害が復旧 午後5時から記者会見: 日本経済新聞

昨年は東京証券取引所の心臓システムが、たった1日障害を引き起こしただけで数兆円の機会損失が発生したらしい。

10月1日に株式売買システムで発生した障害について | 日本取引所グループ

東京証券取引所で過去最大のシステム障害 全銘柄の株式売買、初の終日停止:東京新聞 TOKYO Web

人間、やりすぎ。機械に仕事を押し付けすぎ。
機械が1秒働けないだけで、
どれ、試しに1兆円を1日=3600秒で割ってみよう、
1,000,000,000,000 ÷ 3600 = 277,777,777.77…
いち、じゅう、ひゃく、せん、まん、じゅうまん、、、、、
2億8000万弱?
人間が1日動けないからと言って何がどうなるわけでもないというのに、機械が1秒働けないだけで、2億8000万?
やりすぎだ。どう考えても現代の資本主義は行き過ぎている。
そんなギチギチに予定と責任を詰め込まれた機械をメンテナンスする人々は称賛されてしかるべきだろう。
機械も技術者も一心同体。もはや化け物だ。

web初心者の私は、そんな化け物たちの素晴らしさとおぞましさに頭を垂れつつ、亀がごとくのうのうと、それら技術の面白さの上澄みを掬い取っては、舌先で舐めてみるのである。おお、うまいのう。ああ、卑しい卑しい。

コンピュータ技術はその発展の仕方がとても人間味にあふれていて、現代に残る多くの有益な技術は、基本的に助け合いの精神で育まれてきたものと思っている。
プログラミングという基本的な操作技術にしても、先人が「より簡単に」を目指し続けた結果が、私たちの書くたった1行のコードにごまんと詰められている。隅々まで耳を揃えてきっちりはっきり仕事の結果を残すというコンピュータの基本的な性質が、こんなにも技術を発展させるものなのかということを、他の分野の技術者も感じているんじゃないだろうか。

 

なんだっけ、web技術の話だわ。

で、awsやるならweb技術を理解するところからで、
web技術をやるならwebサーバとクライアントを用意して実際に動かしたい。

なにしろ、いきなり

 

自前パソコン====aws

 

をやろうとすると、下手をするとクレカにとんでもない請求が来る可能性が捨てきれないとのことなので、
まずは単純に

 

自前パソコン====パソコン

 

を正しく制御しましょうという話である。
が、生活必需品の光回線で下手なことをしたくない。
ので、wimaxルータを実験台にすることにした。
ので、

 

自前パソコン===wimaxルータ===パソコン(aws)

 

とする。
で、最終的には

 

自前パソコン===wimaxルータ===パソコン(aws)===スマホアプリ

 

を通信しようとしている。
通信しようとしているスマホアプリを調べると、
APIが提供されているということで、

 

自前パソコン
===wimaxルータ
===パソコン(aws)
===アプリ提供元パソコン(アプリAPI)
===スマホアプリ

 

をやるらしい。
そうして、どうやらawsのイチ押しサービス「Lambda」という奴を肝に据えて動かすと面白いらしく、


自前パソコン
===wimaxルータ
===パソコン(aws:Route 53/DNS)
===パソコン(aws:AIM/認証)
===パソコン(aws:APIGateway/API)
===パソコン(aws:Cloudfront/プロキシ)
===パソコン(aws:Lambda/関数)
===パソコン(aws:S3/NAS)
===パソコン(aws:SQS/キュー)
===アプリ提供元パソコン(アプリAPI)
===スマホアプリ

 

まて、まってくれ、心を折るような真似をしないでくれ。
なんだこれは。道のりが長すぎる。
もちょっとシンプルにしてくれ。
というわけでaws棚上げしてしまって、

最終的なオチであるところのスマホアプリについて調べてみると、

 

自前パソコン
===wimaxルータ
===パソコン(aws:Route 53/DNS)
===パソコン(aws:AIM/認証)
===パソコン(aws:APIGateway/API)
===パソコン(aws:Cloudfront/プロキシ)
===パソコン(aws:Lambda/関数:Flask[Python] or Node.js[JavaScript])
===パソコン(aws:S3/NAS)
===パソコン(aws:SQS/キュー)
===アプリ提供元パソコン(アプリAPI:アカウント認証)
===アプリ提供元パソコン(アプリAPIJSONデータ発信)
===スマホアプリ(アプリ:JSONデータ受信)
===スマホアプリ(アプリ:データ表示)

 

だそうで、心が折れる1歩手前。
引き返した。

初心者らしくシンプルにこれを目指しましょう。

 

自前パソコン
===wimaxルータ
===アプリ提供元パソコン(アプリAPI:アカウント認証)
===アプリ提供元パソコン(アプリAPIJSONデータ発信)
===スマホアプリ(アプリ:データ表示)

 

が、アプリAPIの利用にはSSL(暗号化通信)がいるんだってさ。
で、googleしたら、

 

自前パソコン(SSL証明書)
===wimaxルータ(グローバルIP)
===アプリ提供元パソコン(アプリAPI:アカウント認証)
===アプリ提供元パソコン(アプリAPIJSONデータ発信)
===スマホアプリ(アプリ:データ表示)

 

これでいけるらしい。
ヘエ、コントンジョノイコ。
と思ったが、本当に愚かだった。
休日が溶ける溶ける。

仮想マシンというやつは、
作業中断で机を片付けたくない私にとって最高の環境だと分からされてしまったので、

 

自前パソコン(VirtualBox:Ubuntu [SSL証明書])
===自前パソコン(windows10)
===wimaxルータ(グローバルIP)
===アプリ提供元パソコン(アプリAPI:アカウント認証)
===アプリ提供元パソコン(アプリAPIJSONデータ発信)
===スマホアプリ(アプリ:データ表示)

 

こうしようと思い立って、
あれもこれも触ってみたい欲に流され流され、、
意気揚々とドメインまで取得したものの、
理解不足のネットワークで躓きに躓いてすんなりできず、
多発する問題に足をとられ、二転三転、七転び八起き、
googleして、googleして、

これではいけないのかから始まって、

 

自前パソコン(VirtualBox[NAT&ポートフォワード]:Ubuntu [SSL証明書])
===自前パソコン(windows10)
===中古ルータ
===wimaxルータ(グローバルIP:ブリッジモード)
===(割愛)

 

だめらしく、
googleして、googleして、
wimaxは動的なグローバルIP割り当てだと知り、

 

自前パソコン(VirtualBox[NAT&ポートフォワード]:Ubuntu [SSL証明書]:仮想ネットワークカード[PPTP])
===自前パソコン(windows10)
===wimaxルータ
===固定IPアドレスサービス(vpn接続/PPTP)
===(割愛)

 

でもだめで、
え~何がだめなんだ~と、
SoftEther版でもなぜか固定IPの割り当てがうまくいかないし、
googleして、googleして、
あっ、うちラズパイあるわと思い出し、

 

自前パソコン(RaspberryPi [SSL証明書]:仮想ネットワークカード[PPTP])

===wimaxルータ

===固定IPアドレスサービス(vpn接続/PPTP)
===(割愛)

 

いけんじゃん!
となり、
googleと試行錯誤と紆余曲折あって、

 

自前パソコン(VirtualBox:[ブリッジ接続]:Ubuntu [SSL証明書]:仮想ネットワークカード[PPTP])
===自前パソコン(windows10)
===wimaxルータ
===固定IPアドレスサービス(vpn接続/PPTP)
===(割愛)

 

これでようやく、
ケーブルテレビ光回線から、wimaxの後ろに立てたApacheWebサーバとSSL接続して応答を受けることができた。

 

f:id:patra-m:20210823040211p:plain

 

まずは自前のwebサーバへSSL接続ができて万歳。
ここまでに溶かした時間?覚えてませんねえ。

この作業の何がきついって、この環境を作るのに必要な情報は、本なりネットなりのどこかに既にあって、
それらを手に入れるまでにかかる時間=自分の理解不足を味わい続けるところ。
いかにマイペースにやるか。悔しがってイライラしないか。
私がコンピュータと長く付き合うための注意点だ。

じっくり、ねっとり、やるのがよい。

なんしろ、これで今日こそすっきり寝れる。