御成門プログラマーの日記

Microsoft AzureやAngularなどの技術情報を発信します

【Azure Backup】MARSエージェントで「resource not provisioned in service stamp」エラーが発生した場合の解決方法

ある日、Microsoft Azure Recovery Services(MARS)エージェントを使ったバックアップが動かなくなった。
発生したエラーメッセージで検索しても情報がほとんどなかったので解決方法を共有します。

発生した現象

バックアップのジョブが一切発生していない状態

バックアップジョブはある日を境に一切動いていなかった。
失敗のジョブが発生しているわけではないのでAzure Backupの通知機能が動かないので注意。

バックアップを行っているサーバーでエージェントの画面を開くと下記のエラー

何も情報が表示されない... f:id:tt-suzukiit:20200124181525p:plain

resource not provisioned in service stamp

PowershellでMSOnlineBackupコマンドを実行しても同様のエラーになる
PS C:\Windows\system32> get-obpolicy
get-obpolicy : The current operation failed due to an internal service error "Resource not provisioned in service s
". Please retry the operation after some time. If the issue persists, please contact Microsoft support.
発生場所 行:1 文字:1
+ get-obpolicy
+ ~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-OBPolicy], DlsException
    + FullyQualifiedErrorId : ResourceNotYetProvisioned,Microsoft.Internal.CloudBackup.Commands.GetCBPolicyCommand

原因と解決方法

原因はバックアップ対象マシンのコンピューター名が変わったことが要因

Azure BackupのMARSエージェントは初回設定時からバックアップ対象マシンのコンピュータ名を変えてしまうとうまく動作しないらしく、「Resource not provisioned in service stamp」エラーはコンピュータ名を変えてしまったときに発生する事象のようです。

エラーが発生したマシンをしらべてみたところ、 うまく動作しなくなった日からコンピュータ名が変更されていることがわかったのでこれが原因だと断定しました。

解決方法

解決方法は2通りある。

  1. コンピュータ名を戻す
  2. 新しいコンピュータ名でAzure Backupに再登録する

私は再登録パターンで対応したところ、
うまく動きました。

Microsoft Ignite The Tour Tokyo 参加メモ【BRK30033 サーバーレスな Azure Event Grid の紹介】

BRK30033 サーバーレスな Azure Event Grid の紹介

CNCF

  • クラウドネイティブを定義する団体
  • CNCG-Serverless
    • そこに属するAzure Functions

Serverlessのプラットフォームとして

  • Zero Server Ops

    • OSアップデートなどの準備、管理コストがかからないこと
    • 自動的なスケーリング
  • No Compute Cost When Idle

    • アイドル時(処理を行っていない時)のコストは0

Azureのサーバーレスプラットフォーム(抜粋)

  • Azure Functions
  • Event Grid

Azure Functionsを使って単純にアプリを作ったら

  • そういうことを実現しようとしたら一つのイベントで複数箇所に接続しないといけない
    • コードボリュームも大きくなり、可読性、保守性が落ちる
  • もしくは複数のFunctionsに接続しないといけない
    • コードボリュームも大きくなり、可読性、保守性が落ちる
  • 一つのFunctionsにコードが集中してしまう。

Azure Event Grid

  • イベントを一元管理し、イベント処理側にルーティングする
    • イベントを受けて送った先を分岐できる
    • イベント受ける側は送るだけでいい
    • リアルタイム、スケーラビリティ、高可用性、重量課金
  • Event Gridを使うと機能別のコードボリュームは小さくなり、可読性と保守性が向上、各機能のスケーラビリティも向上
  • 機能別にマイクロサービス化ができるようになる

Event Gridの設計思想

  • パブリッシャーとサブスクライバーのパターン
  • 再試行パターン
    • 再試行ポリシーだけでは足らない場合
    • 失敗した情報をBlobに突っ込んで失敗時の処理を受け取り、再試行する
    • サブスクライバーごとの設定で再試行のポリシーを設定できる。エラー時ストレージにデータを送る設定ができる
  • クライアントフェールオーバー

    • サービスは絶対落ちるときがある
    • 日常生活から対策することにより問題なくなる
    • 東日本と西日本のEvent Gridを用意しておく
  • Cache戦略やイベントソーシングの実装に

    • どんなにスケールしてもDBの読み書きが遅いことがネックになる
    • 変更した状態を保持することでスループットを向上させる

CloudEvents

  • 言語、ベンダー固有ではなく、汎用的なメッセージ規格
  • Azureでもサポートしている
  • 10/24 1.0リリース
  • 外部の互換性のあるメッセージに飛ばすことができる

Azure Event Grid How To

  • Code SampleからEventGridを検索すると出てくる
    • イベントを可視化してDebugを便利にする Azure Event Grid Viewer
    • SignalRを使った完全非同期ができるようになる

イベントサブスクリプション

  • イベントにサブスクライブするには証明が必要。詳しくは公式ページ

Microsoft Ignite The Tour Tokyo 参加メモ【AFUN70 Azureのコストを削減する】

AFUN70 Azureのコストを削減する

  • セッション資料 aka.ms/afun70

オンプレミスでコストを見積もるとき

  • ハードウェア
  • ラックスペース
  • ソフトウェア
  • その他の隠されたコストがかかる
    • 電力
    • メンテナンス
    • リカバリー
    • バックアップコスト
    • 部品股間
    • 保険

Azure仮想マシンでコストを見積とき

  • 性能によって値段が変わる
  • クラウドにもその他のコスト要因がある
  • これを理解する必要がある

3 今回のセッションの内容

  • コストの見積
  • コストガードレールの設定
  • 実際のコストを確認

料金計算ツール

  • Azureの価格のページの中に料金計算ツールがある
  • アカウントをサインインして使うのがおすすめ
    • 見積を保存できる
  • 参照実装のシナリオがあるのでそこから見積もできる

仮想マシンのリザーブドインスタンス

  • 仮想マシンの場合、長期間使用が決まっている場合リザーブドインスタンスがコスト削減におすすめ

仮想マシンのハイブリッド特典

  • オンプレのライセンスを持っていると仮想マシンを安く使える

クラウドコストの担当者はだれが見るべきか

  • サービスにかかわるすべての社員がかかわるべき
    • 開発者
    • 財務担当者
    • マネージャーなど

クラウドのコストにアーキテクチャが重要になる

  • 例カレーをスパイス一から作ってくるのがIaaS、レトルトを食べるのがPaaS

  • コストに影響する設計上の決定

    • 管理対象ディスク
    • ストレージ階層
    • レプリケーション
    • 地域

application migrate service

  • オンプレミスからクラウドマイグレーションする際のコストを見積もってくれる

Azure TCO計算ツール

  • クラウドに移行してコストが変わるかを確認できる。
  • Azure価格からTCO計算ツール
  • 環境に合わせて情報を入力すると、オンプレミスとクラウドの費用感を比較するレポートが出力される

ロールベースアクセス制御

  • owner権限は何でもできてしまう。
  • コストを見るだけのロールを作って、その人に割り当てるのが重要

リソースタグ

  • 細かい仕分けができる
  • Azureのリソースが何に使われているのか。本番、dev環境なのか
  • どの部署が使っているか

Azureポリシー

  • タグの制限
  • 高価なSKUの制限

Azure Badgets

  • Azure portalのコストマネジメント→badgets
  • 現在のAzureサブスクリプションで動いている。バジェットでしているリソースの状況を確認できる
  • タグでフィルタリング
  • 設定値に月額で達したときにアラートをすることができる

Azureコスト分析

  • 実際にかかったコストを確認するときに使う
  • コストマネジメント→コスト分析
  • リソース、ロケーション、リソースタイプをグルーピングして確認できる

AzureAdvisor

  • Azureを使う上でのベストプラクティスを提供してくれる
  • コストに関するプラクティスも教えてくれる

Azure PowerBI コンテンツパック

  • Azureと連携して情報を確認できる

API

  • 課金APIを使うことで自作アプリと連携

AWSのコストをAzureコストマネジメントで確認できる

コスト削減のヒント

  • Azureの購入オプションを見極める
    • トレーニング用のサブスクリプション
    • Dev/Testサブスクリプション
    • Azure開発/ラボ
    • 優先順位の低い仮想マシンを確認する
    • Azure Hybrid特典を使えたら使う
    • リザーブドインスタンス

Microsoft Ignite The Tour Tokyo 参加メモ【OPS10 最新の運用の基盤を構築する: 監視】

OPS10 最新の運用の基盤を構築する: 監視

  • Azure Exam Fundamental以外は有効期限2年感 クラウド技術の進歩は早いため

  • セッション資料 aks.ms/OPS10

RELIABILITY

  • 今回のセッションは信頼性がテーマ
  • 監視の業務はつらいなとおもっている人が多いのでは
  • 監視は失敗すると信頼性を大きく失ってしまう

信頼性は顧客の視点で定義される

Modern Opsが役に立ちます

  • マイクロサービス化した環境を従来の方法で監視・障害調査するのは困難

    • ツールを入れるのが難しい
    • サービスが細かくなりすぎて原因究明が難しい
  • 従来は想定された障害に対するアラート

  • ModernOpsは想定外の障害に対応可能に、アラートノイズを最化使用してアクション可能に。

Azure Monitor

  • ログの収集、分析をする機能の総称

Application Insight

  • 可用性テスト

    • テストの作成
    • URLのPingテスト(認証を通してテストも設定可)
  • 実装は簡単

    • 多くの言語に対応
  • マップ機能

  • 失敗
    • エラーの内容を解析できる
  • パフォーマンスの分析
  • アクセス元の分析(OSとか)
  • ライブメトリックストリーム

  • ダッシュボード機能を自動で作ってくれる

AzureMonitor for Resource Group(プレビュー)

  • リソースグループ→分析情報(プレビュー)
  • リソースグループに入っているリソースの正常性をまとめて確認できる
  • アプリケーションが動いていないまず、Azureのリソースが動いているかを確認する時に使う。障害の切り分け

Log Analytics

  • ログの情報を貯めている
  • ApplicationInsightでログの情報を可視化してくれる
    • ログ情報をクエリを書いて抽出できる
    • サマライズ機能
    • クエリに対してアラートを設定することも可能
    • レスポンスタイム、一定期間における失敗と成功のサマリ

App Service

  • 問題の診断と解決
  • AppServiceはよくできているのでおすすめ
  • Avilability
  • ベストプラクティスを確認できる

SQL Database

  • Azure SQL Analytics
    • デフォルトだと診断ログがオフになっているので気を付けて
    • 診断設定をOnにすると使える

AKS

  • Monitor For Container
  • コンテナーの監視

    • クラスター、ノード、ポッドの情報などをまとめて監視できる
    • CPUの利用状況など
  • 概要→ログの表示 LogAnaliticsの機能

    • 各ノードのディスクの使用率が90%超えたらアラート出したいとかできる

アクション可能なアラート

  • Azure Debvpsチームの例 aka.ms/devops-journey

Site Reliability Engenner (SRE)

サイト信頼性エンジニアリング

  • ソフトウェアエンジニアに運用設計を依頼したらどうなるかという発送
  • 運用視点のフィードバックにより組織の信頼性が向上

Microsoft Ignite The Tour Tokyo 参加メモ【AFUN40 Azureセキュリティの基礎】

AFUN40 - Azureセキュリティの基礎

Azureのセキュリティ機能についてのわかりやすく紹介してもらえました。

顧客側の過失によるセキュリティリスクが増価する

2020年までに顧客側の過失により発生するクラウドセキュリティの問題は95%に達するだろう
ガートナー
クラウドセキュリティは共有責任

セキュリティのゴール

  • セキュリティ状況の把握とその改善方法の理解
  • 永続的な管理者特権の最小化
  • 影響の大きなデータに対してどうやってアクセス制限をかけるか
  • SQLインジェクションアタックや漏洩の検知
  • ADやAzureテレメトリの不信なアクテビティの検知

セキュリティセンター

  • すべてのリソースに対してセキュリティについての可視化、制御、ガイダンスしてくれる

  • セキュリティスコア

    • 一目でセキュリティ対策ができているか確認できる
  • レコメンデーション

    • 各リソースごとに必要なセキュリティ設定をレコメンドしてくれる
  • 規制コンプライアンス
    国際的なコンプライアンスにカバーしている確認できる コンプライアンスに対して自分のリソースがどれくらい対応しているかを確認できる。

  • どうやってセキュリティの問題を解決するか

    • リソースのセキュリティ権益
      • 何をやってほしいのか書いてある
      • Just In Time Access 特権の権限は必要な時だけ付与するのが現在のセキュリティの常識
      • ボタン1クリックで解決してくれる

特権ID管理(Azure AD P2の機能)

  • RBACの権限付与がちゃんとできているのかを確認する

  • 特権ID管理の画面を開く

    • 自分が持っているロールが表示される
    • 資格のあるロール 特権もっているけど有効になっていないロール
    • アクティブなロール

      • 今使えるロール
    • システム管理者は一時的に特権を与えることができる

      • 特権管理の画面→Azure ADロール→資格の割り当て→与えるロールを選択→ユーザーを選択 これでユーザーには潜在的にロールが与えられたが、アクティブではない。
      • ユーザーは特権ID管理から自分のロールの資格のあるロールでアクティブ化をしてあげる。有効時間を設定してあげる。サインアウトが必要。
      • Azureリソースに対しても一時的な特権の付与ができる

ストレージアカウントのネットワーク制限

例:あるAzureストレージに対して特定の仮想マシンからのみアクセスできるようにしたい

  • 指定したサブネットからのアクセスのみ接続可能とする
  • (仮想ネットワークの設定)仮想ネットワークに紐づけてストレージを指定する
  • (ストレージアカウント側)ファイアウォールと仮想ネットワークで「選択されたネットワーク」で先ほどのサブネットを指定すると、先ほどのサブネットからしかアクセスできないようにすることができる。
  • ストレージエクスプローラーからもアクセスできなくなる

SQL Databaseのセキュリティ機能

どのようにしてSQLDatabaseの安全性を向上するか

  • AzureADでアクセスコントロールする
  • ストレージと同じファイアウォールと仮想ネットワークの制限
  • Transeparent Data Encryption

  • Advanced Dataセキュリティ

    • SQLインジェクションなどをAIを使って検出する
    • インジェクションの検出
    • データが抜かれていないかを確認する
    • SQL Server側のATPみたいなやつ

Azure Sentinel

Azure全体的な視野で異常なアクテビティをどう検知するか

  • 様々なデータソースからデータを集めてきて分析する
  • データコネクター
    Azureに限らないデータを分析する

  • プレイブック
    センチネルで発生したイベントに対してアクションを定義できる
    簡単にいうとLogic App

Microsoft Ignite The Tour Tokyo 参加メモ【APPS20 - クラウド内のデータに関するオプション】

Microsoft Ignite The Tour Tokyoのセッション参加メモです。

www.microsoft.com

APPS20 - クラウド内のデータに関するオプション

クラウド内にデータを保存するときにどういう戦略とるか的なはなしでした。

架空の設定

危険な単一障害点をどうすれば対策できるのか

  • 新規サービスの迅速なプロビジョニング
  • 既存環境への影響を回避
  • 可能な限り開発者へ管理を移譲
  • 運用の手間なく、ストレージを動的にスケール
  • 適切なツールで作業を実施

