Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Managed Instance チートシート

457 views

Published on

SQL Database Managed Instance の関連情報をまとめたもの

Published in: Data & Analytics
  • Be the first to comment

Managed Instance チートシート

  1. 1. ⽶国東部, ⽶国東部 2, ⽶国中部, ⽶国中北部, ⽶国中南部, ⽶国中⻄部, ⽶国⻄部, ⽶国⻄部 2 カナダ東部, カナダ中部 北ヨーロッパ, ⻄ヨーロッパ フランス中部, フランス南部 英国南部 東南アジア, 東アジア オーストラリア南東部 インド中部, インド⻄部, インド南部 東⽇本 韓国中部, 韓国南部 リージョン別の利⽤可能な製品 https://azure.microsoft.com/ja-jp/global-infrastructure/services/  現状の Public Preview でサポートされているリージョンは、次のリージョン○ Windows Server 向け Azure Hybrid Benefit https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/hybrid-use-benefit-licensing  Azure ハイブリッド特典 https://azure.microsoft.com/ja-jp/pricing/hybrid-benefit/  Azure Hybrid 特典を利⽤することで 30% コストを抑えることができる○ Gen 4 Gen 5 Hardware Intel E5-2673 v3 (Haswell) 2.4 GHz processors, attached SSD vCore = 1 PP (physical core) Intel E5-2673 v4 (Broadwell) 2.3 GHz processors, fast eNVM SSD, vCore=1 LP (hyper-thread) Performance levels 8, 16, 24 vCores 8, 16, 24, 32, 40 vCores Memory 7GB per vCore 5.5GB per vCore ⽶国⻄部, ⽶国中南部, ⽶国東部, ⽶国東部 2,□ ⻄ヨーロッパ□ 東アジア, 東南アジア□ オーストラリア南東部□ インド⻄部, インド中部, インド南部□ フランス中部, フランス南部□ 韓国南部□ Gen 5 については次のリージョンで提供されている ハードウェア世代については、次の 2 種類から選択することが可能○ ビジネスクリティカルのインスタンスについても、後⽇提供される。□ 初期提供時には、汎⽤⽬的のインスタンスが提供される。 バランスの取れたスケーラブルな計算およびストレージ オプションを提供する General Purpose は、ほとんどのビジネス ワークロードに最適□ 最⼤ 8TB の Azure Premium ストレージ□ 100 DB / インスタンス□ Feature Description Number of vCores* 8, 16, 24 (Gen 4) 8, 16, 24, 32, 40 (Gen5) SQL Server version / build SQL Server (latest available) Min storage size 32 GB Max storage size 8 TB Max storage per database 8 TB Expected storage IOPS 500-7500 IOPS per data file (depends on data file). See Premium Storage Number of data files (ROWS) per the database Multiple Number of log files (LOG) per database 1 Managed automated backups Yes HA Based on remote storage and Azure Service Fabric Built-in instance and database monitoring and metrics Yes Automatic software patching Yes VNet - Azure Resource Manager deployment Yes VNet - Classic deployment model No Portal support Yes 汎⽤⽬的 ⾼速 I/O および⾼可⽤性を要件とするデータ アプリケーション向けにバランスの取れたスケーラブルなコンピューティングおよびストレージ オプションを提供□ ビジネスクリティカル サービス階層○ オンプレミスと VPN Gateway / Express Route を使⽤して接続することができる MI へのエンドポイントはプライベート IP でのみ公開されるため安全な接続が可能 専⽤のインフラストラクチャ (Compute / Storage) を使⽤したシングルテナントの構成 セキュリティの分離○ SQL 認証 Azure Active Directory 認証 認証⽅法○ DMS を使⽤した移⾏ ストレージアカウントにバックアップを保存して、URL 経由でのリストアを⾏う□ SQL Server 2005 のバックアップをリストアした場合、2008 の互換性レベルに変更される SQL Server 2005 以降のバックアップをサポートしている□ バックアップのリストア 現状、ポータルを使⽤したインポートには対応していないため、sqlpackage コマンド等を使⽤する□ BACPAC ファイルのインポート データベースの移⾏○ SQL Database の Basic / Standard と同じ考え⽅ 汎⽤インスタンスの場合、リモートストレージと Service Fabric をベースとした可⽤性環境□ 事前に⾼可⽤性環境が構築されている。 COPY_ONLY を使⽤して、任意のタイミングでバックアップを取得可能□ ⾃動バックアップとポイントインタイムリストアを利⽤可能 WITH MOVE や DB 作成時のパス指定はサポートされていない□ BULK INSERT については、Azure BLOB ストレージのデータ取り込みをサポートしている□ 物理パスの利⽤はサポートされていない Azure Active Directory 認証をサポート□ Windows 認証はサポートされていない インメモリ OLTP ⽤のストレージについては MI で⾃動的に管理される。 SQL Server との主な相違点○ マネージ インスタンス (プレビュー) とは? https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance • 概要 Managed Instance 2017年8⽉9⽇ 14:11 Managed Instance チートシート - 1 ページ
  2. 2. What is Azure SQL Database Managed Instance? https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/07/what-is-azure-sql-database-managed-instance-2/ • Migrate your databases to a fully managed service with Azure SQL Database Managed Instance https://azure.microsoft.com/ja-jp/blog/migrate-your-databases-to-a-fully-managed-service-with-azure-sql-database-managed-instance/ • Demo – Azure SQL Database Managed Instance in action• https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/14/demo-azure-sql-database-managed-instance-in-action/ https://azure.microsoft.com/ja-jp/pricing/details/sql-database/managed/• Gen 4○ vCore メモリ (GB) 付属ストレージ ライセンス込みの料⾦ Azure ハイブリッド特典の料⾦ (% 割引) 8 56 最初の 32 GB/⽉ ~¥94,830.49/⽉ ~¥62,137.60/⽉ (~34%) 16 112 最初の 32 GB/⽉ ~¥189,660.97/⽉ ~¥124,275.20/⽉ (~34%) 24 168 最初の 32 GB/⽉ ~¥284,491.45/⽉ ~¥186,412.80/⽉ (~34%) Gen 5○ vCore メモリ (GB) 付属ストレージ ライセンス込みの料⾦ Azure ハイブリッド特典の料⾦ (% 割引) 8 44 最初の 32 GB/⽉ ~¥94,830.49/⽉ ~¥62,137.60/⽉ (~34%) 16 88 最初の 32 GB/⽉ ~¥189,660.97/⽉ ~¥124,275.20/⽉ (~34%) 24 132 最初の 32 GB/⽉ ~¥284,491.45/⽉ ~¥186,412.80/⽉ (~34%) 32 176 最初の 32 GB/⽉ ~¥379,321.93/⽉ ~¥248,550.40/⽉ (~34%) 40 264 最初の 32 GB/⽉ ~¥474,152.41/⽉ ~¥310,688/⽉ (~34%) Storage○ Storage プレビュー料⾦ 最初の 32 GB/⽉ 含まれている 以降 32 GB/⽉ごと (最⼤ 8 TB) ¥7.73/GB バックアップ** GB/⽉ ¥5.60 I/O○ プレビュー料⾦ 要求 100 万回あたり** ¥13.99 汎⽤⽬的 (東南アジア : プレビュー価格)• Gen 4○ vCore メモリ (GB) 付属ストレージ ライセンス込みの料⾦ Azure ハイブリッド特典の料⾦ (% 割引) 8 56 最初の 32 GB/⽉ 近⽇公開予定 近⽇公開予定 16 112 最初の 32 GB/⽉ 近⽇公開予定 近⽇公開予定 24 168 最初の 32 GB/⽉ 近⽇公開予定 近⽇公開予定 ビジネスクリティカル• 料⾦ 現状の制約○ Important For the first instance in a subnet, deployment time is typically much longer than in case of the subsequent instances - sometimes more than 24 hours to complete. Do not cancel deployment operation because it lasts longer than you expected. This length of time to deploy your first instance is a temporary situation. Expect a significant reduction of deployment time shortly after the beginning of the public preview. Create an Azure SQL Database Managed Instance in the Azure portal https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-create-tutorial-portal • サブスクリプションの承認1. 仮想ネットワークの作成2. 0.0.0.0/0, Nexthop:Internet のルートテーブルを作成するi. ルートテーブルの作成3. MI のサブネットにルートテーブルを割り当て4. 新しいサブネットを作成し、仮想マシンを配置5. 仮想マシンに接続し、MI にアクセス6. ルートテーブルの作成とサブネットへの割り当てを実施していないと MI で使⽤する仮想クラスターの作成が⾏われず、何時間待ってもデプロイが完了しないので注意○ 作成の流れ• 作成⽅法 SQL DB で出来ず、MI でできること SQL DB で出来、MI で出来ないこと SQL Server で出来、MI で出来ないこと SQL Server で出来ず、MI で出来ること COPY_ONLY のみ可能• BACKUP コマンドによるバックアップ取得• 2005 をリストアした場合、互換性レベルが 100 に変更される○ SQL Server 2005 以降のバックアップをリストア可能• RESTORE コマンドによるバックアップのリストア• CLR• 複数データベース間のクエリ• データベースをまたがるトランザクション• データベースメール• TF の操作は含まれていない• ドキュメントで公開されているDBCC ステートメント• 分散パーティションビュー• SQL Server / SQL Database MI に対して設定可能• リンクサーバー• tempdb の構成変更• システムデータベースの変更• OPENDATASOURCE / OPENQUERY / OPENROWSET による外部連携• クロスインスタンスの Service Broker は⾮サポート• Service Broker• サーバー構成の設定変更• USE ステートメントによるデータベースの変更• SQL Server Agent• SQL DB の場合は DB レベルでの監査• SQL Server Audit• SQL Server Profiler• プライベート IP でのみアクセスすることが可能• 仮想ネットワークとの完全な統合• インデックスの⾃動チューニング• MI 内に複数の DB を作成することで代替• エラスティックプール• COPY_ONLY を使⽤して独⾃に実装することで代替• Geo リストア• Geo レプリケーション• メモリ最適化テーブル• R Services• SQL Data Sync• レプリケーション• TDE• グローバル IP アドレス経由でのアクセス• データ取り込み / 監査ログ / 拡張イベント等をローカルに出⼒• ローカルファイルパスの利⽤• データベースのアタッチ• データベースミラーリング• Data Quality Service• データベーススナップショット• MSDTC を使⽤した分散トランザクション• 拡張ストアドプロシージャ• File Stream / File Table• フルテキスト検索でサードパーティーのワードブレーカーの利⽤• セマンティック検索• メモリ最適化テーブル• マスターデータサービス• ⼀括ログを使⽤した最⼩ログ記録• Polybase• ポリシーベースの管理• MI では、Azure Data Factory で代替を検討○ SSIS• MI では、Azure Analysis Services で代替を検討○ SSAS• MI では、Power BI で代替を検討○ SSRS• R Services / ML Services• DB エンジン以外のサービスの利⽤• リソースガバナー• SQL Server 以外へのリンクサーバーの設定• ログ配布• レプリケーション• SQL Server Agent で T-SQL 以外の実⾏• トレースフラグの設定• バッファプール拡張• Windows 認証• 透過的なデータ暗号化• 暗号化プロバイダーの追加• ストレッチデータベース• xp_cmdshell を使⽤したコマンド実⾏• 完全 + COPY_ONLY バックアップ以外のバックアップ取得• 構築直後の状態で、可⽤性環境が構築されている• 構築直後の状態で、⾃動バックアップが設定されている• ⾃動的に最新の状態にアップグレードされる• 脅威検出による PaaS のセキュリティ機能を使⽤できる• Azure の運⽤監視の仕組みを使⽤することができる• MI のプレビューでの機能差○ 機能の⽐較: Azure SQL Database と SQL Server https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-features • 機能 Managed Instance チートシート - 2 ページ
  3. 3. 差分 / ログバックアップは取得できない• ログイン / リンクサーバー / SQL Server Agent 等の移⾏は、スクリ プトで検討する必要がある • システムデータベースのリストア• MI はSQL_Latin1_General_CP1_CI_AS で固定• サーバーレベルの照合順序の指定• MI の⽇付関数は UTC で固定• サーバーのタイムゾーンの指定• ⾼可⽤性の設定を変更することはできない ⾼可⽤性○ OPENROWSET / BULKI NSERT 等で操作するファイルの配置場所に影響する ファイルを利⽤する場合、Azure ストレージとの連携を前提にする必要がある□ CLR の場合は、バイナリ化したものを取り込むという考慮が必要□ ローカルのファイルシステムを利⽤することはできない ファイルシステム○ バックアップ圧縮を組み合わせることが可能 バックアップの個々のファイルのストライプサイズは最⼤で 195 GB 最⼤ 32 個のバックアップファイルにストライプして取得可能□ 完全 + COPY_ONLY バックアップ以外のバックアップ取得 リストアは FROM URL のみサポート□ sys.dm_operation_status で進捗状況を確認可能 https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-operation-status-azure-sql-database ASYNC RESTORE という、クライアントの接続が切断されても⾮同期実⾏されるリストアをサポート□ 複数のバックアップセットを含んでいるバックアップファイル 複数のログファイルを含んでいるデータベース メモリ最適化テーブル含んでいるデータベース 読み取り専⽤モードのデータベース (初期のプレビューの制限で、本制約は削除される予定) リストアすることができないバックアップファイルの利⽤はできない□ リストアするデータベースのファイル構成が、サポートしているデータベースファイルの構成となっているかの確認が必要 バックアップ / リストア○ Windows ユーザーはサポートされていない□ Azure Key Vault とShared Access Signature のみ使⽤することが可能 資格情報○ 100 (2008) / 110 (2012) / 120 (2014) / 130 (2016) / 140 (2017) に対応 SQL Server 2005 で取得したバックアップをリストアすることも可能だが、この場合、互換性レベルは 100 に変更される 互換性レベル○ 追加の暗号化プロバイダーを導⼊することはできない 暗号化プロバイダー○ https://docs.microsoft.com/ja-jp/sql/relational-databases/databases/contained-database-collations□ SQL_Latin1_General_CP1_CI_AS 固定となっているため、tempdb 等の照合順序に留意する必要がある サーバーレベルの照合順序○ 128 GB / 256 GB / 512 GB / 1 TB / 4 TB のディスクが使⽤される。 ⼩さなファイルサイズでも最低で 128 GB のディスクが使⽤される。 各データベースファイルは、個別のディスクに配置される□ 35TB のうち未使⽤の領域については、請求対象にはならない□ MI は Azure Premium ディスク上に予約された領域として 35 TB の領域を確保する 複数のログファイルは⾮サポート インメモリ OLTP は汎⽤⽬的ではサポートされていない インスタンスの最⼤ファイル数は 280 ファイル (DB のファイル構成もこの制約に該当する) FILESTREAM ファイルグループは使⽤することができない すべてのデータベースファイルは Premium Storage に配置されるため、各ファイルの性能については、ファイルサイズが影響することになる データベースファイル○ 既知の問題の記載内容であるが、変更については、できるようになったのではないか︖︖□ 現状の Public Preview では 14GB × 12 ファイルで構成されており、168 GB まで利⽤することができる。○ MI では、SQL Server Agent をサポートしているため、tempdb の事前構成スクリプトを SQL Server Agent で設定することが可能 これ以上のファイルサイズが必要な場合、変更することが可能だが、現状の Public Preview の制限として、フェールオーバーが発⽣した場合に、変更した設定値が初期化されてしまう。○ How to configure tempdb in Azure SQL Managed Instance(preview) https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/13/how-to-configure-tempdb-in-azure-sql-managed-instance/ • tempdb が 14GB × 12 個固定になっており、ファイルサイズを変更できない tempdb○ DB の作成後に ALTER でファイルの追加を⾏う□ ファイル / ファイルグループの定義はできない DB の作成後に ALTER で包含データベースの設定を変更する□ CONTAINMENTの設定ができない データベースの新規作成○ MODIFY NAME による名前の変更が⾮サポート︖︖ (DB 名の変更はできない︖︖) sp_renamedb がサポートされていないが ALTER で変更は可能︖︖ 作成後の操作○ インスタンスを作成した Azure Active Directory のユーザーは制限のない管理者権限を保有する セキュリティ○ インスタンスを跨いだ書き込みトランザクションは⾮サポート トランザクション○ Windows ログインはサポートは⾮サポート ログイン○ クロスインスタンスのサービスブローカーは⾮サポート Service Broker○ Azure SQL Database マネージ インスタンスと SQL Server の T-SQL の相違点 https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-transact-sql-information • Managed Instance チートシート - 3 ページ
  4. 4. MI によって管理される サービスキー / マスターキーの管理○ T-SQL ジョブステップのみサポート (今後のプレビューでサポート対象を追加する予定) プロファイルが 1 つのみのサポートとなっているのは、プレビューの制限で、まもなく制限は解除される予定□ 通知は、データベースメールがサポートされており、データベースメールは 1 つのプロファイルのみサポートされている SQL Server Agent○ @@SERVERNAME と SYS.SERVERS の違いを確認 SERVERPROPERTY('EngineEdition') 常に「8」を返す SERVERPROPERTY('InstanceName') 短いインスタンス名を返す @@SERVERNAME 接続に利⽤可能な FQDN を返す SYS.SERVERS 接続に利⽤可能な FQDN を返す @@SERVICENAME NULL を返す GETDATE() 等の組み込みの⽇付関数 UTC タイムゾーンを返す 関数等の動作の違い○ SSMS 17.6 is now available: Managed Instance and many bug fixes https://blogs.technet.microsoft.com/dataplatforminsider/2018/03/20/ssms-17-6-is-now-available-managed-instance-and-many-bug-fixes/ □ SSMS 17.6 以降が MI に対応したクライアントツールとなる クライアントツール○ アプリケーションからの接続は VNET を基本に考慮する必要がある。 MI のサブネットは MI 専⽤とする必要がある□ MI が配置されている VNET 内の MI と同⼀ではない VNET にアプリケーションを配置 MI が配置されている VNET と VNET ピアリング / VPN / Express Route で接続 アプリケーションからの接続○ システムデータベースのオブジェクトはスクリプトベースでの移⾏を検討 システムデータベースのリストアに対応した移⾏⽅法はない SQL Server を Azure SQL Database マネージ インスタンスに移⾏する https://docs.microsoft.com/ja-jp/azure/dms/tutorial-sql-server-to-managed-instance □ Azure Database Migration Service – March Update https://blogs.msdn.microsoft.com/datamigration/2018/03/07/azure-database-migration-service-march-update/ □ DMS が SQL Server に対してバックアップクエリを実⾏1. SQL Server が指定した共有フォルダに対してバックアップを取得2. DMS が共有フォルダに取得されたバックアップを Azure ストレージにアップロード3. DMS が MI にバックアップをリストア4. 移⾏の基本的な流れ□ システムデータベースのオブジェクトはスクリプトベースでの移⾏を検討 システムデータベースのリストアには対応していない□ Azure Database Migration Service を使⽤して Azure SQL DB マネージ インスタンスを移⾏するためのネットワーク トポロジ https://docs.microsoft.com/ja-jp/azure/dms/resource-network-topologies ○ 移⾏元の SQL Server と DMS を配置した VNET が接続されている必要がある DMS が SQL Server に接続できる必要がある DMS については、共有フォルダへの接続時に使⽤する資格情報を指定することができる○ 移⾏元の SQL Server のサービスアカウントと DMS がアクセス可能な共有フォルダが準備されている必要がある。 必要となる要件□ Database Migration Services を使⽤したデータベースの移⾏ Restore a database backup to an Azure SQL Database Managed Instance https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-restore-from-backup-tutorial □ SQL Server でバックアップを取得1. 取得したバックアップを Azure ストレージにアップロード2. アップロードしたバックアップを MI にリストア3. 移⾏の基本的な流れ□ Azure ストレージにバックアップファイルを格納し、MI にリストア BACPAC ファイルを新しい Azure SQL Database にインポートする https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-import □ 現状、ポータルから BacPac のインポートには対応していないため、SQLPackage 等のポータルを⽤いない⽅法を使⽤する必要がある□ BacPac ファイルのインポート 移⾏⽅法○ Azure SQL Database マネージ インスタンスへの SQL Server インスタンスの移⾏ https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-migrate • データベースの移⾏ Azure SQL Database マネージ インスタンスの VNet を構成する https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-vnet-configuration • How to configure network for Azure SQL Managed Instance https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/03/14/how-to-configure-network-for-azure-sql-managed-instance/ • 最⼤ 256 個の IP アドレスを使⽤する場合がある 5 個の IP アドレスについては、Azure が使⽤する 5 + (2 ×インスタンス数) = 必要となる IP アドレス□ 汎⽤インスタンスでは、インスタンス単位に 2 個の IP アドレスが必要 サブネット内で 16 〜 256 個の IP アドレスが必要となるため、サブネットは /28 〜 /24 を使⽤する○ サブネットは MI 専⽤とし、MI 以外のリソースの作成は⾏わない○ MI のサブネットのサービスエンドポイントは「無効」となっている○ Public Preview の要件であり、今後緩和される予定□ プライベートな仮想ネットワークに配置される MI を、Azure Management サービスと通信ができるようにするため MI サブネットには、「0.0.0.0/0」の Next Hop を「Internet」にするルートテーブルが唯⼀のルートとして設定されている○ ネットワーク要件• ネットワーク Managed Instance チートシート - 4 ページ
  5. 5. MI のサブネットに、NSG は設定されていない○ MI にカスタム DNS を使⽤する場合、DNS の再帰リゾルバ (フォワーダー)として「168.63.129.16 」を設定しておく必要がある○ Azure SQL Database マネージ インスタンスのカスタム DNS の構成 https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-custom-dns • 同じ VNET 内での接続 VNET ピアリング ⽶国中⻄部 / ⽶国東部 2 / 韓国南部 / 英国南部 / 英国⻄部 / カナダ東部 / インド南部 / インド中部 / インド⻄部 / カナダ中部 / ⽶国東部 2 他のリージョンとの接続を VNET ピアリングで実施する Global VNet ピアリングについては、現状は使⽤できるリージョンに制限がある。□ VNET 間の VPN ゲートウェイでの接続 サイト間 VPN Express Route MI を配置した VNET とどのように接続をした状態とするかを考慮する必要がある。○ Azure SQL Database マネージ インスタンスにアプリケーションを接続する https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-connect-app • ネットワーク構成を Azure App Service のホスティング プラン⽤に同期する https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-sync-network-configuration • Azure ストレージに監査ログを取得する監査設定を設定することが可能○ Azure SQL Database マネージ インスタンスの監査の概要 https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-auditing • SQL インジェクションの可能性 / 脆弱性 通常の利⽤時とは異なる場所 / Azure データセンターからのアクセス 通常とは違うログインからのアクセス SQL の資格情報に対してのプルートフォース攻撃 脅威検出により、次のアクションを検知することができる。○ Azure SQL Database マネージ インスタンスの脅威検出 https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-threat-detection • セキュリティ https://www.brentozar.com/archive/category/cloud-computers/azure-sql-db/managed-instances/• 参考情報 Managed Instance チートシート - 5 ページ

×