もっともショボいAWSの作り方
目的
Amazon Web Serviceを使って、超簡単で無料の見守りサーバを作る ―― の為の準備
背景
基本的に実家は遠隔にある
リモート監視は、基本的に難しい
業務で、AWSを使わなければならない場面が出てきた
AWSって簡単?
嘘つけ!
どこが簡単やねん!
どの本読んでも、全然腹に落ちてこない上に、腹が立つ
5分?
ふーん、私はインスタンスの構築10回くらいは失敗したけどね
世の中のエンジニアの皆さんは、かしこいんですね(イヤミ)
オンプレミスのサーバした作ったことのない私には、AWSっというのは、最高レベルに使いにくいものだった
わたしがやりたいこと
ローカルで作ったラズパイのサーバ機能を、AWSに載せられれば十分
ちまたのAWS本は、いらんこと説明しすぎる
まず、EC2だのs3だのロードバランサだの、そんなこと知らんでもいいわ
EC2だけでいい。後のことは忘れろ
この解説で前提とする人
PCやらラズパイをサーバとして運用したことがある人
Unix系のサーバを扱ったことがある人(ぶっちゃけLinuxです)
Webサーバを必須として、メールサーバ、FTPサーバを作ったことがある人
申し訳ありませんが、この前提がない人は、ちょっと無理だと思います
逆に言えば
エンジニアによるエンジニアの為だけの、見守りシステム
基本的にはお金かけない
注意
セキュリティはザルです。自分で担保して下さいね
セキュリティは動くのを確認してからでないと動きません
AWSのうっとうしい点
VPC(Amazon Virtual Private Cloud)という考え方
これ、オンプロミスにはない(なかった)
=====
手続
(Step.1)AWSのアカウントを作る
ここは省略。AWSについて
(Step.2)VPC
~
https://qiita.com/shizuma/items/396ad15ff574717dfa1d
1.AWSマネジメントコンソールで「VPC」を開く
ブラウザの左上の「箱型アイコン」をクリックすると以下のホーム画面に移動出来ます。
「VPC」を選択する。
2.リージョンの設定をする
下記のようにリージョンを「アジア・パシフィック(東京)」に変える。
3.VPC領域の作成
再び「VPC」を選択する
次に、「VPCの作成」をクリックしてモーダルの中に設定を記述。
ここではネームタグにアプリケーション名の「KaigoIT」
CIDRブロックに「10.0.0.0/16」を記述
CIRDブロックとは?
忘れてよい。黙ってこの通り入力すればいい
テナンシーは「デフォルト」のままで。
4.VPCをサブネットに分割する
「サブネット」をクリックする
モーダルではネームタグに「PublicKaigoIT」(自由に)
アベイラビリティーゾーンはそのまま
CIDRブロックは「10.0.1.0/24」と記述
忘れてよい。黙ってこの通り入力すればいい。ようするに、上記のサブネットの一部を確保するイメージ
作成を押す
5.インターネットゲートウェイの作成
(江端コメント)インターネットゲートウェイ
インターネットゲートウェイとは、インターネットからアクセスできるようにするために必要なもの
[インターネットゲートウェイ」をクリックする
ネームタグに「GatewayKaigoIT」(自由)を記述
作成を押す
6.VPC領域に結びつける
(江端コメント)もう訳が分からない
①作成したインターネットゲートウェイにチェックを入れる
②「VPCにアタッチ」をクリック
③最初に作成したVPCを選択して、「アタッチ」をクリック
7.デフォルトのルートテーブルを確認する
(江端コメント)サブネットやインターネットゲートウェイの間にルーターの役割を果たすソフトウェアの設定
VPC領域を作成した際にデフォルトでルートテーブルが作成されるので確認する
左のメニューから「ルートテーブル」を選択する。
先ほど作成したVPCに該当する項目にチェックを入れる。
画面下部のタブから「ルート」を選択
「送信先」、「ターゲット」を確認
デフォルトでは「送信先:10.0.0.0/16」、「ターゲット:local」となっている
これでは、インターネットに出られないので、ルートテーブルを追加する
8.新しくルートテーブルを作成する
「ルートテーブルの作成」をクリック
ネームタグを「RootTableKaigoIT」(自由)
VPCを先ほど作成したものを選択
「作成」ボタンをクリック
作成したルートテーブルの項目にチェックを入れる
画面下部の「ルート」タブをクリック
編集ボタンがあるのでそちらをクリック
「別のルートの追加」という項目をクリック
「送信先:0.0.0.0/0」にして、ターゲットはターゲットの項目をクリックすると予測で該当項目が出てくる
ごめん、忘れたので、予測が出てくるのを探して下さい
「保存」ボタンをクリック
9.サブネットの関連付け
「サブネットの関連付け」タブをクリック
サブネットの関連付けのチェックを行い、「保存」をクリック
総括
なんだか訳分からんでしょう?
私もよく分かりません
(Step.3)EC2インスタンスを作る
~
https://www.ritolab.com/entry/17
1.EC2にアクセスする
左上のボックスアイコンをクリックしてホーム画面に移動し、「EC2」にアクセス
2.インスタンスを作成する
左上のボックスアイコンをクリックしてホーム画面に移動し、「EC2」にアクセス
3.AMIの選択
(江端コメント)これ重要→私はUbuntu18の一択
会社でも、自宅でも、PCでも、ラズパイでも
新しいこと覚えるの面倒
4.インスタンスタイプの選択
ここでは無料利用対象を選ぶ
「確認と作成」ではなく、「次の手続...」を選ぶ
5.インスタンスの詳細設定
ネットワーク」に先ほど作成したvpcを選択
「サブネット」も先ほど作成したものを選択(ネットワークを選択すると勝手に選択される)
「自動割当パブリックIP」を「有効化」する
(江端コメント)ここで有効化しないと、インターネットに出られないので注意
「ネットワークインターフェース」の「プライマリIP」を「10.0.1.10」とする。
「確認と作成」ではなく、「次の手続...」を選ぶ
6.ストレージの追加
特に変更する部分はない
「確認と作成」ではなく、「次の手続...」を選ぶ
7.インスタンスのタグ付け
値を「TechRucheKaigoIT」(好きな値)に変更
「確認と作成」ではなく、「次の手続...」を選ぶ
8.セキュリティグループの設定
(江端コメント)ここ重要
セキュリティグループ名を「Web-KaigoIお好きな名前)に変更
「HTTP」タイプを追加
「確認と作成」をクリック
9.インスタンス作成の確認
10.キーペアの作成
「新しいキーペアの作成」を選択し、「キーペア名」に「KaigoIT」(好きな名前)を記入。その後。「キーペアのダウンロード」をクリック。
ダウンロード完了後、「インスタンスの作成」ボタンをクリック。
これで、KaigoIT.pemがダウンロードされる
いわゆる「秘密鍵」
これがないと、sshからのアクセスができない
11.作成ステータス画面
「インスタンスの表示」をクリック
12.インスタンスの作成待ち
状態」、「ステータス」が以下の画像のようになるまで待つ。1~2分待てば出来る
(Step.4) Tera Termで接続する
(江端コメント)色々手段はあるが、私のWindowsPCにはTeraTermがインストールされているので、それを使う
ホスト名は、ここら持ってくる
(Step.5)Webサーバのインストール
コマンド
>sudo apt update
>sudo apt-get install apache2
>sudo /etc/init.d/apache2 restart
(Step.6) Webの表示
これにて、もっともショボイWebサーバの完成