データ格納戦略、方針

  • データ格納戦略の重要性

    • 旧来の運用プロセスのアップグレードをスムーズに
    • サービスの分割
    • コンテンツの保護、セキュリティの維持
  • データ構造

    • 構造化データ
      製品カタログ

    • 非構造化データ(映像、音楽などのばいなりデータ)

      • データベースに入れるとコスト的に微妙? 製品の写真
    • 半構造化データ
      • スキーマがガチっと決まっているわけではない。JSONなど カート内の情報
  • データの特性

    • データ量
    • スピード アクセスするためのスピード、データの流れる量
    • 多様性 スキーマが複数あるか

Storage

Storageサービスいっぱいある

IaaS
  • Disk
  • File
PaaSより
  • Blobs
    • オブジェクトストレージ
    • バックアップやアーカイブ
    • IoTなどのビッグデータ
    • スケール、どこからでもアクセス可能、低コスト
  • Tables KeyValueStore お値段抑え目、管理を少なくしたい
  • Queue 厳密な順序保証が必須の場合はサービスバスのキュー、トピックを使う

  • WeBサイトの画像をWEBサーバーに置いていると落ちた時に画像が失われる →画像はblobストレージに格納。画像をGeoレプリケーションにする。

  • 不変Blobストレージ

    • 時間ベースで上書きできないようにする
  • HPC Cache

  • 変更フィード

RDB

  • Azure SQL Database

    • Single,elastic pool,managed instance
    • SQL database Serverless
  • アプリケーションシークレットの管理

    • githubのパブリックレポジトリを使ってシークレットを上げてしまうことがある。 →Azure Key Vault
    • Azure Key Vault
      • FIPS 140-2
      • 金融関係でも使われれる
      • プレミアムHSMでバックアップ
      • HTTPリクエスト。アプリケーション設定でキーコンテナの参照

NoSQL

  • CosmosDB
    • MongoDBやCassandraのワイヤプロトコルで接続可能
    • RUリクエストユニット 見積ツールが新しくできた。
    • アクセスをは早くしたいときなどに出番
    • スループットオートパイロットモード

AzureFunctionsでマネージド IDを使い、資格情報を入力せずにAzurePowerShellを動かす方法【Azure Functions, ManagedID】

今回はAzureFuncitons上でManagedIDを使ってユーザーアカウントでログインせずにAzurePowerShellを動かす方法を紹介します。

今回作ったものは「Azure PowerShellを使ってAzureリソースの情報を取得する関数」です。

マネージドID(ManagedIdentity)とは

簡単に言うとAzureリソース自体にID(権限)を持たせてあげることで、
Azureリソースから他のAzureリソースに接続するときにIDとパスワードなどの資格情報で認証する必要がなくなります。

資格情報をコードに埋め込んでしまう恐れやKeyVaultで管理する必要がなくなるので
資格情報を保護することができるのです。

詳しい説明は公式ページを参照ください。

今回使用したAzureリソース

・Azure Functions(ランタイムスタック PowerShell Core(プレビュー))
情報を取得するPowerShellを流す。今回はVMの起動状態を取得するコマンドです。

・Azure VM
情報を取得される側のリソース。

Azure FunctionsにVMの起動ステータスを取得するPowershellコマンドを記述

下記のコードをManaged IDの設定済の状態で使用すると資格情報の入力を行わずにサインインできます。

Connect-AzAccount -Identity

以下VMのステータスを取得するコード全文

using namespace System.Net

# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)

# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."

# Interact with query parameters or the body of the request.
$name = $Request.Query.name
if (-not $name) {
    $name = $Request.Body.name
}

# Az.Accountsモジュールがインストールされていなかったらインストールする
if(Get-Module -ListAvailable Az.Accounts){
    Connect-AzAccount -Identity
}

# サブスクリプションを選択(本来は直打ちしちゃダメ)
Select-AzSubscription -Subscription "<ここにサブスクリプションIDを記述>"

# VMの起動ステータスを取得するPowerShellを実行
$vm = Get-AzVM -name $name -status
if($vm){
    $status = [HttpStatusCode]::OK
    $body = $vm.PowerState
}else{
    $status = [HttpStatusCode]::BadRequest
    $body = "情報が取得できませんでした。"
}

# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = $status
    body = $body
})

