概要

TODO:

目次

VNet(仮想ネットワーク) 及び VM(仮想マシン) の作成

0_env.sh

#!/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

1_resources.sh

#!/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

上記のシェルで VNet 及び VMを作成

./1_resources_vm.sh --create

データベース作成

Azure Portal から 「Azure Database for PostgreSQL」 を以下の通り作成した。

pg01.png

プライベートエンドポイントの作成

TODO:

Private Link の構成

TODO:

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS