「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Python#la989816]]
--[[WSL2 Ubuntu 24.04 LTS 2025/1/21]]
--Ubuntu 24.04 on Azure via Bastion 2025/2/27

*目次 [#b17d0317]
#contents

*概要 [#edddd3a1]
Azure上にUbuntu 24.04を構築(BastionのRDP経由)

*詳細 [#m338bbf2]

**基本環境 [#n5bcaac5]

***[[Azure Bastion>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Bastion]]構築 [#v3741d2b]
[[参考>#tf4c4ed3]]の「DxCommon/AzureIaC/Simplest」を動かすパラメタの例

-基本
 location=japaneast
 azureBastionName=AzureBastion
 azureBastionRgName=AzureBastionRG
 azureBastionVnetName=AzureBastionVnet
 azureBastionSubnetName=AzureBastionSubnet
 jumpboxSubnetName=JumpboxSubnet
 azureBastionPubIPName=AzureBastionPubIP

-VM系
 vmSize=Standard_E2s_v3
 vmOS=Ubuntu2404
 vmName=JumpboxVM1
 vmUser=XXXX
 vmPassword=XXXX

※ vm系パラメタは都度変えて運用。

***SSHで接続しRDP設定 [#r4e7cdec]
-SSHで接続
-[[Linuxデスクトップ環境の設定手順>Linuxのデスクトップ環境#dcf07e58]](RDP設定)
-RDPで接続

**メンテナンス [#b96fdcb4]

***ライブアップデート [#nf1fa7e5]
→ [[UnattendedUpgrades]]

***ウィルススキャン [#eb4451db]
→ [[ClamAV]]

**補足 [#iad7c0f9]

***Bastionの都度削除 [#m124d07c]
参考の「Azure Bastionの自動起動停止方法」同じこと考えてる奴いて草

-一先ず、BastionをGUIから削除して、BastionをShellで作成するようにする。
-必要に応じて、Logic AppsのワークフローでBastionをREST APIから削除

-再作成時は以下
 az network bastion create \
   --resource-group $azureBastionRgName \
   --name $azureBastionName \
   --vnet-name $azureBastionVnetName \
   --public-ip-address $azureBastionPubIPName \
   --location $location

***ターミナル化 [#d179d468]
JumpboxVM1とは、本来、踏み台VM。

-踏み台VMをマルチユーザ化しておく。

--rootユーザで

---Bastionはキーボード入力が微妙(日本語入力の問題?)なので、~
ココでは、PWD入力があるのでSSHでログインして作業を行う。

---ユーザを追加(パスワードを設定)
 sudo adduser [username]
 sudo passwd [username]

---権限を追加
 sudo usermod -aG xrdp [username]
 sudo usermod -aG sudo [username]
 groups [username]

--追加したユーザで

---SSHでターミナルに(リモート)ログインし、以下を実行
 echo xfce4-session >~/.xsession
 sudo systemctl restart xrdp

---RDPでデスクトップに(リモート)ログインできるか確認する。

-RDPクライアントをインストールしておく。

--インストール
 sudo apt install remmina

--設定
---「基本設定」→「解像度」で「クライアントの解像度を使う」にチェック
---「高度な設定」→「品質」を「最高」

--接続

***ディスク追加 [#f7354ddc]
AzureのVMディスク容量が微妙なので、必要に応じて、都度追加が必要になる。

-環境変数
 diskName=MyDisk

-AzureC CLI

--新しいディスクを VM に接続
---既定のディスクタイプは StandardSSD_LRS(Standard SSD)
---Standard SSDが64GBで5$、128GBで10$
 az vm disk attach \
    -g $AzureBastionRG\
    --vm-name $vmName\
    --name $diskName\
    --new \
    --size-gb 64

--既存のディスクを接続する
 az vm disk attach \
    -g $AzureBastionRG\
    --vm-name $vmName\
    --name $(az disk show -g AzureBastionRG -n $diskName --query 'id' -o tsv)

-Ubuntuで

--ディスクを見つける

---lsblkで接続されているブロックデバイス(ディスク、パーティションなど)を表示 
 lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

---Azure VMで、SCSIコントローラ1に接続された追加ディスク(データディスク)
ちなみに、SCSIコントローラ1二接続されているのがOSディスク
 ls -l /dev/disk/azure/scsi1

--得られたディスク、sdxをパーティション&フォーマット

---GPTパーティションテーブルを作成
 sudo parted /dev/sdx --script mklabel gpt mkpart xfspart xfs 0% 100%

---カーネルに新しいパーティション構成を通知
 sudo partprobe /dev/sdx

---作成したパーティションをXFSでフォーマット
 sudo mkfs.xfs /dev/sdx1

--ディスクをマウントする

---ファイル システムをマウントするディレクトリを作成
 sudo mkdir /datadrive

---mount を使用して、ファイル システムをマウント
 sudo mount /dev/sdc1 /datadrive

---マウントを永続化する~
・新しいドライブの UUID を確認
 $ sudo blkid
 /dev/sdx1: UUID="xxxxx" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
・ディスクを /etc/fstab ファイルに追加
 sudo bash -c 'echo "UUID=xxxxx   /datadrive   xfs   defaults,nofail   1   2" >> /etc/fstab'

--マウント先ディレクトリの所有者を現在のユーザーに変更する
 sudo chown -R [user-name]:[group-name] /datadrive

※ [user-name]:[group-name]ともにwhoamiで表示される現在のユーザーで良い。
>※ [user-name]:[group-name]ともにwhoamiで表示される現在のユーザーで良い。

***Python環境の構築 [#j9413016]
[[WSL2 Ubuntu 24.04 LTS 2025/1/21]]と同じ手順でPython(LLMツール)環境を構築する。

*参考 [#tf4c4ed3]

**[[Linuxの各種 手順]] [#tf2547ec]

**基本(クラウド&VM)環境 [#a1c74055]
-DxCommon/AzureIaC/Simplest at master · OpenTouryoProject/DxCommon~
https://github.com/OpenTouryoProject/DxCommon/tree/master/AzureIaC/Simplest
-Linux で xrdp を使用する - Azure Virtual Machines | Microsoft Learn~
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/use-remote-desktop?tabs=azure-cli
-How to Set Up RDP on Ubuntu 24.04 for Remote Access | by Durga Gadiraju | itversity | Medium~
https://medium.com/itversity/how-to-set-up-rdp-on-ubuntu-24-04-for-remote-access-b008411727b7
-Azure Bastionの自動起動停止方法(作成削除をスケジュール実行) | Li-akb-branch-office~
https://www.tama-negi.com/2022/04/29/azure-bastion-start-stop/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS