理系学生日記

おまえはいつまで学生気分なのか

azure

azurerm_mysql_databaseのcharset、collation指定は効果があるのか

TerraformでAzure Database for MySQLを構築する場合、必ず利用するであろうリソースがazurerm_mysql_databaseです。 このリソースはcharset、 collationが必須パラメータです。 それぞれ文字セット、照合順序を意味しており、MySQLを利用する方は気にしたこ…

Azure PipelinesでPull RequestをトリガーにCIを走らせる (または、CIトリガーとPRトリガーでの重複実行を抑止する)

Pull Requestが作成されたらCIを実行したい。こういったユースケースはよくあります。 Azure Pipelinesでもこの実現はできるのですが、この実現にはかなり癖があります。 結論 PR Triggerの設定は、azure-pipelines.ymlではなく、Azure ReposのBuild validat…

Azureの複数Subscriptionを扱う場合は頻繁にaz logoutすべき

あれ、これ本当なのか、という挙動になったのが複数Subscriptionを扱う場合。 例えば私のアカウント状況が以下のようになっているとします。 $ az account list | jq '.[] | { "env": .name, "mail": .user.name }' { "env": "Staging", "mail": "kiririmode…

Azure上のTerraform Backendに対してAD認証を行う

AzureをTerraformで管理する場合、TerraformのRemote Stateとして Azure Blob Storageを設定することになります。 Backend Type: azurerm - Terraform by HashiCorp ここで問題になるのはAzure Blob Storageに対する認証でしょう。 Azure Blob Storageの認証…

Azure Pipelinesのscriptではset -eする

Azure Pipelinesでは様々なPipeline用のタスクが用意されています。例えばMaven taskだったり、 Docker taskだったりです。 Build and release tasks この中で柔軟性が高いのはCommand Line taskや Bask taskでしょう。 例えばCommand Line taskでは、以下の…

Terraformで学ぶAzure Database for MySQL

Azure Database for MySQLをTerraformで構築してみます。 Terraformの構成 サーバとデータベース ネットワークアクセス制御 ファイアウォールルール VNETサービスエンドポイント 接続確認 インターネットからの接続 VNETからの接続 まとめ Terraformの構成 …

Azure PipelinesのService Connectionを使ってAzure Container RegistryのコンテナをPULLする

Azure Pipelinesにおいて、ジョブを動かすコンテナイメージをAzure Container RegistryからPULLしたい。 これを実行するとき、docker loginでACRにログインするんだろうなと考えていました。そうすると、ログイン用のクレデンシャルを保存しておかなければな…

Azure PipelinesのジョブがInitialize Containersフェーズでuseradd Permission denied.で失敗する

Azure上でコンテナベースのジョブを作ったら、Initialize Containersフェーズでuseradd: Permission denied.というエラーが発生しました。 Try to create a user with UID '1001' inside the container. /usr/bin/docker exec dee61730d7328016d8d3f56d81cb0…

Azure Pipelinesでalpineベースのコンテナを使うとエラーになる

AzureでCIを行う場合はAzure Pipelinesを使うことになります。 また、最近のCIは都度同じ環境でCIを動かせるようにコンテナの上で実行するのがスタンダードです。 このため、開発しているプロダクトではalpineベースのコンテナでCIジョブを動作させていまし…

Terraform BackendのあるSubscriptionとは別のSubscriptionへリソースを構築する

SubScriptionによって環境分離を実現しようと考えています。つまり、Subscription1がQA環境、Subscription2がProd環境といった具合に。 このように各環境ごとにSubscriptionを分割し、それぞれをTerraformで管理しようとした場合、Terraform Backendをどの粒…

「Azureテクノロジ入門 2019」を読んだ

なかなか見えないAzureの全体像を把握するために読みました。 Azureテクノロジ入門 2019作者:佐藤 直生,久森 達郎,真壁 徹,安納 順一,松崎 剛,高添 修発売日: 2018/12/18メディア: Kindle版 構成 最近の悩み サービスカットで、Azureのさまざまな横断的に紹…

AzureでTerraform Backendを構成する

AzureをTerraformを使って管理する上で、Terraform BackendもAzure上に構成してみます。 AzureにおけるTerraform Backend Blob Storage ストレージアカウントの作成 実際にTerraformを実行してみる 参考文献 AzureにおけるTerraform Backend TerraformのBack…

「ひと目でわかるAzure Active Directory」を読んだ

仕事でAzure周りを扱うことになりました。 有識者の方に話を聞いてみたところ、AzureはAzure Active Directory(Azure AD)を中心として構成されているそうです。そうであれば、まずはAzure ADを押さえておかないと話ができないであろうと考え、Azure ADの本を…

TerraformでMSI認証を使うというのはどういうことか

Terraformに関するAzureの認証方法はいくつかあります。これはAzure Providerのページにもまとめられています。 Authenticating to Azure using the Azure CLI Authenticating to Azure using Managed Service Identity Authenticating to Azure using a Ser…

はじめてのAzure+Terraform

TerraformでAzureを触ってみます。 最新版のTerraformのインストール Azure CLIのインストール Azureへのログイン Terraformを実行してみる Azureにログインできていなかった場合はどうなるか まとめ 先週、ついにTerraformの0.15.0がGAになりました。 最新…