ちなみに現時点ではManagedIDの設定を行っていないのでエラーになります。 f:id:tt-suzukiit:20191029184256p:plain
それでは続いてManagedIDの設定を行います。

ManagedIDの設定を行う

  • Azure Functionsの画面を開き、「プラットフォーム機能」タブ→「ID」を選択 f:id:tt-suzukiit:20191029191508p:plain

  • 「システム割り当て済み」タブ→「状態」をオンにして「保存」を選択 f:id:tt-suzukiit:20191029191519p:plain
    保存完了するとオブジェクトIDがFunctionsに割り当てられる f:id:tt-suzukiit:20191029191535p:plain

  • 「サブスクリプション」→今回VMが置いてあるサブスクリプションを選択→「アクセス制御」→「追加」→「ロールの割り当て」 f:id:tt-suzukiit:20191029191551p:plain

  • Functionsアプリをサブスクリプションの閲覧者に追加する f:id:tt-suzukiit:20191029191623p:plain

  • もう一度Functionsを実行するとVMのステータスが取得できるようになりました。 f:id:tt-suzukiit:20191029191700p:plain

最後に

今回使用したManagedIDを用いることでアプリケーション上に資格情報を持たない構成が可能となります。
実装も簡単ですし、ManagedIDに対応しているAzureリソースに関してはManagedIDを使っていきましょう。

Azure入門者向けの認定資格 AZ-900「Microsoft Azure Fundamental」を紹介します【試験範囲、勉強方法、申し込み方法】

AZ-900受験バウチャー付きのAzure クラウド基礎講座が公開されていたので
今後の自分以外のAzureトレーニング目的での調査も込めてAZ-900試験の概要を知るために受講してきました。 microsoft-events.connpass.com

講座の終わりにそのまま会場で受験させてもらって合格しました。 AZ-900「Microsoft Azure Fundamental」はAzure初学者にとってはおすすめの試験ですので紹介したいと思います。

AZ-900「Microsoft Azure Fundamental」とは

Microsoftの公式ページでは下記のとおり説明されています。 www.microsoft.com

この試験は、 CloudサービスやそれらのサービスがMicrosoft Azureでどのように提供されるのかについての基礎的な知識レベルをデモンストレーションしたい受験者向けです。この試験は、 例えばクラウドベースのソリューションやサービスの売買に関わる人や、クラウドベースのソリューションやサービスの関係者といった技術的な背景を持たない人や、クラウドサービス関連の基礎知識を証明する必要のある技術的な背景を持つ人を受験者として想定しています。一般的なIT知識や経験は役に立ちますが、技術的なIT経験は必須ではありません。

ということで技術者に限らずAzureに携わる営業や経営者の方などにもおすすめの試験です。

どんな内容が出題されるのか

クラウド全般の基礎の基礎の知識から、Azureの設計理念や、各種Azureサービスの概要や特徴などが出題されます。
* 出題範囲は公式ページ参照 www.microsoft.com

勉強方法

Azure クラウド基礎講座を受講する

これからも開催されるかわかりませんが、
Azure クラウド基礎講座を受講するとAZ-900の出題範囲の内容を1日で学ぶことができました。
前提知識を持っていない方でもこの講座を受ければすぐに受かると思います。

Microsoft 公式ドキュメントを読む

出題範囲の中で知らないAzureサービスがあるならばMicrosoftの公式ドキュメントを読んで機能と概要を理解しておきましょう。

Azureを実際に触る

百聞は一見にしかずです。
どんどん触ってAzureに慣れましょう。
Microsoft公式のオンライントレーニングサイトである「Microsoft Learn」を利用するのもおすすめです。
docs.microsoft.com

Azure認定試験を申し込むには

公式ページから申し込みができます。
www.microsoft.com 「この試験の受験予約をする」ボタンから申し込みできます。
f:id:tt-suzukiit:20190919151110p:plain
試験は全国のテストセンターで受験することができます。」

最後に

AZ-900試験を受けることでAzureの基礎知識を身につけましょう。
そして受かったら次のステップに進んでいきましょう。

