クラウドコンピューティングの運用管理学習:初週

ローカル環境

OS: Windows 11 プロフェッショナル 64ビット
CPU: i5-11400H 2.7GHz
RAM: 16GB
ストレージ: 500GB + 1TB SSD
GPU: RTX 3050 Ti
クラウドコンピューティングの運用管理を学ぶためには、まずLinuxシステムをインストールすることが重要です。

1. VMware Workstationのインストール

1.1 VMwareのダウンロード

VMware Workstation公式サイトから最新版をダウンロードします。

1.2 VMwareのインストール

注意: 2025年3月以降、BroadcomはVMware Workstation Pro 17.6.3以降のバージョンを完全無料とし、ライセンスキーが不要になります。個人、企業、教育用途で利用可能です。
  1. ダウンロードしたファイルをダブルクリックして開きます。
  2. 「次へ」をクリックします。
  3. 「ライセンス契約に同意する」を選択し、「次へ」をクリックします。
  4. インストールパスを変更したい場合は、「変更」をクリックします。「次へ」をクリックします。
  5. ユーザーエクスペリエンス設定オプションのチェックを外すことをお勧めします。「次へ」をクリックします。
  6. 「インストール」をクリックし、インストールが完了するまで待ちます。

2. UbuntuとRocky Linuxのインストール

2.1 Rocky Linuxイメージのダウンロード

公式サイトからRocky-9.6-x86_64-dvd.isoをダウンロードします。

2.2 Rocky Linuxのインストール

  1. 新しい仮想マシンを作成します。
  2. デフォルト設定を選択します。
  3. Rocky-9.6-x86_64-dvd.isoを選択します。
  4. 仮想マシンの名前とインストール場所を編集します。
  5. 仮想ディスクのサイズを100GBに設定し、「単一ファイルとして保存」を選択します。
  6. メモリを4GBに設定し、CPUの仮想化機能を有効にします。
  7. ハードウェア設定を確認し、「閉じる」をクリックします。
  8. 仮想マシンを起動し、「Install Rocky Linux」を選択します。
  9. 言語を選択し、「続行」をクリックします。
  10. インストール先を選択し、「完了」をクリックします。
  11. ソフトウェアを選択し、「完了」をクリックします。
  12. 日時とタイムゾーンを選択し、「完了」をクリックします。
  13. ネットワークとホスト名を選択し、ホスト名を設定します。
  14. IPアドレスを手動で設定し、DNSを設定します。
  15. ネットワーク設定を保存し、エターネットを再起動します。
  16. ルートパスワードを設定し、「rootユーザーがパスワードを使用してSSHログインできるようにする」を選択します。
  17. 新しいユーザーを作成し、管理者権限を付与します。
  18. インストールを開始し、完了したらシステムを再起動します。

2.3 Ubuntuイメージのダウンロード

公式サイトからubuntu-24.04.2-desktop.isoをダウンロードします。

2.4 Ubuntuのインストール

  1. 新しい仮想マシンを作成します。
  2. デフォルト設定を選択します。
  3. ubuntu-24.04.2-desktop.isoを選択します。
  4. 簡易インストール情報を入力します。
  5. 仮想マシンの名前とインストール場所を編集します。
  6. 仮想ディスクのサイズを100GBに設定し、「単一ファイルとして保存」を選択します。
  7. ハードウェア設定を確認し、「完了」をクリックします。
  8. 仮想マシンを起動し、グラフィカルインターフェースのシステム設定を行います。
  9. 言語を選択し、「次へ」をクリックします。
  10. キーボードレイアウトを選択し、「次へ」をクリックします。
  11. インターネット接続を選択し、「次へ」をクリックします。
  12. Ubuntuのインストールを選択し、「次へ」をクリックします。
  13. ユーザー情報を入力し、「次へ」をクリックします。
  14. タイムゾーンを選択し、「次へ」をクリックします。
  15. インストールを開始し、完了したらシステムを再起動します。

3. リモート端末からのアクセス

3.1 MobaXtermのダウンロード

MobaXterm公式サイトから最新版をダウンロードします。

  1. ダウンロードしたファイルを解凍して使用します。
  2. 「Session」を選択し、リモート接続を行います。
  3. SSHを選択し、「Remote host」に目標ホストのIPアドレスを入力します。
  4. ユーザー名を指定し、新しいユーザーを作成します。
  5. ユーザー名とパスワードを設定し、「OK」をクリックします。
  6. 対応するユーザーを選択し、「OK」をクリックします。

