「[[.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/