サーバーのXNUMXつがクラッシュし、サーバーをゼロから再構成しなければならなかった時代は終わりました。 これには、ハードウェアの誤動作の検査からソフトウェアの不具合まで、面倒な手動のプロセスが含まれます。 現在、組織はオンプレミスのスクリプトツールを採用してタスクを自動化し、ITインフラストラクチャのプロビジョニングをクラウドに移行しています。 ただし、これでも、リソースの構成中の人的エラーのリスクと、クラウド上で目的の各マシンを構成するための時間とコストを取り除くことはできません。
これらの問題に取り組むために、Infrastructure as Code(IaC)は、ハードウェアとソフトウェアの要件のみを提供し、残りはクラウドによって処理されるスクリプトを実行するだけで、インフラストラクチャ全体の展開を自動化するのに役立ちます。 スクリプトを実行したり、プロビジョニングする各マシンの構成を提供したりする必要はありません。 この反復的なタスクは、インフラストラクチャによってコード自体として処理されます。 これにより、プロビジョニングされる各サーバーの構成が逸脱するリスクが最小限に抑えられます。
その他にもたくさんのグーグルの NCache ユーザーは使用と展開を選択します NCache Azureで。 通常、VNetをセットアップし、VMをデプロイしてインストールします NCache、キャッシュを作成し、アプリケーションをキャッシュクラスターに接続します。 NCache コードとしてのインフラストラクチャを使用すると、Azureのデプロイがさらに簡単になります GitHubのソリューション ARMテンプレートの形式で。
ARM(Azure Resource Manager)テンプレートは、パラメーター、変数、リソース、またはAzureの展開を自動化するために必要なものを含むJSONファイルです。 の NCache 管理対象のARMテンプレートの場合、これらのファイルで構成を提供し(これについては後で詳しく説明します)、AzurePowerShellを使用してARMテンプレートを展開するだけです。
- azuredeploy.parameters.json: azuredeploy.parameters.json キャッシュ構成、仮想マシン/ネットワーク、ライセンス情報などのエンドユーザーパラメータが含まれています。
- azuredeploy.json: azuredeploy.json 展開するリソースに関する情報が含まれています。 NCache 画像。 これはのテンプレートです 。パラメーター ファイルにソフトウェアを指定する必要があります。
さらに、あなたは活性化することができます NCache ARMテンプレートを使用するか、評価に使用します。
NCache 詳細 NCache コードGitHubソリューションとしてのインフラストラクチャ
展開の簡単な例 NCache
あなたが評価しようとしているなら NCache ピーク負荷時のパフォーマンスまたはそれがどれほどシームレスに拡張できるか、デプロイできます NCache コードとしてのインフラストラクチャを介してAzureで。 Azureはアプリケーションに必要なリソースをプロビジョニングするため、すぐに使用できる状態で提供されます。 NCache 集まる。 アプリケーションをこのキャッシュクラスターに接続するだけです。
で必要なパラメータを指定したら、 NCache 管理対象のARMテンプレートでは、AzurePowerShellで実行される単純なスクリプトを使用してテンプレートを展開します。 これにより、次のタスクが自動的に実行されます。
- 提供されたパラメーターを使用してキャッシュを作成します
- でクラスターを作成する NCache ノード
- すべてのノードでキャッシュを開始し、サービングキャッシュを提供します
デフォルトを使用 NCache GitHubのARMテンプレートでは、XNUMXつのキャッシュの実行中のクラスターをデプロイできます。 アプリキャッシュ, セシオnCache, データキャッシュ AzurePowerShellで次のコマンドを実行します。
1 |
New-AzResourceGroupDeployment -ResourceGroupName -TemplateFile "https://raw.githubusercontent.com/Alachisoft/NCache-Solutions/master/AzureInfrastructureAsCodeArmTemplate/NCacheArmTemplate/azuredeploy.json" -TemplateParameterFile "https://raw.githubusercontent.com/Alachisoft/NCache-Solutions/master/AzureInfrastructureAsCodeArmTemplate/NCacheArmTemplate/azuredeploy.parameters.json" |
このスクリプトを実行すると、展開の変更と進行状況がターミナルに表示されます。 この進捗状況をログに記録して、後で監査することもできます。 進捗状況には、テンプレートファイル構造またはパラメータ入力の有効性の検証が含まれます。 これは、Azure Portalを介してデプロイすると、プロセス全体が実行された後にのみデプロイメントでエラーが発生するため、デプロイメントの問題を早期に診断するのに役立ちます。
ARMテンプレートを使用して60日間の無料トライアルをすばやくセットアップ
NCache AzureのBYOLモデルで60日間の無料評価を提供します。 評価したい場合 NCache、のシングルクリック展開で簡単に行うことができます NCache Azureでインフラストラクチャをコードとして使用します。 残りはによって処理されます NCache ARMテンプレート自体。 必要なのは、デプロイされたキャッシュにクライアントマシンを追加し、使用と評価に進むことです。 NCache。 うん、それはとても簡単です!
ARMテンプレートを使用して環境を簡単にデプロイする
作業している環境に関係なく、デプロイする NCache Infrastructure as Codeを使用すると、クラスターとVMの作成を自動化することで、環境を再構成する際のエラーや逸脱のリスクを排除できます。 次のように、ARMテンプレートを使用して任意の環境をデプロイできます。
- 制作/ステージング: これらの環境では、エラーや再デプロイの遅延を許容することはできません。 これが、構成を書き直さなくても、検証済みの単一のパラメーターファイルが毎回デプロイされるようにすることが非常に重要である理由です。 また、 NCache は本番環境のXNUMXつのリージョンにデプロイされており、別のリージョンに同じデプロイメントが必要な場合は、同じARMテンプレートを使用して簡単にデプロイできます。 これにより、テンプレートを再利用できるため、再構成時に人為的エラーが発生する可能性が低くなります。
- QA / Dev: 開発環境の場合、アプリケーションを次のようにテストする場合 NCache Azureでは、コードを検証するたびにクラスターを再デプロイする必要があります。 同様に、インクリメンタルビルドをテストする必要があるQAの場合、再展開はARMテンプレートを介して自動化できる面倒です。
Azuredeploy.parameters.jsonパラメーターファイル
azuredeploy.parameters.json 内のファイル NCache GitHubのARMテンプレート Azureデプロイメントの構成の基礎を提供するエンドユーザーパラメーターが含まれています。 にとって NCache、これには主に、キャッシュ設定、ネットワーク/ VM設定、およびライセンス(必要な場合)が含まれます。 ここで、展開をカスタマイズします。 このファイルで提供されているデフォルトの構成を使用したくない場合は、展開前にこのファイルに変更を加えることができます。
キャッシュ設定
すべてのキャッシュ名、それぞれのトポロジ、サイズ、各ノードのクライアント数、環境名などのキャッシュ設定を指定できます。
1 2 3 4 5 6 |
"parameters": { . . . "cacheName": {"value": "AppCache,SessionCache,DataCache"}, "cacheTopology": {"value": "PartitionedOfReplica,PartitionedOfReplica,PartitionedOfReplica"}, "cacheSize": {"value": "1024,1024,1024"}, "NCacheVmCount": {"value": 2} } |
ネットワーク/VM設定
azuredeploy.parameters.json ファイルでは、仮想ネットワークや仮想マシンなどのリソースの構成を指定できます。 たとえば、このファイルにあるものとは異なるVMサイズが必要な場合は、要件に応じてこのファイルを介して変更できます。
1 2 3 4 5 |
"parameters": { . . . "virtualMachineNamePrefix": {"value": "NCacheVM"}, "virtualMachineSize": {"value": "Standard_DS2_v2"}, "virtualNetworkName": {"value": "MyVNET1"} } |
ライセンス認証
NCache AzureでBYOLライセンスを提供します。 アクティベートしたい場合 NCache、から取得したライセンスキーを提供することでこれを行うことができます NCache サポートと、名/姓、電子メールなどの追加の資格情報。 NCache パラメータを指定してファイルをデプロイすると、アクティベーションプロセスを内部で処理します。
1 2 3 4 5 |
"parameters": { . . . "firstName": {"value": "John"}, "emailAddress": {"value": "john_smith@alachisoft.com"}, "licenseKey": {"value": "XXXX-XXXX-XXXX-XXXX"}, } |
NCache スクリプトファイル
NCache キャッシュの作成、ライセンスのアクティブ化などのすべての機能を処理します NCache構成.ps1 ファイル。 このファイルは、「」のBLOBストレージURIを作成することを除いて、ユーザーの介入を必要としません。NCacheConfiguration.ps1”ファイルとストレージへのパスを提供します テンプレートをデプロイします。 この手順は必須です。
1 2 |
"parameters": { . . . "NCacheClusterCreationScriptFileUri": { "value": "https://yourstorageaccount.blob.core.windows.net/yourcontainer/NCacheConfiguration.ps1" }} |
NCache 詳細 NCache コードGitHubソリューションとしてのインフラストラクチャ
Azuredeploy.jsonテンプレートファイル
azuredeploy.json 内のファイル NCache マネージド GitHubのARMテンプレート の展開と検証のリソース情報が含まれています azuredeploy.parameters ファイル。 基本的に、これは展開の要です。 通常、新しいバージョンに切り替える場合を除いて、このファイルを変更する必要はありません。 NCache 画像。
リソース情報
これには、次のようなすべてのリソースに関する情報が含まれています NCache フェッチするイメージ、仮想マシン、ネットワークインターフェイスカード(NIC)などの依存リソース、仮想ネットワーク/セキュリティグループなど。 以下は、仮想マシン情報を示す小さなスニペットです。 NCache 展開と、それがネットワークインターフェイスリソースにどのように依存するか。
1 2 3 4 5 6 7 8 9 |
"resources": [{... "name": "[concat(parameters('virtualMachineNamePrefix'), copyIndex(1))]", "type": "Microsoft.Compute/virtualMachines", "apiVersion": "2017-12-01", "location": "[parameters('location')]", "copy": { "name": "vmLoop", "mode": "serial", "count": "[parameters('NCacheVmCount')]"}, "dependsOn": ["[resourceId('Microsoft.Network/networkInterfaces/', concat(parameters('networkInterfaceName'), copyIndex(1)))]"], ... }] |
NCache 画像情報
前述のように、で何も変更する必要はありません azuredeploy.json テンプレートファイル。 ただし、古いバージョンを使用している場合 NCache 最新のものを使いたい NCache 展開用のイメージの場合、「」のこれらXNUMXつのキーと値のペアに必要な変更を加える必要があります。リソース" セクション:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
"resources": [{... "plan": { "name": "nc-ent-50-sp2", "publisher": "alachisoft", "product": "ncache_enterprise-50sp2" }, ... "storageProfile": { "imageReference": { "publisher": "alachisoft", "offer": "ncache_enterprise-50sp2", "sku": "nc-ent-50-sp2","version": "3.0.0" }, "osDisk": { "createOption": "FromImage" }} }] |
パラメータメタデータ
さらに、このファイルには、入力タイプ、最小/最大値、デフォルト値、許可された値など、各リソースのパラメーターのメタデータが含まれています。 これは、.parametersファイルで指定したパラメーターの検証として機能します。
たとえば、以下のファイルスニペットの場合、 NCacheVmCount as "XNUMX" (文字列)整数値の代わりに、または値を0として指定した場合、実行するとエラーが表示されます。 NCache この値のテンプレートに準拠していないため、PowerShellの展開スクリプト。
1 2 3 4 5 6 7 8 |
"parameters": { . . . "cacheName": { "type": "string", "defaultValue": "AppCache, SessionCache, DataCache", "metadata": {"description": "Name(s) for cache cluster"}}, "NCacheVmCount": { "type": "int", "minValue": 1, "defaultValue": 2, "metadata": {"description": "Number of NCache Nodes to be deployed"}} } |
Azureポータルを介したテンプレート変更のテスト
カスタマイズしたパラメータファイルをコピーして貼り付けることができます(azuredeploy.parameters.json)Azure Portalにアクセスして、テンプレートにエラーがなく、テンプレートファイルのパラメーターメタデータに準拠しているかどうかを確認します(azuredeploy.json)。 無効なパラメータなどのプロンプトなしですべてのフィールドに入力されている場合は、デプロイを続行しても問題がないことを意味します NCache Azureで!
NCache 詳細 NCache コードGitHubソリューションとしてのインフラストラクチャ
それを集める
展開すると NCache AzureのInfrastructureasCodeを使用すると、リソースを構成するという重要なタスクを自動化するだけでなく、人的エラーを大幅に削減し、構成の一貫性を確保できます。 また、 NCache マネージドARMテンプレートを使用すると、コードの場合と同じように、デプロイメントの変更をログに記録してテストするのが簡単になります。 したがって、のシングルクリック展開 NCache Azureでは、アプリケーションの極端なパフォーマンスとスケーラビリティを実現するために必要なのはこれだけです。
NCache 詳細 ダウンロード NCache エディションの比較