4. Linux基本コマンド

ユーザー:
	whoami, who, id
情報:
	pwd, ls, cat, tree
ファイル:
	作成: mkdir, touch
	コピー: cp
	移動: mv
	削除: rm
システム:
	CPU: lscpu
	メモリ: free
	プロセス: ps aux, pstree -p
	システムバージョン: cat /etc/os-release
	カーネルバージョン: uname -r
コマンドヘルプ:
	-h, --help, help コマンド
日付時間:
	date, timedatectl
履歴コマンド:
	history
ホスト名:
	hostname, hostnamectl
ネットワーク情報:
	ss, netstat, ip, ifconfig, route, ip route

5. ネットワーク基礎知識

コンピューターネットワークの構成:

ノード-リンク
	エッジノード: サーバー、クライアント
	中間ノード: コミュニケーションデバイス(ルーター、スイッチ)
**スイッチ**: MACアドレスに基づいてデータを転送します(データリンク層)。 **ルーター**: IPアドレスに基づいてデータをルーティングします(ネットワーク層)。

OSI 7層モデル(理論参考):

アプリケーション層 (HTTP/FTPなど)
表現層
セッション層
トランスポート層 (TCP/UDP)
ネットワーク層 (IP)
データリンク層 (MACフレーム)
物理層 (ビットストリーム)

TCP/IP 4層モデル(実際の適用):

アプリケーション層
トランスポート層 (TCP/UDP)
インタネット層 (IP)
ネットワークインターフェース層

IP アドレス:

IPアドレスはインターネット上のデバイスの一意の識別子であり、データパケットをルーティングし、正しい宛先に到達させるために使用されます。
IPv4は32ビットの二進数でIPアドレスを表し、通常は4つの点で区切られた10進数整数で表示され、各整数の範囲は0から255です。
IPv4アドレスはネットワーク部分とホスト部分に分けることができます。
ネットワーク部分: ネットワークの一意の識別子で、デバイスが存在するネットワークを示します。
ホスト部分: そのネットワーク内の具体的なデバイス(ホスト)を示します。
IPv4アドレスはA、B、C、D、Eクラスに分けられます。Aクラスは大規模ネットワーク、Bクラスは中規模ネットワーク、Cクラスは小規模ネットワーク、Dクラスはマルチキャスト、Eクラスは実験用に予約されています。
IP クラス 1-8 ビット 9-16 ビット 17-24 ビット 25-32 ビット
A クラス ネットワークID、最上位ビット0、10進数の範囲0-127 ホストID ホストID ホストID
B クラス ネットワークID、最上位ビット10、10進数の範囲128-191 ネットワークID ホストID ホストID
C クラス ネットワークID、最上位ビット110、10進数の範囲192-223 ネットワークID ネットワークID ホストID
D クラス ネットワークID、最上位ビット1110、10進数の範囲224-239
E クラス
IPアドレスの使用範囲は主に以下の2つに分けられます。
公共IPアドレス: インターネット上のデバイスが持つ唯一のアドレス
プライベートIPアドレス: インターネットには直接使われず、通常はLANで使用されます

トランスポート層プロトコル TCP/UDP

TCPプロトコル

TCPは伝送制御プロトコルであり、接続指向で信頼性が高く、バイトストリームベースのトランスポート層通信プロトコルです。
接続指向: データ伝送を行う前に接続を確立し、伝送完了後に接続を解放します。
信頼性: 確認メカニズム、再送メカニズム、スライディングウィンドウメカニズムなどを通じてデータの信頼性を確保し、データが無誤差、無損失、重複せず順序どおりに到達することを保証します。
バイトストリーム伝送: TCPはアプリケーション層のデータを構造を持たないバイトストリームとして扱い、ネットワーク状況と受信側のバッファ状況に応じて適切なサイズのパケットに分割して送信します。

UDPプロトコル

UDPはユーザーデータグラムプロトコルであり、接続なしで信頼性の低いトランスポート層通信プロトコルです。
接続なし: データ伝送を行う前に接続を確立する必要なく、直接データを送信します。
信頼性なし: 確認メカニズムや再送メカニズムがないため、データが失われたり、重複したり、順序が乱れることもあります。
データグラム伝送: UDPはアプリケーション層のデータを個別のデータグラムに封入して伝送し、各データグラムにはヘッダーとデータ部分があります。

6. Web基礎知識

HTTPプロトコル

