Upgrade to Pro — share decks privately, control downloads, hide ads and more …

無理しない AI 活用サービス / #jazug

無理しない AI 活用サービス / #jazug

第55回 Tokyo Jazug Night
https://jazug.connpass.com/event/359682/

https://azure.koudaiii.com について話をしました。

Avatar for Kodai Sakabe

Kodai Sakabe

July 15, 2025
Tweet

More Decks by Kodai Sakabe

Other Decks in Technology

Transcript

  1. 19:50 - 20:25(35min) ແཧ͠ͳ͍ AI ׆༻αʔϏε ࡔ෦ ޿େ Kodai Sakabe

    @koudaiii ୈ55ճ Tokyo Jazug Night 1 19:50 - 20:25(35min)
  2. 19:50 - 20:25(35min) About Me • ࡔ෦޿େ Kodai Sakabe https://koudaiii.com

    • Partner Solution Architect / Microsoft Asia HQ GPS • ϋοΧιϯ • https://github.com/Azure/aztfexport • https://github.com/koudaiii/learn-microsoft-com-update-checker • https://github.com/Azure/aca-review-apps • HashiCorp Ambassador 2025, 2024 • https://www.hashicorp.com/en/ambassador/directory?q=Kodai%20Sakabe • Microsoft Evangelist • https://www.microsoft.com/ja-jp/events/top/evangelist/ • Interview • https://www.linkedin.com/posts/koudaiii_because-growth-matters-microsoft- careers-activity-7244384088566996992-DhG6/ @koudaiii (X/GitHub/LinkedIn) 2
  3. 19:50 - 20:25(35min) ΰʔϧ azure.koudaiii.com https://azure.koudaiii.com ͱ͍͏ Azure Updates ͷαϚϦʔΛ

    PowerPoint Ͱ download Ͱ͖ΔαΠτͰ͍Ζ͍Ζͳ΋ͷΛܭଌ͠ ͳ͕ΒӡӦ͍ͯ͠·͢ɻແཧͳ͘ӡ༻͢ΔͨΊʹͪΐͬͱͨ͠޻෉ Λ͍ͯ͠·͢ɻ https://github.com/koudaiii/AzureUpdatePPTX Ͱ֬ೝͰ͖·͢ɻ ࢀߟʹͳΕ͹޾͍Ͱ͢ɻ 3
  4. 19:50 - 20:25(35min) Azure Updates Summary ൿ࿩ • Ξοϓσʔτͷ·ͱΊͷ͸ۀ຿ͷҰ෦ͩͬͨ •

    ৭ʑϙΠϯτ͕͋Δ͕ࣗಈԽ͸Ͱ͖ͦ͏ͱࢥ͍ͬͯͨ • https://azure.microsoft.com/updates/ • ϦϯΫ΍λΠτϧΛऔಘ͠ɺ಺༰ͷαϚϦʔΛॻ͘ • ͨ·ͨ·ಉνʔϜͰ ppt Λ࡞ΔπʔϧΛ࡞͍ͬͯͨ͜ͱΛ஌Δ • πʔϧʹखΛೖΕͯެ։ • ৭ʑखΛೖΕͯ͠·ͬͨͷͰɺϝϯςφϯε͸ࣗ෼Ͱ΍Δ͜ͱΛܾҙ 6
  5. 19:50 - 20:25(35min) ͳͥ PowerPoint ? UI Λύʔτφʔاۀ༷޲͚ʹϑΥʔΧε • PowerPoint

    Λٳ೔(orۀ຿ޙ)ʹ։͘ਓ͸ݶΒΕΔ • ϏδωεϢʔβʔ͕Ճ޻͠΍͍͢ • ςϯϓϨʔτͷมߋ • ίϐʔ͕͠΍͍͢ • ϨΠΞ΢τͷΧελϚΠζ • ެ։ࡁΈͷҰ࣍৘ใ΁ͷΞΫηε͕༰қ • ஌Δਓͧ஌Δ΋ͷʹ -> SNS ౳ͷ֦ࢄ͕ߦ͍ʹ͍͘ UX -> ίετ΋༧૝͠΍͍͢ 7
  6. 19:50 - 20:25(35min) γεςϜϓϩϯϓτͱ pptx ςϯϓϨʔτ γϯϓϧʹࢦࣔग़͢ʹ͸ɺલॲཧॏཁ • ໺ྑAPI͸࢖Θͳ͍(NLWeb ͷαϯϓϧͰ΋ར༻͍ͯ͠Δ

    RSS ར༻) • ӳޠ͔Β຋༁ͯ͠ɺཁ໿͢ΔɻϦϯΫ͸ɺࢀߟϦϯΫͱͯ͠·ͱΊΔ • ͺͬͱݟͰԿ΍͍ͬͯΔͷ͔෼͔Δ https://github.com/koudaiii/AzureUpdatePPTX/blob/9569 ff f65437a7436f7359f1768bc4bf7d5f7e12/azureupdatehelper.py#L27-L30 # γεςϜϓϩϯϓτͷઃఆ systemprompt = ("౉͞Εͨσʔλʹؚ·Ε͍ͯΔ Azure ͷΞοϓσʔτ৘ใΛ೔ຊޠͰ 3 ߦఔ౓Ͱཁ໿͍ͯͩ͘͠͞ɻ" + "֤ఏڙ͢Δ஍ҬͷϦʔδϣϯʹ͍ͭͯ͸ɺ຋༁ͤͣʹӳޠදهͷ··ʹ͍ͯͩ͘͠͞ɻ" + "ϦϯΫ༻ͷURL΍ϚʔΫμ΢ϯ͸ؚ·ͣɺϓϨʔϯςΩετͰग़ྗ͍ͯͩ͘͠͞ɻ") https://github.com/koudaiii/AzureUpdatePPTX/blob/9569 ff f65437a7436f7359f1768bc4bf7d5f7e12/main.py#L290-L292 # Create a temporary PPTX f ile using a template pptx_ f ile = temp f ile.NamedTemporaryFile(delete=False, su ff ix=".pptx") prs = Presentation(“template/gpstemplate.pptx") # template/gpstemplate.pptx ͕ PowerPoint ͷ਽ܗ 8
  7. 19:50 - 20:25(35min) ެ։޲͚ͯߟ͍͑ͯͨ͜ͱ ੔උ͍ͯͨ͜͠ͱ • ܧଓੑ • ϝϯςφϒϧɾɾɾҰ೥ޙͷࣗ෼΋࢖͑Δ •

    ӡ༻ɾɾɾ̌ΦϖϨʔγϣϯ + ඞཁͳ࣌ʹඞཁͳ؀ڥ • ίετɾɾɾͰ͖Ε͹҆Ձ • ηΩϡϦςΟɾɾɾϚωʔδυαʔϏεͰ׬݁ • ΦϒβʔόϏϦςΟɾɾɾϝτϦΫεɾϩά • ن໿ͷ੔උ 11
  8. 19:50 - 20:25(35min) ϝϯςφϒϧ Ұ೥ޙͷࣗ෼͕൑அͰ͖ΔΑ͏ʹ • ςετ • Unit ςετ

    • e2e ςετ • ॳΊ͸खಈ => GitHub Action ΁Ҡ؅ • GitHub Copilot (ϝΠϯ) / Claude Code (͓ࢼ͠Ͱར༻) 12
  9. 19:50 - 20:25(35min) Review Claude Code GitHub Actions https://docs.anthropic.com/en/docs/claude- code/github-actions

    GitHub Copilot ίʔυ ϨϏϡʔͷ࢖༻ https://docs.github.com/ja/copilot/how-tos/ agents/copilot-code-review/using-copilot- code-review 14
  10. 19:50 - 20:25(35min) ӡ༻ ̌ΦϖϨʔγϣϯ + ඞཁͳ࣌ʹඞཁͳ؀ڥ • Well-Architected Framework

    తʹશͯἧͬͯΔϚωʔδυαʔϏε • ࣮੷͋Δج൫ App Service • Container App Ͱ΋ಈ͔ͤΔΑ͏ʹ Docker • IaC Λ Azure Veri f ied Modules • ίετ໰୊(ϙέοτϚωʔ)΋͋ΔͨΊɺ Pull Request ୯ҐͰσϓϩΠՄೳ͕ͩɺ ϚχϡΞϧ͔ͭεϚϗ͔ΒͰ΋֬ೝͰ͖ΔΑ͏ʹ GitHub Action ੔උ • ΫϦʔϯΞοϓ΋εϚϗ͔Β࣮ߦͰ͖ΔΑ͏ʹ GitHub Action ੔උ 15
  11. 19:50 - 20:25(35min) AzureUpdatePPTX/infra Preview deploy ͷΈ IaC Խ $

    tree infra infra ᵓᴷᴷ main.bicep # ͲͷΑ͏ͳ΋ͷΛ࡞Δ͔ఆٛ ᵓᴷᴷ main.bicepparam # ઃఆ ᵓᴷᴷ modules # ൚༻తʹ࢖͑ΔϞδϡʔϧஔ͖৔(AVM Ͱ࿫͑Δ৔߹ෆཁ) ᵓᴷᴷ README.md └── resources.bicep # ࡞੒Ͱ͖ΔϦιʔε܈ 17
  12. 19:50 - 20:25(35min) Azure Veri f ied Modules http://aka.ms/avm •

    GUIͰͷૢ࡞ • IaC / DevOps ελʔτ • ίʔυͷ૿Ճͱ৑௕ • ߹ཧԽΛ࢝ΊΔ • OSS ʹ͋Δ IaC ϦϙδτϦࢀߟ • ͦΕͰ΋ܧଓతͳӡ༻͕೉͍͠ • ެ͔ࣜΒαϙʔτ͢ΔϞδϡʔϧΛެ։ 18 Problem Statement from our Customers Customer operates cloud with ClickOps Customer starts adopting basic IaC and DevOps practices Proliferation of code, lots of repeated lines Customer tries to decouple repeated code & rationalize Customer looks for open-source IaC repos There are many IaC repos with their own standards Customer picks one repo The repo is not officially supported by Microsoft, or the repo gets abandoned over time Solution: introduce the official Microsoft approach, Azure Verified Modules (AVM)
  13. 19:50 - 20:25(35min) Azure Veri f ied Modules https://azure.github.io/Azure-Veri f

    ied-Modules/resources/#-presentations • AVM͸ɺϞδϡʔϧΛ౷߹ͱઃఆ͢ΔͨΊͷίϛϡχςΟओಋͷ׆ಈ • Ϟδϡʔϧ͸ɺ1 ͭͷλεΫઐ༻ͷϦιʔε άϧʔϓΛΧϓηϧԽ • ϕετϓϥΫςΟεΛ࢖༻ͯ͠ Microsoft ΨΠμϯε (WAF) ΛମܥԽ 19 19:50 - 20:25(35min)
  14. 19:50 - 20:25(35min) Ͳ͏΍ͬͯ࡞͍ͬͯΔͷ͔ʁ https://azure.github.io/Azure-Veri f ied-Modules/contributing/process/ • ެࣜϖʔδͷϓϩηε Λ֬ೝ(ਵ࣌ίϛϡχςΟͰมߋ)

    • Module Proposal ͷ issue ͔Βελʔτ • [Module Proposal] ΑΓఏҊ • ݱࡏͷ׆ಈ͸ͪ͜Β Azure/Azure-Veri f ied-Modules • (Ϟδϡʔϧʹ Onwer ͷΞαΠϯ) • ίϯτϦϏϡʔγϣϯ 20
  15. 19:50 - 20:25(35min) Azure Veri f ied Modules main.bicep Ҿ༻

    // Resource Group resource rg 'Microsoft.Resources/resourceGroups@2023-07-01' = { name: 'rg-azureupdatepptx-${suffixName}' location: location tags: tags } // Deploy resources in the resource group module resources 'resources.bicep' = { scope: rg name: 'resources' params: { suffixName: suffixName location: location dockerImage: dockerImage tags: tags apiKey: apiKey apiEndpoint: apiEndpoint } } // Outputs output appServiceUrl string = resources.outputs.appServiceUrl output resourceGroupName string = rg.name • Infra/ 21
  16. 19:50 - 20:25(35min) Azure Veri f ied Modules ͷࢼ͠ํ https://azure.github.io/Azure-Veri

    f ied-Modules/contributing/bicep/bicep-contribution- f low/ • WAF ४ڌ͢ΔͨΊʹɺجຊతʹ FAT ͳϞδϡʔϧʹͳΓ΍͍͕͢ϕετϓϥΫςΟΫε͕Θ͔Δ • Default ͸༻ҙ͞Ε͍ͯΔͨΊɺͦͷৼΔ෣͍Λ֬ೝ͍ͨ͠৔߹ʹ͸ίϯτϦϏϡʔγϣϯΨΠυ ΛݩʹखݩͰߏங͢ΔͱΘ͔Γ΍͍͢ • ηοτΞοϓ͸ҎԼͷखॱΛ౿Ή • https://azure.github.io/Azure-Veri f ied-Modules/contributing/bicep/bicep-contribution- f low/ • Azure / GitHub ্ͰηοτΞοϓͭͭ͠ɺࢀߟεΫϦϓτΛ࣮ߦ • ηοτΞοϓ͕େมͳͨΊɺπʔϧΛ࡞ͬͨ • https://github.com/koudaiii/bicep-registry-modules-fork-setup 22
  17. 19:50 - 20:25(35min) bicep-registry-modules • શͯ Disable ʹઃఆɺͦͷޙ֬ೝ͍ͨ͠ ΋ͷ Enable

    ʹ࣮ͯ͠ߦ • GitHub Action ࣮ߦதʹ Azure portal Ͱ ֬ೝɺগ͠ιʔείʔυΛมߋͯ͠ࢼ͢ • AVM ͷৼΔ෣͍֬ೝޙɺ bicep / terraform ඞཁͳͱ͜Ζ͚ͩೖΕΔ => AzureUpdatePPTX/infra ഑Լʹ࣮ࡍʹೖ Ε͍ͯΔ • (IaC ͷ e2e test ͸ίετߴ͍ͨΊ஫ҙ) GitHub Action 23
  18. 19:50 - 20:25(35min) GitHub Action • https://github.com/Azure/ login#login-with-openid-connect- oidc-recommended •

    ͨ͘͞Μํ๏͕͋ΔதͰਪ঑ • https://learn.microsoft.com/en- us/training/modules/ authenticate-azure-deployment- work f low-workload-identities/ • ຖճઃఆ͢Δͷ͕େมͷͨΊ πʔϧԽ Login With OpenID Connect (OIDC) [Recommended] 24
  19. 19:50 - 20:25(35min) (1/3)GitHub Action ͷηοτΞοϓπʔϧ https://github.com/pocpp/login-with-openid-connect-oidc # GitHub Action

    Λઃఆ͍ͨ͠ Git Repository root ʹͯ /path/to/login-with-openid-connect-oidc/script/deploy \ --all \ # ͢΂ͯͷϒϥϯν --display-name my-azure-app \ # Azure ্ͷ໊લ --github-username myusername \ # org / username ໊ --github-repo myrepository # ϦϙδτϦ໊ 25
  20. 19:50 - 20:25(35min) (2/3)GitHub Action ͷηοτΞοϓπʔϧ https://github.com/pocpp/login-with-openid-connect-oidc # GitHub Action

    Λઃఆ͍ͨ͠ Git Repository root ʹͯ /path/to/login-with-openid-connect-oidc/script/deploy \ --resource-group my-resource-group \ # resource group ʹݶఆ --display-name my-azure-app \ --github-username myusername \ --github-repo myrepository \ --branch main # ϒϥϯν໊ࢦఆ 26
  21. 19:50 - 20:25(35min) (3/3)GitHub Action ͷηοτΞοϓπʔϧ name: Azure Deployment on:

    [push] permissions: id-token: write contents: read jobs: deploy: runs-on: ubuntu-latest steps: - name: Azure login uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Run Azure CLI commands uses: azure/cli@v2 with: azcliversion: latest inlineScript: | az account show # Add your Azure CLI commands here 27
  22. 19:50 - 20:25(35min) ΰʔϧ azure.koudaiii.com https://azure.koudaiii.com ͱ͍͏ Azure Updates ͷαϚϦʔΛ

    PowerPoint Ͱ download Ͱ͖ΔαΠτͰ͍Ζ͍Ζͳ΋ͷΛܭଌ͠ͳ ͕ΒӡӦ͍ͯ͠·͢ɻແཧͳ͘ӡ༻͢ΔͨΊʹͪΐͬͱͨ͠޻෉Λ͠ ͍ͯ·͢ɻ https://github.com/koudaiii/AzureUpdatePPTX Ͱ֬ೝͰ͖·͢ɻ ࢀߟʹͳΕ͹޾͍Ͱ͢ɻ 30