Open4

AWSでLinuxの仮想サーバを作成する

🍤🍤

AWSを利用して仮想マシン(インスタンス)を起動させる。
これをすることで、ターミナルでLinuxの環境をいじることができるようになる。

Amazon LinuxはRedHat系のディストリビューションらしい。

まずアーキテクチャを決定する。
x86:プログラムやデータを32ビット単位で処理するもの。
Arm64:プログラムやデータを64ビット単位で処理するもの。
ビットは「0か1が入っている箱」で、情報量を表す単位。
今の主流は64ビット版らしい。
数字が大きい方が頭が良い…

https://wa3.i-3-i.info/word13410.html
https://e-words.jp/w/ARM64.html

どうやら選択によってパフォーマンスに差が出ると言うこと?らしい。

https://www.arm.com/ja/partners/aws

ami64を選択した。

次にインスタンスタイプの選択。
https://blog.serverworks.co.jp/how-to-ec2-cpu-arch#AMI-アーキテクチャの選択

この記事には「g系インスタンスファミリーであれば良い」と書いてあった。

https://www.acrovision.jp/service/aws/?p=2365

インスタンスファミリーにはG系P系があるらしい。
G系はコストが安い。
P系は数値計算に強いらしい。

🍤🍤

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/create-key-pairs.html

キーペアを作成する。
これは仮想マシン接続時の身分証明に使用される。
パブリックキーとプライベートキーが作成されるが、
プライベートキーが割れると誰でも私の仮想マシンに接続できるようになっちゃうので間違ってもGitなど上げてはいけない。

SSH接続で安全性を確保している。
sshとは、TCP/IPネットワークを利用してネットワーク上に存在するサーバにアクセスし、UNIXコマンドを用いて直接サーバ操作ができるようになるプロトコル。「Secure Shell」の略。
パブリックキーはインスタンス内に保管される。
RSA: 暗号化と署名
EdDSA: 署名のみ。暗号を破るためにより高い計算量が求められる。

アルゴリズムとしての強度はEd25519のほうが高いらしい。

OpenSSHはSSHプロトコルを利用するためのソフトウェア。SShサーバおよびSShクライアントを含む。

🍤🍤
chmod 400 kotomi.cer 
ssh -i "kotomi.cer" ec2-user@hogehoge.compute.amazonaws.com

chmod 400
chmod = change modeの略。
ファイルやディレクトリのアクセス権限を変更するためのコマンド。
400はアクセス権を指定するコマンド。
rootユーザー以外読み込みができない。また、rootユーザーであっても書き込みや実行はできない。
重要なファイルで設定するようなもの。
他権限の種類は以下。

権限の種類 対応する数字 大事
全て許可 7
読み取り&書き込み 6
読み取り&実行 5
読み取り 4
書き込み&実行 3
書き込み 2
実行 1
全て禁止 0

★マークの数字の足し算で他の権限は表現することができる。
例えば [読み取り:4] + [書き込み:2] = [読み取り&書き込み:6]

使用例
$ chmod 740 ファイル名
// 所有者:すべて許可
// グループ:読み取りのみ許可
// その他:すべて禁止

3桁指定の時 = 所有者の権限+グループの権限+ユーザーの権限
2桁指定の時 = グループの権限+ユーザーの権限
ex) chmod 33 = chmod 033 と同じ
1桁指定の時 = ユーザーの権限
ex) chmod 7 = chmod 007 と同じ

権限の種類 対応する記号
読み取り r = 4
書き込み&削除 w = 2
実行 x = 1
ユーザー指定 対応する記号
所有者 u
グループ g
その他 o
全て a
権限 対応する記号
権限を付与 +
権限を削除 -
権限にする =
シンボルモード
$ chmod [ユーザー][記号][権限][ファイル]
$ chmod [ユーザー][記号][権限],[ユーザー][記号][権限][ファイル]  // 複数のユーザーを指定する

# 所有者に書き込み権限を付与
$chmod u+r test.txt


# 所有者:すべて(rwx)
# グループ:読み・書き(rx)
# その他:読み込みのみ(r)
$ chmod u+rwx,g+rx,o+r test.txt