#author("2020-12-12T13:21:04+00:00","","") #mynavi(Azureメモ) #html(){{ <style> .images img { border: 1px solid #333; } </style> }} * 概要 [#b8d6cc43] #html(<div class="pl10">) #TODO #html(</div>) * 目次 [#m1734f6a] #contents * VNet(仮想ネットワーク) 及び VM(仮想マシン) の作成 [#h9d49da3] #html(<div class="pl10">) #html(){{ <div id="tabs1"> <ul> <li><a href="#tabs1-1">0_env.sh</a></li> <li><a href="#tabs1-2">1_resources.sh</a></li> </ul> }} // START tabs1-1 #html(<div id="tabs1-1">) 0_env.sh #mycode2(){{ #!/bin/bash # リソース名の接頭文字 PREFIX=XXXXXXXXXXX # サブスクリプションID subscriptionId=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # リージョン region=japanwest resourceGroup=${PREFIX}Resources vnetName=${PREFIX}VNet vnetPrefix=10.1.0.0/16 nsgName=${vnetName}SecGrp nsgPubRuleName=${nsgName}PubRule nsgPubInboundPort="8086" vmSubnetName=${PREFIX}VmSubnet vmSubnetPrefix=10.1.1.0/24 exSubnetName=${PREFIX}ExSubnet exSubnetPrefix=10.1.2.0/24 vmName=${PREFIX}Vm vmImage=UbuntuLTS # "az vm image list -o table" で利用可能なイメージの一覧を確認可能 vmIpAddress=10.1.1.5 vmUser=sampleuser }} #html(</div>) // END tabs1-1 // START tabs1-2 #html(<div id="tabs1-2">) 1_resources.sh #mycode2(){{ #!/bin/bash # 設定の読み込み source 0_env.sh # リソース作成 if [ "$1" == "--create" ]; then # リソースグループの作成 echo az group create az group create --name $resourceGroup --location $region # NSG(ネットワークセキュリティグループの)作成 echo az network nsg create az network nsg create --resource-group $resourceGroup --name $nsgName # NSGルール(Public) SSH echo "az network nsg rule create(ssh)" az network nsg rule create \ --resource-group $resourceGroup --nsg-name $nsgName --name ${nsgPubRuleName}2 \ --access Allow --protocol Tcp --direction Inbound --priority 100 \ --source-address-prefix Internet --source-port-range "*" --destination-port-range "22" # 仮想ネットワーク 及び サブネット作成 echo az network vnet create az network vnet create \ --name $vnetName --resource-group $resourceGroup \ --address-prefixes $vnetPrefix --network-security-group $nsgName \ --subnet-name $vmSubnetName --subnet-prefixes $vmSubnetPrefix # VNet統合用のサブネット echo az vnet subnet create az network vnet subnet create \ --name $exSubnetName \ --resource-group $resourceGroup \ --vnet-name $vnetName \ --address-prefixes $exSubnetPrefix # ユーザディレクトリ配下のSSH鍵をバックアップ bk_suffix=`date +%Y%m%d%H%M%S` if [ -e ~/.ssh/id_rsa ]; then mv ~/.ssh/id_rsa ~/.ssh/id_rsa_${bk_suffix} fi if [ -e ~/.ssh/id_rsa.pub ]; then mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub_${bk_suffix} fi # 仮想マシンの作成 echo az vm create az vm create \ --resource-group $resourceGroup --name $vmName --image $vmImage --generate-ssh-keys \ --vnet-name $vnetName --subnet $vmSubnetName \ --private-ip-address $vmIpAddress --admin-username $vmUser \ --public-ip-address-dns-name `echo $vmName | tr '[A-Z]' '[a-z]'` \ --custom-data 2_setup_vm.sh # ポート開放 #az vm open-port --resource-group $resourceGroup --name $vmName --port 80 # 生成されたSSH鍵を移動( --ssh-dest-key-path が効かない為 ) mkdir -p pem if [ -e ~/.ssh/id_rsa ]; then mv ~/.ssh/id_rsa ./pem/id_rsa_${vmName} fi if [ -e ~/.ssh/id_rsa.pub ]; then mv ~/.ssh/id_rsa.pub ./pem/id_rsa_${vmName}.pub fi # バックアップしたSSH鍵を戻す if [ -e ~/.ssh/id_rsa_${bk_suffix} ]; then mv ~/.ssh/id_rsa_${bk_suffix} ~/.ssh/id_rsa fi if [ -e ~/.ssh/id_rsa.pub_${bk_suffix} ]; then mv ~/.ssh/id_rsa.pub_${bk_suffix} ~/.ssh/id_rsa.pub fi fi # リソース削除 if [ "$1" == "--delete" ]; then echo az group delete az group delete --name $resourceGroup fi }} #html(</div>) // END tabs1-2 #html(</div>) // END tabs1 #html(<script>$(function() { $("#tabs1").tabs(); });</script>) 上記のシェルで VNet 及び VMを作成 #myterm2(){{ ./1_resources_vm.sh --create }} #html(</div>) * データベース作成 [#t958e7c9] #html(<div class="pl10">) Azure Portal から 「Azure Database for PostgreSQL」 を以下の通り作成した。 #html(<div class="images">) #ref(pg01.png,nolink); #html(</div>) #html(</div>) * プライベートエンドポイントの作成 [#bf41e9c2] #html(<div class="pl10">) #TODO #html(</div>) * Private Link の構成 [#w4a9dd66] #html(<div class="pl10">) #TODO #html(</div>)