AWSのCloudFormationは、AWSが提供する「コードとしてのインフラストラクチャ(IaC)」ツールであり、インフラストラクチャのプロビジョニングと管理のプロセスを簡素化、自動化します。CloudFormationレジストリに一覧表示されるリソースタイプと呼ばれる構築ブロックを使い、クラウドインフラストラクチャをモデル化し、記述するためのテンプレートを作成することができます。CloudFormationのパブリックレジストリが採用されたことで、New RelicのCloudFormationリソースタイプを使用し、自身のカスタムリソースタイプの管理不要で検索、特定、プロビジョニングが行えるようになります。これにより、CloudFormationでツールを統合し、AWSとNew Relicの両方のインフラストラクチャを管理できます。レジストリにあることで、New Relicのリソースタイプは、AWSのリソースタイプに類似するドリフトの検出などの便利な機能を活用することも可能です。

CloudFormationは、これまでもNew Relicインフラストラクチャエージェントのインストールの自動化に使用できましたが、今回、CloudFormationレジストリに8つの新たなリソースが加わり、CloudFormationスタックからGraphQLオブジェクトとしてNew Relicのアラート、ダッシュボード、ワークロードの作成、更新、削除が可能になりました。

  • NewRelic::Observability::AINotificationsChannel
  • NewRelic::Observability::AINotificationsDestination
  • NewRelic::Observability::AIWorkflows
  • NewRelic::Observability::AlertsMutingRule
  • NewRelic::Observability::AlertsNrqlCondition
  • NewRelic::Observability::AlertsPolicy
  • NewRelic::Observability::Dashboards
  • NewRelic::Observability::Workloads

これらのリソースは、現在、us-east-1us-east-2us-west-1us-west-2のAWSリージョンで、サードパーティの拡張機能としてパブリックで利用可能です。その他のリージョンは、適切なGitHubリポジトリで Issueを作成することで、リクエストに応じて利用できるようになります。

以下の例では、New Relicのリソースタイプを使用して、どのようにワークロードを作成するかを示しています。テンプレートにあるこれらのタイプを使用する前に、こちらの手順に従い、CloudFormationレジストリでタイプを有効化する必要があります。New Relicのワークロード機能で、エンティティをグループ化して監視し、ビジネスにもっとも多くのインサイトを提供するような形でテレメトリを整理することができるようになります。

AWSTemplateFormatVersion: 2010-09-09
Description: Sample New Relic Workloads Template
Resources:
  Resource1:
    Type: 'NewRelic::Observability::Workloads'
    Properties:
      Workload: >-
         {name: "CloudFormationTest-Create"}
Outputs:
  CustomResourceGuid:
    Value: !GetAtt Resource1.Guid
  BaselineConditionId:
    Value: !GetAtt BaselineConditionResource.Id
  BaselineConditionEntityGuid:
    Value: !GetAtt BaselineConditionResource.EntityGuid

ソースとドキュメンテーションは、New RelicのGitHubの組織で確認できます。

重要な注意事項は2点です。

  1. New Relicのリソースは、1次入力として有効なGraphQLスニペットを使用します。これにより、エンドユーザーは GraphQLエクスプローラーを使用してリソースをデバッグし、スタックにカット&ペーストできます
  2. CloudFormationのコントラクトテストに合格するためのコード上の制約、特にコントラクトテストの実行方法の制約のため、このコードはNew RelicのGo API clientを使用しません

追加機能

CloudFormationのサポートに加えて、以下のメリットについてもご紹介します。

New Relic向けのAWSクラウド開発キット(CDK)コンストラクト:CDKは、開発者が任意のプログラミング言語を使用してインフラストラクチャのプロビジョニングと管理ができる、コードとしてのインフラストラクチャ(IaC)ツールです。CDKユーザーは、L2+コンストラクトを作成する開始点として、自動生成されたNew Relic向けのL1 CDKコンストラクトを利用できます。これらのキットは、Construct Hubで確認できます。

New RelicをサポートするAWSクラウドコントロールAPI(CCAPI):CCAPIにより、開発者は一貫したAPIでAWSとサードパーティのサービスリソースの作成、読み取り、更新、削除、一覧表示(CRUDL)が可能になります。これらのNew Relicのリソースタイプは、CCAPIを使用して製品を構築したり、クラウドインフラストラクチャのプロビジョニング、管理、セキュリティ保護のためのツーリングを行っている顧客やパートナーも利用できます。

AWS Configに対応:CloudFormationレジストリのNew Relicのリソースタイプは、AWS CloudFormationを使用してこれらのリソースを作成、更新、削除した場合、またすべてのリソースタイプを記録するようAWS Configを設定した場合には、AWS Configで構成項目として自動的に追跡されます。 AWS Configを使用してクラウドインフラストラクチャを監査、検査するお客様は、AWS ConfigリソースのインベントリツールでプロビジョニングされたNew Relicリソースを確認することができます。