HTTP(HyperText Transfer Protocol)は、分散型、協調型、ハイパーテキスト情報システムのアプリケーション層プロトコルです。
ブラウザがウェブサイトにアクセスする過程
  1. ブラウザのアドレスバーにURLを入力します。
  2. DNSがドメイン名を解析し、サーバーのIPアドレスを取得します。
    1. DNSキャッシュの検索
    2. DNSの再帰検索
    3. サーバーのIPアドレスを返却
  3. TCP接続
    1. 3回の握手
    2. 4回の握手
  4. HTTPリクエスト
    1. サーバーにリクエストパラメータを送信
    2. サーバーがコンテンツを返却
  5. クライアントブラウザがページをレンダリング
    1. HTML、CSS、JSなどの各種リソースを取得
    2. レンダリングモジュールがCSS、JSなどを処理
    3. DOMツリーを構築
    4. スタイル計算とレイアウト
    5. 効果的なページを生成
HTTPの動作メカニズム
  1. 接続の確立 クライアント(通常はブラウザ)がTCP/IPプロトコルを通じてサーバーとの接続を確立します。
  2. リクエストの送信 接続が確立されると、クライアントはサーバーにHTTPリクエストを送信します。
  3. リクエストの処理 サーバーはクライアントからのリクエストを受け取り、リクエストラインとヘッダーフィールドを解析し、要求されたリソースを見つけ、適切なレスポンスを準備します。
  4. レスポンスの送信 サーバーは処理後のレスポンスをクライアントに送り返します。
  5. 接続のクローズ リクエストとレスポンスの後、通常は接続がクローズされ、システムリソースが解放されます。
リクエストメッセージ
開始行: リクエストに関する基本情報を記述
ヘッダーフィールド集合: key: value形式で詳細な情報を記述
メッセージ本文: リクエストデータ、存在しないこともあります
レスポンスメッセージ
開始行: レスポンスに関する基本情報を記述
ヘッダーフィールド集合: key: value形式で詳細な情報を記述
メッセージ本文: レスポンスデータ、存在しないこともあります
HTTPリクエストでは複数のリクエストメソッドを使用できます。
主なメソッド: GET, HEAD, POST, PUT, DELETE
ステータスコード
主なコード: 200 成功, 404 失敗
HTTPの重要な特徴
接続なし
	各接続は1つのリクエストのみを処理します。
状態なし
	HTTPプロトコルは状態保持がありません。各リクエストは独立しており、サーバーは前のリクエストの状態情報を保持しません。

Nginxのデプロイ

Ubuntu環境でのNginxのデプロイ
Nginxのインストール
apt install nginx nginx-core fcgiwrap nginx-doc
サービスの状態確認
systemctl is-active nginx
netstat -tnulp | grep nginx
宿主マシンで10.0.0.13にアクセスすると、Nginxが正常にインストールされていることが確認できます。 Webの実践
デフォルト設定の削除
rm -f /etc/nginx/sites-enabled/default

カスタムアプリケーションページの作成
mkdir /data/server/nginx/web{1..3} -p
echo "nginx web1" > /data/server/nginx/web1/index.html
echo "nginx web2" > /data/server/nginx/web2/index.html
echo "nginx web3" > /data/server/nginx/web3/index.html

カスタム設定ファイルの作成
cat > /etc/nginx/conf.d/vhost.conf <<-eof
server {
listen 80;
server_name www.web1.com;
root /data/server/nginx/web1;
}
server {
listen 81;
server_name www.web2.com;
root /data/server/nginx/web2;
}
server {
listen 82;
server_name www.web3.com;
root /data/server/nginx/web3;
}
eof

サービスの再起動
systemctl restart nginx

サイトへのアクセス
curl www.web1.com
curl www.web2.com
curl www.web3.com
サーバーのデプロイが成功しました。

7. ファイル操作コマンド

ファイルシステム

一般的なディレクトリ
	ユーザー: /root, /home
	デバイス: /dev
	コマンド: /bin, /sbin, /user/bin, /usr/sbin
	システム: /var, /usr, /etc, /proc

ファイル管理

ファイル属性情報の確認
	簡略化された属性情報:
		ls -l, ll
	ファイルの元データ属性情報:
		file
	ファイルの状態情報:
		stat
表示:
	cat, head, tail, more, less
編集:
	nano, vim
情報出力:
	echo

タグ: linux VMware Ubuntu Rocky Linux MobaXterm

7月20日 21:09 投稿