【AZ-203試験】「Developing Solutions for Microsoft Azure」とりあえず出題範囲のAzureリソースを並べてみる

そろそろ次のAzureの認定資格の勉強を始めようと思います。
Azure開発系の資格であるAZ-203「Developing Solutions for Microsoft Azure」を受験します。
これからいろいろ勉強がてらAZ-203試験の情報をブログで紹介できたらと思います。
基本的には自己勉強用にまとめているだけなのでメモ書きみたいなものです。

出題範囲

公式ページの内容を噛み砕いただけですが、
とりあえず出題範囲のAzureリソースをまとめました。
※公開する情報はブログ執筆時の情報です。

Azure のサービスとしてのインフラのコンピューティングソリューション開発(10-15%)

AzureのIaaS、CaaS系のサービスですね。
普段PaaSを使うことの多い私は苦手な分野。

Azure VM

AzureのIaaSサービスといえばこれ。
IaaSのクラウドメリットを生かしたVirtual Machineを運用できる。
azure.microsoft.com

Azure Batch Service

Batch Serviceは使ったことがないので今度試してみよう。
仮想マシン上で並列にバッチ動かしたりすることができるのかな。
azure.microsoft.com

Azure Kubernetes Service(AKS)

azure.microsoft.com

Container Registry

azure.microsoft.com

Container Instance

azure.microsoft.com

Azure のサービスとしてのプラットフォームのコンピューティングソリューション開発(20-25%)

App Service Web Apps

アプリケーションを簡単にWEB上にデプロイできるPaaSのサービス。
azure.microsoft.com

App Service Mobile Apps

モバイルアプリ向けのPaaSサービス。
azure.microsoft.com

App Service API Apps

APIのデプロイに特化したApp Service。
azure.microsoft.com

Azure Functions

サーバーレスなFaaSサービス
azure.microsoft.com

Azureストレージを開発(15-20%)

Table Storage

Azure Storageの種類の一つ。NoSQLのテーブルストレージ。 azure.microsoft.com

Cosmos DB

これもNoSQLのManaged Service。 azure.microsoft.com

SQL Database

リレーショナルデータベースのPaaSサービス
azure.microsoft.com

Blob Storage

用途に応じて4つの種類があるスケーラブルなクラウドストレージ
azure.microsoft.com

Azure Security の実装(10-15%)

認証の実装(Azure AD)

Azure ADの機能を使うことで様々な認証の機能を実装できる。
azure.microsoft.com

アクセスコントロール(CBAC、RBAC、SAS)
  • RBAC(Role Based Access Control) docs.microsoft.com

  • SAS(Shared Access Signature) これを使うとAzure Storageでストレージのキーを使わずにセキュアにアクセス許可を与えることができる。
    docs.microsoft.com

Key Vault

キーとか接続文字列とか大事なものをしまっておくことができる。
azure.microsoft.com

ソリューションの監視、トラブルシューティング、最適化(10-15%)

自動スケーリングのルールとパターンの実装

これはWeb Appsの設定の話なのか? docs.microsoft.com

Azure Cache for Redis

azure.microsoft.com

Azure CDN

azure.microsoft.com

Application Insight

アプリケーションのパフォーマンスやエラーログなど様々なデータを監視できる。
docs.microsoft.com

Azure Monitor

様々なAzureリソースやアプリケーションのメトリクスやログを包括的に監視するサービス
docs.microsoft.com

Azure サービスとサードパーティサービスの連携と活用(20-25%)

Logic Apps

サービスをGUIからビジュアル的に構築できるツール。
マネージドレベルがとても高いといえる。
azure.microsoft.com

azure.microsoft.com

API Management

APIを管理するサービス。
APIを守ったり、製品ごとに使えるAPIを管理したりとAPIエコノミーの時代には欠かせない。
azure.microsoft.com

Event Grid

azure.microsoft.com

Notification Hubs

azure.microsoft.com

Event Hub

azure.microsoft.com

