name: apache class: title, smokescreen, shelf, no-footer # <small>インストールブートキャンプ 02<br>ホームページを作ってみよう</small> <div class=footnote> <small> </small> </div> --- class: toc # 本日のおしながき - 前半で取り組む課題は[LAMPの構築](#lamp)です - [後半のテーマ例](#theme-exmamples)を2、3紹介 - [最小権限の原則](https://unix-entrance.fml.org/slides/columns/essentials/prin-of-least-priv/) <small> - アクセスコントロール, ソースIPアドレスの制限、ユーザの制限 </small> - 演習[「WWWサーバ(apache)を作りホームページを作成」](#homepage-create) - おわりに <small> - アンケート - 前半部分(2022 new)は卒論も絡んでいるので協力をお願いします - ワークシートは出席代わりに回収しています - ポータルのレポートボックスへ - 念を押す ... 知識編は別途あります。ELを忘れずに - 今回は基本情報範囲の用語なので、つまんなくて、ごめんなさい;-) </small> --- name: lamp class: compact # 前半で取り組む課題はLAMPの構築です - LAMPという有名なシステムを作ってみましょう - LAMPって何?(調べて、結果をワークシートに解答してください) - 部品を**3ステップに分け、第2回〜第4回で少しずつ作る**ことにします - 古典的というか伝統の形態のサーバを作ります - 一つのOS(サーバ)上にLAMPを作成します - よりモダンな作り方は、おのおの調べてください:-) - [AWS構築ガイド(docker編)](https://exercises-aws.fml.org/ja/04_docker/) <div class=footnote> <small> (脚注) 構築作業本体として第2回〜第4回(さらに第5回〜第6回は予備)が予定されています。 いちおう3ステップに分けていますが、その回に終わらなくても、じっくりやってみてください。 7回目までに終わればokです </small> </div> --- name: theme-exmamples class: title, smokescreen, shelf, no-footer # <small>後半のテーマ例を2、3紹介</small> <div class=footnote> <small> (脚注1) 第9回までに、より具体的なサービス決め打ちの例にするか (脚注2) 自由課題もok (歓迎) </small> </div> --- class: img-right,compact # <small>典型的な三層構成</small> <div class=footnote> <small> (脚注) 詳細は、 <A HREF="https://exercises-aws.fml.org/ja/">AWS構築ガイド</A>を参照のこと </small> </div> ![height480px](../../bootcamp/images/final-exercise-example-01.png) <small> - それぞれを別々のサーバに構築して連携する - AWS VPC内部にサーバ群を構築 - AWS外にサーバを立ててもok - herokuみたいなやつとかでもok - 各部分を冗長構成にしてみる - 複数のサーバからなり一つ落ちてもサービスを継続可 - フロント部を冗長構成 - 中段のアプリケーションサーバの冗長構成 - 一番奥のSQLサーバを冗長構成とか - NoSQLとかNewSQLは初めから冗長ですけど、別の障壁がありますな </small> --- class: img-right,compact # <small>Web APIを呼び出す</small> <div class=footnote> <small> (脚注) 詳細はコンサルしてあげましょう </small> </div> ![height480px](../../bootcamp/images/final-exercise-example-02.png) <small> - HTTP/HTTPSでアクセスできるサービス(Web API)からデータを取り出し、なんかするです ... AWS,Google,他のベンダーなんでもok - 取り寄せたデータ(複数ならなおよい)を分析してレコメンドするとか考えてください 1. お天気データと売上を照合して分析(事前) 1. 分析結果を元に、明日の天気から、明日の仕入れについて推薦する。 例: 明日、天気がいいらしいのでアイスの仕入れを増やすべき </small> --- class: img-right,compact # <small>AWS Lambda を使いたい</small> <div class=footnote> <small> (脚注1) ラムダでもいいけど上のようにいろいろツッコまれます:-) (脚注2) つい、AWS ラムダドライバと書きそうになり... でもAmazonならブラックテクノロジーでも売りそうだよな〜とか思って(それ、ちがう) </small> </div> ![height480px](../../bootcamp/images/final-exercise-example-03.png) <small> - サーバが嫌いなあなたに、AWSラムダ (どうしてそんなに嫌いなのかねぇ) - 2022/04よりAWS Lambdaは独立して使えるようになりました! - lambdaを初期化すると同時に長い謎の文字列のURLが発行されます。 そこにアクセスすればok (従来はAPI gateway経由が必須) - フロント部分がなくても動くようですが、 スケールアウトするか? - エラー判定はどうするつもりだ? </small> --- name: homepage-create class: title, smokescreen, shelf, no-footer # ホームページを作成しよう <div class=footnote> <small> (脚注) 春学期に、 学籍番号を含むページ(http://www.ex2022.fml.org/~b2902929/)を作る体験をしましたよね? あれの同等品を、ただしWWWサーバ(apache)の構築からやりましょう </small> </div> --- class: compact # 今日の目標:ホームページを立てる <div class=footnote> <small> (脚注) WWWサーバをapache以外で作成は? 今回の課題はok。 でも来週こまるかも? ;_;(いや、そうでもないか) </small> </div> 課題: ホームページをWWWサーバを構築するところから作ってください。 <small> - 春学期に体験したホームページ似の簡単なものでok - 今回のURLは`http://Public-IP/`でok(実は、このほうが春学期版より簡単です) - 手順の概略;**詳細はワークシートをどうぞ(いろいろ誘導してくれます:-)** 1. EC2を作成する 1. WWWサーバをインストール・設定します(今回サーバはapacheしばり) - 手を動かす前に、必要な設定を考えてください(例: 最小権限原則) - (必要があれば)AWSの設定変更も適切にしてください - HTMLファイル(例: /var/www/html/index.html)を編集し、 学籍番号を含めてください 1. 動作確認: うまくできていれば、 (EC2のPublic IPが10.20.30.40の場合)`http://10.20.30.40/`にアクセスすると、 自分の学籍番号を含むメッセージが表示されるはずです。例: ``` Welcome to my b2902929 page! ``` </small>