Skip to content

Latest commit

 

History

History

lesson2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

第 1 回 Web と Linux 編

内容

ハンズオン環境構築について

GCP の GCE 上に環境を作りました。まずマスターとなるインスタンスを作り、人数分それをコピーしていきました。

マスターインスタンスの作り方

  • まず ubuntu 20.04 を一つ用意します。今回は e2-small を使いました。
  • GCP の vpc のファイアウォールの設定で、全許可のルールを作成し、それを GCE インスタンスに適用させます(AWS でいうところのセキュリティルール)
    • これを忘れていると、ufw でポート開放してもアクセスできないということになります。
  • create-master.sh を一回だけ実行します。これにより kakedashi ユーザーが作成されます。
  • 次に、kakedashi アカウントでログインできることを確認し、one/two/ を置きます。 マスターインスタンスを作ったら、その時点でのスナップショットを取得します。次に、GCE の新規作成時にディスクイメージに先ほどのスナップショットを指定することでコピーが作成できます。

gcloud コマンドを使いました。例えば以下のコマンドにより、gce-0 ~ gce-9 という名前でインスタンスが 10 個できます。(※プロジェクト名とスナップショット名に依ります。VM の新規作成画面を進んでいくと最下部に等価なコマンドが出てくるので、それをコピペしました。)

ネットワークタグで ictsc-practice というのを指定していますが、これは GCP でのファイアウォールの設定です。

(powershell)

for ($i=0; $i -lt 10; $i++){ gcloud compute instances create "gce-$i" --project=ictsc-practice --zone=asia-northeast1-b --machine-type=e2-small --network-interface="network-tier=PREMIUM,subnet=default" --maintenance-policy=MIGRATE --no-service-account --no-scopes --tags="ictsc-practice,http-server,https-server" --create-disk="auto-delete=yes,boot=yes,device-name=gce-$i,mode=rw,size=10,source-snapshot=projects/ictsc-practice/global/snapshots/snapshot-0226,type=projects/ictsc-practice/zones/asia-northeast1-b/diskTypes/pd-balanced" --reservation-affinity=any }

質問コーナー

  • ipv6 を無効化しているのはなぜ?
    • ipv4 だけにすると分かりやすいかなと思ってやりました。でもルーターでは無効化できてませんでしたね。
  • vyos コンテナを自分で作ったのはなぜですか?
    • dockerhub に転がっているものでうまく動かず(カーネル互換性の問題?)で、ハンズオン環境でコンテナを作って(つまり動く。)使うことにしました。