Service Bus

azure.microsoft.com

Queue Storage

azure.microsoft.com

最後に

試験範囲のAzureリソースをまとめただけでもかなりの数がありました。
とりあえずこれから使ったことのないサービスを中心に実際に構築していこうかなと思っています。

第20回 Tokyo Jazug Night 参加メモを共有します。

第20回 Tokyo Jazug Night 参加メモを共有します。

connpass.com

Azure-OCI クラウド間接続~おいしいとこどりチャレンジ~

スピーカー

まーや(@maaya8585) さん

OCI(Oracle Cloud Infrastructure)
  • 今年の終わりに大阪リージョンが立つ予定
  • 超エンプラ向き
    • 可用性だけでなく、性能もSLA対象になっている。
いいところを考える
  • Azureのいいところ

    • ADを使った認証基盤と簡単に連携できる
    • マネージドサービスが豊富
    • PaaSやSaaSのサービスが多い
      nnmer.github.io
  • OCIのいいところ

    • OracleDBが安い。Exadataも格安で使える
    • コスパがよいサービスが多い。安いとは言っていない。
    • JavaのWebAppのようなサービスがある。
    • Data I/O 無料枠が多い
      • Azureの帯域幅だとアウトバウンド最初の5GB無料。その後、変動制従量課金
      • OCIはアウトバウンド最初の10TBまで無料。
      • FastConnect(AzureでいうExpressRoot)はI/O料金は無料。利用料金に含まれている。
  • 両者のいいところどりをしてみたい

    • DBはOracle Cloud、データ分析はAzure側で行うなど
    • 複数クラウドの管理をする手間がある。
    • ハードルになるのは各クラウドの情報キャッチアップ
    • クラウド間のデータ転送方法を考える必要がある。
Azure-OCI接続
  • OCIとAzureをPrivate接続できるようになる。 news.microsoft.com
  • 速度的にも問題なく使えるレベル
  • Vnetをつなげるような動きなのでVnetないに入れることのできないサービスの考慮がいる。
  • CIDRやIPの設定は被らないように確認
  • 両方のプライベート回線の料金がかかる
  • 両方のクラウドの料金がかかるので転送量自体は高い

サーバーレスWebアプリをつくろう〜AWSとくらべながら〜

スピーカー

ひらりんさん

このハンズオンの話を紹介

初心者向け】Azureでサーバーレスな簡易Webアプリケーションを作るハンズオン qiita.com

Functions = サーバーレスというわけではないという意見
  • App Service Planがある
    • 常時稼働。
  • ステートフルなDurable Functionsがある
    • サーバーレスはステートレスであるという面からそういう意見もある。
AWSに当てはめると
  • Blob Storage に相当するS3
  • HttpRequestを受けるのはAPI Gateway Lamdaが受けるわけではない。
認証の仕組みをつける場合
  • Azure AD B2C
  • AWSならAmazon Cognitoを使用する。
AzureとAWSサービスの比較
  • Azure Blob Storage ⇔ Amazon S3
  • Azure Functions ⇔ API Gateway + AWS Lambda
  • Azure CosmosDB ⇔ DynamoDB
  • Azure AD B2C ⇔ Amazon Cognito

AWS LambdaはHTTPリクエストを受ける場合はAPI Gatewayと組み合わせる。

AzureFunctionsの入出力バインディング

一番初めに出力バインディングを設定するときに拡張機能をインストールするが、待たずに進めてしまうとそのあとでうまく動かなくなる(HTTPエラーとか)。
インストール所要時間2分ぐらいかかるっていうけど20分ぐらい待つことがある。

AzureFunctionsのプロキシ

プロキシを設定してREST形式にする

Blobストレージの静的WEBサイト
  • Azureの場合はタブに設定ページがある。
  • アクセス許可
AzureとAWS比較してみて
  • Azureの方が簡単な気がする。

  • AWSは複数の種類のサービスを一覧で機内

    • サブスクリプション・リソースグループの概念がない
  • AWSは無料枠がおおくていいな