Azure環境を自動的に構築するBicepが超便利!

はじめに

OutlookアドインやSharePoint Frameworkのパーツなどの開発をしていると、Azure Functionsやストレージを使うことが良くあります。 これまではその度に環境をゼロベースで構築していたのですが、そんな労力を削減してくれる便利な機能がAzureには備わっています。 それが、Bicepというものなのですが、これが非常に便利なので触りだけ紹介です。 公式情報はこちらにあるので、詳細知りたい方はどうぞ。 https://learn.microsoft.com/ja-jp/azure/azure-resource-manager/bicep/overview?tabs=bicep

Bicepとは?

Bicepは、Azureリソースをデプロイするための宣言型構文を使用した専用言語です。 これにより、リソースの一貫したデプロイを可能にし、コードを再利用することで様々な環境を再現性を持って繰り返し素早く構築することができるようになります。

使い方

まずはBicepの本体となるファイルを作成します。 Bicepファイルの作成はVSCodeを使うと便利です。 例としてストレージアカウントを自動作成するBicepファイルを記載します。 このコードでは、dataStorageAccountというストレージアカウントを作って、そのストレージアカウントのBlobにConfigという名前のコンテナを作成します。 また、リージョンに関してはパラメータで受け取るようにしています。

// パラメータ
@description('リソースのロケーション')
param location string
// ストレージアカウント
resource dataStorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: 'dataStorageAccount'
location: location
sku: {
name: dataStorageSku
}
kind: 'StorageV2'
properties: {
dnsEndpointType: 'Standard'
publicNetworkAccess: 'Enabled'
supportsHttpsTrafficOnly: true
minimumTlsVersion: 'TLS1\_2'
}
}
// Blobの設定
resource dataStorageBlobServices 'Microsoft.Storage/storageAccounts/blobServices@2023-05-01' = {
name: 'default'
parent: dataStorage
properties: {
containerDeleteRetentionPolicy: {
enabled: true
days: 7
}
deleteRetentionPolicy: {
allowPermanentDelete: false
enabled: true
days: 7
}
}
}
// Configコンテナの作成
resource dataStorageBlobServicesContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-05-01' = {
parent: dataStorageBlobServices
name: 'config'
properties: {
immutableStorageWithVersioning: {
enabled: false
}
defaultEncryptionScope: '$account-encryption-key'
denyEncryptionScopeOverride: false
publicAccess: 'None'
}
}

上記の内容を拡張子「.bicep」のファイルとして保存することで、Bicepファイルが作成できます。 今回は「test.bicep」として保存します。

読了時間: 1分

SharePoint Online で SharePoint アドイン(プロバイダーホスト型)を使用する

はじめに

SharePoint Server 2013 で導入された SharePoint に機能を追加する仕組みとして、プロバイダーホスト型の高信頼性 SharePoint アドイン(以降「SharePoint アドイン」と表記)というものがあります。 SharePoint アドインは、もともと SharePoint アプリと呼ばれていたので、SharePoint アプリとして覚えている方もいらっしゃるかもしれません。 この SharePoint アドインですが、少々レガシーな仕組みかもしれませんが、SharePoint Online でもきちんと動作することが確認できました。 ただし、オンプレ環境で動作させる場合と展開する方法が少々異なるので、展開の仕方をまとめました。

読了時間: 2分

Azure 仮想マシンに LAMP 環境を構築し WordPress を立ち上げる -その4-

いよいよ本シリーズも最後になりました。 前回までで WordPress をインストールする準備が整ったので、今回は WordPress をインストールして初期設定を行い、WordPress が利用できる状態まで持って行きたいと思います。

WordPress 用データベースの作成

WordPress のインストールを行うため、まずはデータベースを作成します。

  1. MySQL にログインする TeraTarm でサーバーに接続して以下のコマンドを実行し、パスワードを入力して MySQL に接続します。
mysql -u root -p

すると下記のようなメッセージが表示されます。

読了時間: 2分

Azure 仮想マシンに LAMP 環境を構築し WordPress を立ち上げる -その3-

前回までで LAMP 環境の構築まで完了したので、今回は MySQL のデータファイルをデータ領域として追加した仮想ディスクに移動する方法と、いくつか細かな設定をして、WordPress をインストールするための準備をします。

データ領域用ディスクのマウント

仮想マシンに追加した仮想ディスクをマウントします。

  1. データ領域用ディスクの初期化 TeraTarm でサーバーに接続して以下のコマンドを実行し、ディスクを初期化します。
sudo fdisk /dev/sdc

すると下記のようなメッセージが表示されます。

読了時間: 3分

Azure 仮想マシンに LAMP 環境を構築し WordPress を立ち上げる -その2-

前回 Azure 仮想マシン上に Linux (Ubuntu) を立ち上げたので、次は Apache、MySQL、PHP をセットアップします。

Apache、MySQL、PHP のインストール

1. 接続TeraTerm を起動して、環境に接続します。 2. タイムゾーンの変更まずはシステムのタイムゾーンを変更するため、以下のコマンドを TeraTerm で入力します。

sudo dpkg-reconfigure tzdata

すると以下の画面が表示されるので、タイムゾーンを日本にするのであれば [Asia] を選択して Enter キーを押し、その後 [Tokyo] を選択して Enter キーを押します。 linux-lang 3. システムを最新状態に更新まるで Windows Update のように、システムを最新の状態に更新します。 以下のコマンドを入力してください。

読了時間: 1分

Azure 仮想マシンに LAMP 環境を構築し WordPress を立ち上げる -その1-

新年一発目は SharePoint ではないネタからw 昨年から年始にかけて、SharePoint ベースの独自ブログから Azure Web Site の WordPress へブログを移行しました。 移行は1か月ほどで無事済んだのですが、Azure Web Site で使える MySQL のデータベース容量が無料コースだと 20MB しかないことにブログ移行後に気づき、日々アラートメールが届くようになってしまいました。 MediaWiki のサイトもあるし、20MB ではとてもとても容量が足りないので、またまた引っ越すことに。 今度は Azure の仮想マシンに LAMP (Linux + Apache + MySQL + PHP) 環境を構築し、そこに WordPress と MediaWiki を移行することに決めました。 そして本日、無事 WordPress の引っ越しが済んだので、備忘録がてらその手順をブログに残しておこうと思います。 ちなみに Linux 環境は 20 代のころに 1、2 か月触ったくらいの経験しかありませんので、この記事では Linux の超基本的なところから書いてます。 まず初回は仮想マシンの立ち上げまで。