Skip to content

Instantly share code, notes, and snippets.

View skmkzyk's full-sized avatar

Kazuyuki Sakemi skmkzyk

  • Microsoft
  • Tokyo
View GitHub Profile
@skmkzyk
skmkzyk / equinix-metal-private-access.md
Created October 25, 2021 12:18
Create private access VPN for Equinix Metal
  1. アカウント作成
  2. 後で使うので Customer Portal の右上 → プロファイル編集 → Personal API Key を発行しておく
  3. Ubuntu の server を立てる
  • Public IPv4 アドレスはつけておく (= あまりいじらずにデプロイすればこうなる)
  1. Public IP アドレス越しでログインする (SOS から入ってもいい)
  2. Doorman (https://github.com/equinix/doorman) のセットアップ
  • apt-get update して apt-get install git して git clone して quickstart.sh するだけなので簡単
  • 途中で冒頭に作った Personal API Key がいる
  1. ~/doorman/xxx@gmail.com.ovpn みたいなやつを手元に SCP する
  2. 手元のマシンで OpenVPN をインストールする
@skmkzyk
skmkzyk / cloud.cfg
Created October 24, 2021 14:29
initial cloud.cfg for Equinix Metal Ubuntu server.
apt:
preserve_sources_list: true
datasource_list: [Ec2]
datasource:
Ec2:
timeout: 60
max_wait: 120
metadata_urls:
- https://metadata.packet.net
- http://metadata.packet.net
@skmkzyk
skmkzyk / gist:446703d0c15b63a91f3be09d720f1e3a
Created June 19, 2021 14:57
Virtual Hubs - Get Effective Virtual Hub Routes
# ref. https://docs.microsoft.com/en-us/rest/api/virtualwan/virtual-hubs/get-effective-virtual-hub-routes
$Payload = [PSCustomObject]@{
resourceId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/virtual-wan/providers/Microsoft.Network/virtualHubs/vhub01/hubRouteTables/defaultRouteTable"
virtualWanResourceType = "RouteTable"
} | ConvertTo-Json
Invoke-AzRestMethod -Method post -Path '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/virtual-wan/providers/Microsoft.Network/virtualHubs/vhub01/effectiveRoutes?api-version=2021-01-01' -Payload $Payload -Debug
# To get location URL from its HTTP response header, `-Debug` option is required.
@skmkzyk
skmkzyk / AzWvdApplicationGroupUser.ps1
Created May 21, 2021 03:12
Add-AzWvdApplicationGroupUser and Remove-AzWvdApplicationGroupUser to handle user assignment on ARM WVD.
Function Add-AzWvdApplicationGroupUser() {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)] [string] $ResourceGroupName,
[Parameter(Mandatory = $true)] [string] $ApplicationGroupName,
[Parameter(Mandatory = $true)] [string] $SignInName
)
$subscriptionId = (Get-AzContext).Subscription.Id
@skmkzyk
skmkzyk / New-AzVMFromExistingResource.ps1
Created May 21, 2021 02:16
New-AzVMFromExistingResource function for creating VM from existing NIC and disks with availability set.
Function New-AzVMFromExistingResource() {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)] [string] $ResourceGroupName,
[Parameter(Mandatory = $true)] [string] $LocationName,
[Parameter(Mandatory = $true)] [string] $VMName,
[Parameter(Mandatory = $true)] [string] $VMSize,
[Parameter(Mandatory = $true)] [string] $AVSetName,
[Parameter(Mandatory = $true)] [string] $OSDiskName,
[Parameter(Mandatory = $true)] [string] $NICName
@skmkzyk
skmkzyk / create-vm-from-existing-resource-with-avset.ps1
Created February 25, 2021 06:26
script for creating VM from existing NIC and disks with availability set.
$ResourceGroupName = "rds-s2d"
$LocationName = "southeastasia"
$VMName = "fsn1"
$VMSize = "Standard_D2s_v3"
$AVSetName = "avset-fsn"
# 既存の OS Disk をつかむ
$OSDisk = Get-AzDisk -DiskName fsn01_OsDisk_1_4391c3850a5847ba8a4753316ddfee89 -ResourceGroupName $ResourceGroupName
@skmkzyk
skmkzyk / add-nic-backendpool.ps1
Created February 25, 2021 06:23
script for adding specified NIC to backend pool.
$ResourceGroupName = "rds-s2d"
$LBName = "blb-fsn"
$NICName = "fsn01896"
# LB をつかむ
$BEPool = Get-AzLoadBalancer -ResourceGroupName $ResourceGroupName -Name $LBName | Get-AzLoadBalancerBackendAddressPoolConfig
# 既存の NIC をつかむ
$NIC = Get-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName
$NIC = Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -NetworkInterface $NIC -LoadBalancerBackendAddressPoolId $BEPool.Id
$ResourceGroupName = "rds-s2d"
$LocationName = "southeastasia"
$VMName = "fsn1"
$VMSize = "Standard_D2s_v3"
# 既存の OS Disk をつかむ
$OSDisk = Get-AzDisk -DiskName fsn01_OsDisk_1_4391c3850a5847ba8a4753316ddfee89 -ResourceGroupName $ResourceGroupName
# 既存の Data Disk をつかむ
@skmkzyk
skmkzyk / get-devops-audit-log.json
Created July 21, 2020 14:04
Logic Apps for getting Azure DevOps audit log.
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"create_base64_PAT": {
"inputs": "@base64(':xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')",
"runAfter": {
"end_time": [
"Succeeded"
]
{
"name": "sample2",
"properties": {
"defaultEncryptionScope": "$account-encryption-key",
"deleted": false,
"denyEncryptionScopeOverride": false,
"hasImmutabilityPolicy": false,
"hasLegalHold": false,
"leaseState": "Available",
"leaseStatus": "Unlocked",