検索

クリアフィルター
記事
Toshihiko Minamoto · 2021年2月11日

InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート  

InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート    注意: 本ガイド (特に前提条件のセクション) を理解するには、AWS に関する中級から上級レベルの知識が必要になります。 S3 バケット、EC2 インスタンスの IAM ロール、VPC、サブネットを作成する必要があります。 また、InterSystems バイナリへのアクセス (通常は WRC サイトからダウンロード可) および IRIS のライセンスキーも必要になります。   2020 年 8月 12日 Anton Umnikov   テンプレートのソースコードは、こちらから入手していただけます:  目次 InterSystems IRIS デプロイガイド – AWS パートナーネットワーク はじめに 前提条件と要件 所要時間 製品ライセンスとバイナリ AWS アカウント IAM エンティティ (ユーザー) EC2 の IAM ロール S3 バケット VPC とサブネット EC2 キーペア 必要な知識 アーキテクチャ マルチ AZ 配置による耐障害性を備えたアーキテクチャダイアグラム (優先) シングルインスタンンス、シングル AZ 配置のアーキテクチャダイアグラム (開発およびテスト) デプロイメント セキュリティ プライベートサブネットのデータ 保存されている IRIS データの暗号化 転送中の IRIS データの暗号化 IRIS Management Portal への安全なアクセス ログ / 監査 / モニタリング サイジング / コスト デプロイアセット デプロイオプション デプロイアセット (プロダクションに推奨) CloudFormation テンプレートの入力パラメータ クリーンアップ デプロイのテスト 正常性チェック フェイルオーバーテスト バックアップと回復 バックアップ インスタンスの障害 アベイラビリティーゾーン (AZ) の障害 リージョンの障害 RPO/RTO ストレージ容量 セキュリティ証明書の期限 日常的なメンテナンス 緊急メンテナンス サポート トラブルシューティング InterSystems サポートへの問い合わせ 付録 IAM Policy for EC2 instance       はじめに InterSystems は、ユーザーの皆さまに InterSystems と AWS のベストプラクティスに則したかたちで独自の InterSystems IRIS® データプラットフォームをセットアップしていただけるよう CloudFormation テンプレートを提供しております。   本ガイドでは、CloudFormation テンプレートをデプロイするステップを詳しく解説していきます。    本ガイドでは、InterSystems IRIS CloudFormation テンプレートをデプロイする 2 種類の方法をご紹介します。 1 つ目は、複数のアベイラビリティーゾーン (AZ) を使い、プロダクションのワークロードを対象とした可用性の高い方法で、2 つ目は、開発とテストのワークロードを対象に、単一のアベイラビリティーゾーンにデプロイする方法です。   前提条件と要件 このセクションでは、当社のソリューションを実行、操作していただくための前提条件と要件について詳しく説明します。 所要時間 デプロイ自体は 4 分程度で完了しますが、前提条件やテストの時間を入れると、最大 2 時間ほどかかります。 製品ライセンスとバイナリ InterSystems のお客様には、https://wrc.intersystems.com より InterSystems IRIS のバイナリをご使用いただけます。 WRC の認証情報を使ってログインしてから、リンクに従って Actions -> SW Distributions -> InterSystems IRIS と順に移動してください。 このデプロイガイドは、InterSystems IRIS 2020.1 のビルド 197 の Red Hat プラットフォーム向けに作成されています。 IRIS のバイナリファイル名は、 ISCAgent-2020.1.0.215.0-lnxrhx64.tar.gz および IRISHealth-2020.1.0.217.1-lnxrhx64.tar.gz形式で書かれています。 InterSystems IRIS のライセンスキーは、既存のライセンスキー (iris.key) を使用いただけるはずです。 また、InterSystems IRIS Evaluation Service (https://download.intersystems.com/download/register.csp) より評価キーをリクエストしていただくこともできます。 AWS アカウント セットアップ済みの AWS アカウントが必要です。 お持ちでない方は、 https://aws.amazon.com/getting-started/ よりセットアップしてください。   IAM エンティティ (ユーザー)   IAM (ユーザーまたはロール) を作成します。 IAM ユーザーは、AWS CloudFormation のアクションを許可するポリシーが必要です。 CloudFormation テンプレートをデプロイするのに、ルートアカウントは使わないでください。 AWS CloudFormation のアクションに加え、スタックを作成または削除する IAM ユーザーは、スタックテンプレートに依拠する別のアクセス権限も必要になります。 このデプロイでは、次のセクションで紹介するすべてのサービスへのアクセス権が必要になります。 参考資料: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html   EC2 の IAM ロール CloudFormation テンプレートは、EC2 インスタンスが S3 バケットにアクセスし、CloudWatch にログを入力するのを許可する IAM ロールが必要です。 そうようなロールに関連するポリシーの例については、「IAM Policy for EC2 instance」と題した付録をご参照ください。 参考資料: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html   S3 バケット 「my bucket」という名前の S3 バケットを作成し、IRIS のバイナリファイルと iris.key をコピーします。   BUCKET= aws s3 mb s3://$BUCKET aws s3 cp ISCAgent-2020.1.0.215.0-lnxrhx64.tar.gz s3://$BUCKET aws s3 cp IRISHealth-2020.1.0.217.1-lnxrhx64.tar.gz s3://$BUCKET aws s3 cp iris.key s3://$BUCKET   VPC とサブネット   テンプレートは、IRIS を既存の VPC とサブネットにデプロイするようにデザインされています。 AZ が 3 つ以上あるリージョンでは、3 つの異なる AZ でプライベートサブネットを 3 つ作成することを推奨しています。 Bastion Host は、VPC 内にあるパブリックサブネットのいずれかに配置します。 CloudFormation テンプレート (https://docs.aws.amazon.com/codebuild/latest/userguide/cloudformation-vpc-template.html) を基に VPC とサブネットを作成するには、AWS の例に従ってください。   EC2 キーペア   このテンプレートによってプロビジョンされる EC2 インスタンスにアクセスするには、EC2 キーペアが少なくとも 1 つは必要です。 詳細は、こちらのガイドをご参照ください: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html。 必要な知識   以下の AWS サービスに関する知識が必要になります。 Amazon Elastic Compute Cloud (Amazon EC2) Amazon Virtual Private Cloud (Amazon VPC) AWS CloudFormation AWS Elastic Load Balancing AWS S3   このデプロイを実行するにあたり、アカウント制限の引き上げは必要ありません。   適切なポリシーやアクセス権限の詳細は、こちらでご確認ください https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html。 注意: AWS アソシエイト認定をお持ちのユーザーなら、十分な知識を修得していると思われます。   アーキテクチャ   このセクションでは、考えられる 2 つのパターンのデプロイを対象としたアーキテクチャダイアグラムをご紹介し、アーキテクチャデザインの選択肢についても解説します。 マルチ AZ 配置による耐障害性を備えたアーキテクチャダイアグラム (優先)   優先されるこのオプションでは、高い可用性と耐障害性を確保するために、IRIS のミラー化されたインスタンスが 2 つのアベイラビリティーゾーンでロードバランサーの後に置かれます。 アベイラビリティーゾーンが 3 以上あるリージョンでは、Arbiter ノードが 3 つ目の AZ に置かれます。   データベースノードは、プライベートサブネットに置かれます。 Bastion Host は、同じ VPC 内のパブリックサブネットにあります。   ![](/sites/default/files/inline/images/images/image-20200812161954-1.png)   Network Load Balancer は、データベースのトラフィックを現在のプライマリ IRIS ノードに移動させます。 Bastion Host は、IRIS EC2 インスタンスへの安全なアクセスを実現します。 IRIS は、すべての顧客データを暗号化された EBS ボリュームに保存します。 EBS は暗号化され、AWS Key Management Service (KMS) により管理されるキーを使用します。 転送中のデータの暗号化が必要とされる規制ワークロードについては、インスタンスの r5n ファミリーを使用すると、インスタンス間のトラフィックが自動的に暗号化されるので便利です。 IRIS レベルでトラフィックを暗号化することも可能ですが、CloudFormation はこれを有効化していません (本ガイドの「転送中の IRIS データの暗号化」のセクションをご覧ください)。 セキュリティグループを使用すると、必要なトラフィックだけを許可できるため、アクセスを可能な限り制限できます。   シングルインスタンンス、シングル AZ 構成アーキテクチャダイアグラム (開発およびテスト)   InterSystems IRIS は、開発や評価を行う目的で、1 つのアベイラビリティーゾーンにデプロイすることもできます。 データフローやアーキテクチャのコンポーネントは、前のセクションで説明したものと同じです。 このソリューションは、高い可用性も、耐障害性も提供しないため、プロダクションでの使用には適していません。   ![](/sites/default/files/inline/images/images/image-20200812161954-2.png)     デプロイメント 「前提条件」のセクションで作成した IAM エンティティ (ソリューションのデプロイに必要な権限を持つ IAM エンティティ) を使って、AWS アカウントにログインします。 VPC、S3 バケット、IRIS バイナリ、ライセンスキーなど、前提条件がすべて整っていることを確認します。 以下のリンクをクリックし、マルチ AZ 配置による耐障害性を備えた CloudFormation テンプレートをデプロイします (デプロイ先は us-east-1): https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=InterSystemsIRIS&templateURL=https://isc-tech-validation.s3.amazonaws.com/MirrorCluster.yaml。 「Step 1 - Create Stack」で、「Next」ボタンをクリックします。 「Step 2 - Specify stack details」で、要件に合わせて CloudFormation パラメータを入力、調整します。 「Next」ボタンをクリックします。 「Step 3 - Configure stack options」で、オプションのタグ、権限、詳細オプションを入力、調整します。 「Next」ボタンをクリックします。 CloudFormation の設定を確認します。 「Create Stack」ボタンをクリックします。 CloudFormation テンプレートがデプロイされるまで、4 分ほど待ちます。 デプロイのステータスが「CREATE_COMPLETE」になっていれば、デプロイは成功です。 ステータスが「CREATE_FAILED」になっていれば、本ガイドの「トラブルシューティング」のセクションをご覧ください。 デプロイが完了したら、本ガイドの「正常性チェック」を実行してください。   セキュリティ このセクションでは、このガイドを実行してデプロイされる InterSystems IRIS のデフォルト設定、ベストプラクティスの概要、AWS でソリューションをセキュリティ保護するオプションについて解説します。   プライベートサブネットのデータ   InterSystems IRIS の EC2 インスタンスは、プライベートサブネットに配置し、それへのアクセスは Bastion Host を経由する場合か、ロードバランサーを経由するアプリケーションに限定する必要があります。 保存されている IRIS データの暗号化 InterSystems IRIS を実行するデータベースインスタンスでは、保存データは基になる (かつ暗号化されている) EBS ボリューム内に格納されます。 この CloudFormation テンプレートは、アカウントのデフォルトの AWS マネージドキーで暗号化される「aws/eb」という名前の EBS ボリュームを作成します。   転送中の IRIS データの暗号化   この CloudFormation では、クライアントとサーバー間の接続と、インスタンス間の接続はセキュリティ保護されません。 転送中のデータを暗号化する必要がある場合は、デプロイが完了してから、以下のリンクに記載されているステップを実行してください。   SuperServer 接続 (JDBC/ODBC の接続) で SSL を有効化するステップ: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCAS_ssltls#GCAS_ssltls_superserver   IRIS EC2 インスタンス間では、耐久性を備えたマルチ AZ 構成のトラフィックも暗号化が必要になる場合があります。 これは、ミラー化に対し SSL 暗号化を有効にする (https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCAS_ssltls#GCAS_ssltls_mirroring) か、インスタンス間のトラフィックを自動的に暗号化する、インスタンスの r5n ファミリーに切り替えることで実現できます。   AWS Certificate Manager (ACM) を使用すれば、Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書のプロビジョン、管理、デプロイを簡単に行えます。 IRIS Management Portal への安全なアクセス   デフォルトで、IRIS Management Portal は、Bastion Host 経由でのみアクセスできるようになっています。   ログ / 監査 / モニタリング InterSystems IRIS は、messages.log ファイルにログ情報を保管します。 CloudFormation では、追加のログ / モニタリングサービスはセットアップされません。 こちらに記載される構造化ログを有効化することを推奨します。 https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=ALOG   CloudFormation テンプレートは、InterSystems IRIS と CloudWatch の連携をインストールしません。 InterSystems では、https://github.com/antonum/CloudWatch-IRIS の InterSystems IRIS と CloudWatch の連携を推奨しています。  これにより、IRIS のメトリクスとログが messages.log ファイルから AWS CloudWatch に収集されます。   CloudFormation テンプレートは、AWS CloudTrail のログを有効化しません。 CloudTrail のログを有効化するには、CloudTrail のサービスコンソールに移動し、CloudTrail のログを有効化します。 CloudTrail を使用すると、AWS インフラストラクチャで実行されるアクションに関連するアクティビティは、イベントとして CloudTrail に記録されます。 これにより、AWS アカウントのガバナンス、コンプライアンス、運用、リスクの監査を有効化できます。    参考資料: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html   InterSystems では、InterSystems IRIS のログとメトリクスのモニタリング、および少なくとも以下のインジケーターに対しアラートを設定することを推奨しています。 重要度 2 と 3 のメッセージ ライセンスの消費 ジャーナルとデータベースのディスク領域が不足している Write Daemon のステータス Lock Table ステータス   上の内容に加え、ユーザーの皆さまには独自のモニタリングメトリクス、アラートメトリクス、アプリケーション固有の KPI を指定することを推奨しています。   サイジング / コスト このセクションでは、本ガイドの「デプロイアセット」のセクションで説明する AWS のリソースを作成します。 このデプロイの実行中に使用される AWS サービスのコストはお客様の負担となります。 InterSystems IRIS のデプロイに最低限必要な設定をするだけでも、高い可視性とセキュリティが確保されます。   本ガイドのテンプレートでは、InterSystems IRIS の BYOL (Bring Your Own License「ライセンスは各自で用意する」) ライセンスモデルを採用しています。   InterSystems IRIS Marketplace のページでは、Pay Per Hour IRIS Pricing (時間課金制の IRIS 使用料金) についてご説明しています: https://aws.amazon.com/marketplace/pp/B07XRX7G6B?qid=1580742435148&sr=0-3   BYOL モデルの料金に関する詳細は、https://www.intersystems.com/who-we-are/contact-us/ より InterSystems までお問い合わせください。   正常に機能するプラットフォームを提供するには、以下の AWS アセットが必要です。 EC2 インスタンス 3 つ (EBS ボリュームとプロビジョンされた IOPS を含む) Elastic Load Balancer 1 つ   次のテーブルでは、デプロイ用の CloudFormation テンプレートに組み込まれる EC2 と EBS のキャパシティおよび AWS リソースのコスト (単位: $/月) に関する推奨事項を示しています。   ワークロード   開発 / テスト 小規模 中規模 大規模 EC2 DB* m5.large 2 * r5.large 2 * r5.4xlarge 2 * r5.8xlarge EC2 Arbiter* t3.small t3.small t3.small t3.small EC2 Bastion* t3.small t3.small t3.small t3.small EBS SYS gp2 20GB gp2 50GB io1 512GB 1,000iops io1 600GB 2,000iops EBS DB gp2 128GB gp2 128GB io1 1TB 10,000iops io1 4TB 10,000iops EBS JRN gp2 64GB gp2 64GB io1 256GB 1,000iops io1 512GB 2,000iops 計算コスト 85.51 199.71 1506.18 2981.90 EBS ボリュームのコスト 27.20 27.20 450.00 1286.00 EBS IOPS コスト - - 1560.00 1820.00 サポート (ベーシック) - - 351.62 608.79 コスト合計 127.94 271.34 3867.80 6696.69 計算リンク 計算 計算 計算 計算 *すべての EC2 インスタンスには追加で gp2 の EBS ルートボリュームが 20GB 含まれます。   AWS の推定コストは、バージニア州北部の地域のオンデマンド料金を基に計算されています。 スナップショットとデータ転送のコストは含まれていません。 料金に関する最新情報は、AWS 料金を参照してください。   デプロイアセット デプロイオプション InterSystems IRIS CloudFormation テンプレートには、デプロイオプションが 2 つあります。 マルチ AZ 配置オプションは、プロダクションのワークロードに適した、可用性が高く、冗長性を備えたアーキテクチャを提供します。 シングル AZ 配置オプションは、低コストのオプションで、開発やテストのワークロードに適しています。 デプロイアセット (プロダクションでの使用に推奨) InterSystems IRIS のデプロイメントは、CloudFormation テンプレートを使って実行されます。同テンプレートは、入力パラメータを受け取り、それをネストされた適切なテンプレートに渡します。  それらは、条件や依存関係に従って順番に実行されます。   作成される AWS リソース VPC セキュリティグループ IRIS ノードと Arbiter の EC2 インスタンス Network Load Balancer (NLB) (Amazon Elastic Load Balancing (Amazon ELB))   CloudFormation テンプレートの入力パラメータ AWS 全般 EC2 Key Name Pair EC2 インスタンスロール S3 IRIS のディストリビューションファイルとライセンスキーがある S3 バケットの名前。 ネットワーク リソースが起動される個別の VPC とサブネット。 データベース データベースマスターパスワード データベースノードの EC2 インスタンスタイプ   スタックの作成 マスターテンプレートの出力は、JDBC クライアントを InterSystems IRIS に接続する際に使用できる JDBC エンドポイント、Bastion Host のパブリック IP、および両方の IRIS ノードのプライベート IP、と 4 つの出力があります。   クリーンアップ 本ガイドを実行した結果デプロイされるリソースを削除するには、AWS CloudFormation Delete ドキュメンテーションに記載されているステップを実行してください。 デプロイとの統合やサポートの実施中に手動で作成したその他のリソース (S3 バケットや VPC など) を削除します。   デプロイのテスト 正常性チェック   Node 01/02 Management Portal へのリンクをクリックします。 ユーザー名「SuperUser」および CloudFormation テンプレートで選択したパスワードを使ってログインします。   System Administration -> Configuration -> Mirror Settings -> Edit Mirror と順に移動します。 システムに 2 つのファイルオーバーメンバが設定されていることを確認します。   ミラー化されたデータベースが作成され、アクティブであることを確認します。 System Administration -> Configuration -> Local Databases と順に移動します。   「First Look JDBC」と題したドキュメント (https://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_jdbc) の内容に従って、JDBC が Load Balancer を介して IRIS に接続されていることを確認します。 URL 変数をテンプレートの出力に表示されている値に変更し、パスワードも「SYS」からセットアップの最中に選択したパスワードに変更します。     フェイルオーバーテスト   Node02 で、Management Portal にアクセス (上の「正常性チェック」のセクション参照) し、Configuration->Edit Mirror と順に開きます。 ページの一番下に「このメンバはバックアップです。 プライマリに変更を加える必要があります。」 というメッセージが表示されます。   AWS EC2 マネジメントダッシュボードで Node01 インスタンスを見つけます。 その名前は、MyStackName-Node01-1NGXXXXXX の形式で書かれています。   Node01 インスタンスを再起動します。 これにより、インスタンス / AZ の停止がシミュレートされます。   Node02 の「Edit Mirror」ページを再度読み込みます。 するとステータスは、このメンバはプライマリです。 変更内容は他のメンバに送信されます。 に変わるはずです。   バックアップと回復 バックアップ CloudFormation をデプロイしても、InterSystems IRIS のバックアップは有効化されません。 当社では、EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) と IRIS Write Daemon Freeze (https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCDI_backup#GCDI_backup_methods_ext) の両方を使って IRIS EBS ボリュームをバックアップすることを推奨しています。 インスタンスの障害 異常な IRIS インスタンスは、IRIS のミラーリング機能と Load Balancer により検出され、トラフィックは別のミラーノードに移動されます。 回復可能なインスタンスはミラーに再度参加して、通常の操作が続行されます。 異常な状態が続くインスタンスがある場合は、当社のナレッジベースおよび本ガイドの「緊急メンテナンス」のセクションをご覧ください。 アベイラビリティゾーン (AZ) の障害 AZ の障害が発生すると、トラフィックが一時的に中断される場合があります。 インスタンスの障害発生時と同様に、この場合も IRIS のミラーリング機能と Load Balancer がトラフィックを使用可能な別の AZ に切り替えて状況に対処します。 リージョンの障害 本ガイドで紹介するアーキテクチャでは、マルチリージョンオペレーションをサポートする設定はデプロイされません。 IRIS の非同期ミラーリングと AWS Route53 を使用すれば、中断を最小限に抑えながらリージョンの障害に対処できる構成を作成できます。 詳細は、https://community.intersystems.com/post/intersystems-iris-example-reference-architectures-amazon-web-services-aws を参照してください。 RPO/RTO 目標復旧時点 (RPO) シングルノードの開発 / テスト設定は、最後に正常に行われたバックアップの時刻によって定義されます。 Multi Zone Fault Tolerant セットアップは、フェイルオーバー発生時にデータの完全な一貫性を保証するアクティブ/アクティブ構成を提供し、最後に正常に実行されたトランザクションの RPO が使用されます。   目標復旧時間 (RTO) シングルノードの開発 / テスト構成におけるバックアップの復元は、本デプロイガイドの範囲外です。 EBS ボリュームのスナップショットを復元することに関する詳細は、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.htmlを参照してください。 Multi Zone Fault Tolerant セットアップの RTO は、一般的に、Elastic Load Balancer がトラフィックを IRIS クラスタの新しい Primary Mirror ノードに移動させるのに要する時間によって定義されます。 RTO の時間は、ミラー対応アプリケーションを作成するか、ミラーに Application Server Connection を追加することで、さらに短縮できます (https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GHA_mirror#GHA_mirror_set_configecp を参照)。 ストレージ容量 IRIS ジャーナルとデータベースの EBS ボリュームは、容量が上限に達する場合があります。 InterSystems では、IRIS Dashboard ならびに「df」のような Linux のファイルシステムツールを使い、ジャーナルとデータベースのボリュームの状態をモニタリングすることを推奨しています。   ジャーナルとデータベースのボリュームは、EBS ガイド [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)を使えば拡張することができます。 注意: EBS ボリュームの拡張と Linux ファイルシステムの拡張の両方のステップを実行する必要があります。 また、データベースのバックアップを実行した後に、[Purge Journals](https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCDI_journal#GCDI_journal_tasks)を実行すれば、ジャーナルが占めていた領域を開放することもできます。   また、インスタンスに対して CloudWatch Agent を有効にして (この CloudFormation テンプレートでは無効)、ディスク領域をモニタリングすることも検討してもよいでしょう (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)。   セキュリティ証明書の期限 AWS Certificate Manager (ACM) を使えば、Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書を簡単にプロビジョン、デプロイ、管理し、またその有効期限をモニタリングできます。   証明書の有効期限は把握しておく必要があります。 InterSystems では、証明書の有効期限をモニタリングする統合プロセスは提供していません。 AWS では、アラームのセットアップに便利な CloudFormation テンプレートが提供されています。 詳細は、こちらのリンク https://docs.aws.amazon.com/config/latest/developerguide/acm-certificate-expiration-check.html をご覧ください。 日常的なメンテナンス ミラー化された構成において IRIS をアップグレードする手順については、https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCI_upgrade#GCI_upgrade_tasks_mirrorsを参照してください。   継続的なタスクについて、InterSystems では以下を含む AWS と InterSystems のベストプラクティスを実施することを推奨しています。  アクセスキーのローテーション サービス制限の評価 証明書の更新 IRIS ライセンスの制限と期限: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCM_dashboard ストレージ容量のモニタリング: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GCM_dashboard また、EC2 インスタンスに CloudWatch Agent を追加することを検討しても良いでしょう: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html。   緊急メンテナンス   EC2 インスタンスを使用できる場合は、Bastion Host 経由でインスタンスに接続しましょう。   注意: インスタンスを停止 / 開始した後は、Bastion Host のパブリック IP が変更される場合があります。 これが、IRIS クラスタの可用性や JDBC 接続に影響することはありません。   コマンドラインを使ってアクセスするには、以下のコマンドを使って Bastion Host 経由で IRIS ノードに接続します。   $ chmod 400 .pem $ ssh-add .pem   $ ssh -J ec2-user@<bastion-public-ip> ec2-user@<node-private-ip> -L 52773:1:52773   上のコマンドを実行したら、インスタンスの Management Portal が http://localhost:52773/csp/sys/%25CSP.Portal.Home.zen にて使用可能になります。ユーザは「SuperUser」、パスワードはスタックの作成時に入力したパスワードを使います。   IRIS のコマンドプロンプトにアクセスするには、以下のコマンドを使います。   $ iris session iris   「InterSystems IRIS Management and Monitoring」ガイドを参照してください: https://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=GCM   InterSystems サポートへの問い合わせ。   EC2 インスタンスが使用またはアクセスできない場合は、AWS サポートまでお問い合わせください。   注意: マルチ AZ 配置のデプロイで発生する AZ やインスタンスの障害は、自動的に処理されます。 サポート トラブルシューティング   CloudFormation で「Create Stack」(スタックを作成) を実行できません 「Create Stack」を実行できる適切な権限を持っていることをご確認ください。 AWS アカウントの管理者にアクセス権限をお求めください。また、問題が解決しない場合は AWS サポートまでお問い合わせください   スタックは作成されますが、IRIS にアクセスできません EC2 インスタンスのステータスが「CEATE COMPLETED」に変わってから、IRIS の使用準備が完全に整うまでは、およそ 2 分程度かかります。 SSH で EC2 Node のインスタンスと通信し、IRIS が稼働していることをご確認ください。   $iris list   アクティブな IRIS インスタンスが見当たらない場合や、“iris: command not found” というメッセージが表示される場合は、IRIS のインストールが失敗したことを意味します。 インスタンスを最初に開始するときに、インスタンスの $cat /var/log/cloud-init-output.log をチェックして、インストールに問題がなかったどうかを確認します。   IRIS は稼働していますが、Management Portal にアクセスすることも、[Java] アプリケーションから接続することもできません CloudFormation が作成した Security Group に、お使いのソース IP アドレスが許可されている IP アドレスとして表示されていることをご確認ください。 InterSystems サポートへの問い合わせ InterSystems Worldwide Response Center (WRC) では、専門家によるテクニカルサポートを提供しています。   InterSystems IRIS のサポートは、常に IRIS へのサブスクリプションに含まれています。   電話、メール、オンラインでのサポートは、24 時間、年中無休でご利用いただけます。 世界 15 か国にサポートアドバイザーを配置。英語、スペイン語、ポルトガル語、イタリア語、ウェールズ語、アラビア語、ヒンディー語、中国語、タイ語、スウェーデン語、韓国語、日本語、フィンランド語、ロシア語、フランス語、ドイツ語、ヘブライ語およびハンガリー語での対応が可能です。 お客様の成功を大切にする、経験、知識ともに豊富なサポートスペシャリストが、すべてのお客様を素早くサポートいたします。   すぐにサポートが必要な場合   電話サポート: +1-617-621-0700 (US) +44 (0) 844 854 2917 (UK) 0800615658 (NZ フリーダイヤル) 1800 628 181 (AUS フリーダイヤル)   メールサポート: support@intersystems.com   オンラインサポート: WRC ダイレクト support@intersystems.com までログイン情報をお求めください。 付録 IAM Policy for EC2 instance   以下の IAM ポリシーを使うことで、EC2 インスタンスは S3 バケット ‘my-bucket’ からオブジェクトを読み取り、CloudWatch にログを書き込むことができます。   {   "Version": "2012-10-17",   "Statement": [     {       "Sid": "S3BucketReadOnly",       "Effect": "Allow",       "Action": ["s3:GetObject"],       "Resource": "arn:aws:s3:::my-bucket/*"     },     {       "Sid": "CloudWatchWriteLogs",       "Effect": "Allow",       "Action": [         "logs:CreateLogGroup",         "logs:CreateLogStream",         "logs:PutLogEvents",         "logs:DescribeLogStreams"       ],       "Resource": "arn:aws:logs:*:*:*"     }   ] }  
記事
Toshihiko Minamoto · 2021年4月8日

Jupyter Notebook + Apache Spark + InterSystems IRIS を起動させる方法

皆さん、こんにちは。 今日は、Jupyter Notebook をインストールして、Apache Spark と InterSystems IRIS に接続したいと思います。 注記: 以下にお見せする作業は Ubuntu 18.04 で Python 3.6.5 を使って実行しました。 ### **はじめに** **Apache Zeppelin** の代わりに認知度が高く、よく普及していて、主に Python ユーザーの間で人気というノートブックをお探しの方は、 **Jupyter notebook**をおすすめします。 **Jupyter notebook** は、とてもパワフルで優れたデータサイエンスツールです。 大きなコミュニティが存在し、使用できるソフトウェアや連携がたくさんあります。 Jupyter Notebook では、ライブコード、数式、視覚化インターフェース、ナレーションテキストを含む文書を作成、共有できます。 機能としてデータクリーニングや変換、数値シミュレーション、統計モデリング、データの視覚化、機械学習などが含まれています。 最も重要なこととして、問題に直面したときにその解決を手伝ってくれる大きなコミュニティが存在します。 ### **要件の確認** 何かうまく行かないことがあれば、一番下の「考えられる問題と解決策」をご覧ください。 まずは、Java 8 がインストールされていることを確認してください (**java -version** で "1.8.x" が返される)。 次に、[apache spark](https://spark.apache.org/downloads.html) をダウンロードし、解凍します。 それから、ターミナルで以下のコマンドを実行します。 > pip3 install jupyter > > pip3 install toree > > jupyter toree install --spark\_home=/path\_to_spark/spark-2.3.1-bin-hadoop2.7 --interpreters=PySpark --user では、ターミナルを開き、**vim ~/.bashrc** を実行してください。 一番下に次のコードをペーストします (これは環境変数です)。 >  export JAVA_HOME=/usr/lib/jvm/**installed java 8** >  export PATH="$PATH:$JAVA_HOME/bin" >  export SPARK_HOME=/**path to spark**/spark-2.3.1-bin-hadoop2.7 >  export PATH="$PATH:$SPARK_HOME/bin" >  export PYSPARK\_DRIVER\_PYTHON=jupyter >  export PYSPARK\_DRIVER\_PYTHON_OPTS="notebook" ![](/sites/default/files/inline/images/screenshot_from_2018-08-03_15-34-39.png) それから、**source ~/.bashrc** を実行します。 ### **正常に動作することを確認する** それでは、Jupyter Notebook を起動しましょう。 ターミナルで、**pyspark** を実行します。 ![](/sites/default/files/inline/images/screenshot_from_2018-08-03_16-08-01.png) 返された URL をブラウザーで開きます。  次の画像のような画面が表示されると思います。 ![](/sites/default/files/inline/images/screenshot_from_2018-08-03_16-11-03.png) **new** をクリックし、**Python 3** を選択したら、次のコードをパラグラフにペーストします。 > import sys > print(sys.version) > sc 以下のような出力が見られるはずです。 ![](/sites/default/files/inline/images/screenshot_from_2018-08-03_16-18-35.png) ターミナルで ctrl-c を実行して Jupyter を停止します。 注意: 独自のjar ファイルを追加する場合は、好きな jar ファイルを $SPARK_HOME/jars に移動します。 intersystems-jdbc と intersystems-spark を使いたいので (jpmml ライブラリも必要)、 必要な jar ファイルを Spark にコピーします。 ターミナルで次のコードを実行します。 > sudo cp /path to intersystems iris/dev/java/lib/JDK18/intersystems-jdbc-3.0.0.jar /path to spark/spark-2.3.1-bin-hadoop2.7/jars > > sudo cp /path to intersystems iris/dev/java/lib/JDK18/intersystems-spark-1.0.0.jar /path to spark/spark-2.3.1-bin-hadoop2.7/jars > > sudo cp /path to jpmml/jpmml-sparkml-executable-version.jar /path to spark/spark-2.3.1-bin-hadoop2.7/jars 問題がないことを確認してください。 ターミナルでもう一度 **pyspark** を実行し、(前回の[記事](https://community.intersystems.com/post/load-ml-model-intersystems-iris)でご紹介した) 次のコードを実行します。 > from pyspark.ml.linalg import Vectors > from pyspark.ml.feature import VectorAssembler > from pyspark.ml.clustering import KMeans > from pyspark.ml import Pipeline > from pyspark.ml.feature import RFormula > from pyspark2pmml import PMMLBuilder > > dataFrame=spark.read.format("com.intersystems.spark").\ > option("url", "IRIS://localhost:51773/NAMESPACE").option("user", "dev").\ > option("password", "123").\ > option("dbtable", "DataMining.IrisDataset").load() # load iris dataset > > (trainingData, testData) = dataFrame.randomSplit([0.7, 0.3]) # split the data into two sets > assembler = VectorAssembler(inputCols = ["PetalLength", "PetalWidth", "SepalLength", "SepalWidth"], outputCol="features") # add a new column with features > > kmeans = KMeans().setK(3).setSeed(2000) # clustering algorithm that we use > > pipeline = Pipeline(stages=[assembler, kmeans]) # First, passed data will run against assembler and after will run against kmeans. > modelKMeans = pipeline.fit(trainingData) # pass training data > > pmmlBuilder = PMMLBuilder(sc, dataFrame, modelKMeans) > pmmlBuilder.buildFile("KMeans.pmml") # create pmml model 出力は以下のようになりました。 ![](/sites/default/files/inline/images/screenshot_from_2018-08-03_16-34-06.png) 出力ファイルが jpmml kmeans model になっていますので、 すべて完璧です! 考えられる問題と解決策 * **'jupyter'コマンドが見つからない** 1. vim ~/bashrc; 2. 一番下に **export PATH="$PATH:~/.local/bin"** を追加します。 3. ターミナルで 「source ~/.bashrc」 を実行します。 4. 問題が解決しない場合は pip3 と jupyter を再インストールしてください。 * **env: 'jupyter': このようなファイルまたはディレクトリはありません。** 1. ~/.bashrc で、「export PYSPARK\_DRIVER\_PYTHON=/home/.../.local/bin/jupyter 」を設定します。 * **TypeError: 'JavaPackage' オブジェクトは呼び出せません。** 1. 必要な jar ファイルが /.../spark-2.3.1-bin-hadoop2.7/jars にあることを確認します。 2. Notebook を再起動します。 * **Java ゲートウェイプロセスがそのポート番号をドライバーに送る前に終了してしまう** 1. Java バージョンは 8 を使用する (Java 6/7 でも動作すると思いますが、確認はしていません)。 2. **echo $JAVA_HOME** を実行すれば、Java のバージョン 8 が返されるはずです。 そうでない場合は、~/.bashrc のパスを変更します。 3. ターミナルに  **sudo** **update-alternatives --config java ** をペーストし、Java の適切なバージョンを選択します。 4. ターミナルに  **sudo** **update-alternatives --config javac **をペーストし、Java の適切なバージョンを選択します。 * **PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter'** 1. ターミナルでコマンドの最後に --user を追加します。 * **Jupyter コマンド'toree'の実行エラー : [Errno 2] このようなファイルまたはディレクトリはありません。** 1. sudo なしでコマンドを実行します。 * **PYSPARK\_SUBMIT\_ARGS ** のようなシステム変数や他の spark/pyspark 変数を使用した場合、または /.../spark-2.3.1-bin-hadoop2.7/conf/spark-env.sh の変更が原因で、特定のエラーが生じた場合 1. これらの変数を削除して spark-env.sh を確認します。 ### **リンク** * [**Jupyter**](http://jupyter.org/) * **[Apache Toree](https://toree.incubator.apache.org/)** * [**Apache Spark**](https://spark.apache.org/) * [**ML モデルを InterSystems IRIS に読み込む**](https://jp.community.intersystems.com/node/483536) * [**Iris Dataset の K 平均法**](https://jp.community.intersystems.com/node/478551) * [**Apache Spark、Apache Zeppelin、InterSystems IRIS を起動させる方法**](https://jp.community.intersystems.com/node/483681)
お知らせ
Mihoko Iijima · 2021年1月4日

第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト)

開発者の皆様 🎍あけましておめでとうございます🎍 今年もどうぞよろしくお願いいたします! 2021年最初の IRIS プログラミングコンテストの開催が発表されました👏👏 今回のお題は ⚡️ InterSystems Multi-Model Contest ⚡️ です! 応募期間は 2021年1月11日~24日 です! (投票期間は 2021年1月25日~31日、勝者発表は 2月1日を予定しています) 優勝特典 1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。 🥇 1位 - $2,000 🥈 2位 - $1,000 🥉 3位 - $500 2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。 🥇 1位 - $1,000 🥈 2位 - $500 🥉 3位 - $250 複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。 参加資格 どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます) コンテストのスケジュール 1月11日~24日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。) 1月25日~31日 投票(1週間) 2月1日 勝者発表(US時間に発表します) コンテストのテーマ 💡 マルチモデルアプリケーション 💡 InterSystems IRIS を使用してマルチモデルソリューションを開発いただきます。 InterSystems IRIS はマルチモデルデータに対応したDBMSです。内部的には全てをグローバルに格納していますが、データベースに対して、キーバリュー、SQL、オブジェクト、ドキュメントモデルでアクセスでき、すぐに利用できるAPIも提供されています。IRISでは、独自モデル(例えば GraphDB やカラムストア型 など)を開発し、新しいデータモデルを提供するAPIを公開することもできます。 このコンテストでは、少なくとも2つの異なるモデルを使用してデータにアクセスするアプリケーションを作成してください(例:キーバリューとSQL、オブジェクトとリレーショナル、DocDBとキーバリュー など)。 アプリケーションは、 IRIS Community Edition 、 IRIS for Health Community Edition 、 IRIS Advanced Analytics Community Editionのいずれかで動作する必要があります。 また、アプリケーションはオープンソースであり、GitHubに公開していることも条件の一つです。 Helpful resources 1. アクセス方法に関する情報: ドキュメント: Multi-model data aсcess 1.1. グローバル (キーバリュー) グローバルはIRIS データベース内に保存、管理できる多次元配列です。グローバルへは、ObjectScript と Native API(.NET/Java/Python/Node.js) を使用してアクセスできます。 ツール: 管理ポータルでのグローバルの管理 ドキュメント: 多次元ストレージの使用法 (グローバル) グローバルの使用法 記事: グローバルはデータを保存するための魔法の剣です パート1 The art of mapping Globals to Classes ビデオ: Globals QuickStart 1.2. SQL アクセス InterSystems IRIS は ObjectScript/REST API と ODBC/JDBC 経由でのSQLアクセスを提供しています。 ツール: VSCode SQL Tools DBeaver 管理ポータルの SQL インタフェースの使用法 Other SQL tools ドキュメント: SQL Access InterSystems SQL リファレンス 記事: InterSystems IRIS のクラスクエリ 1.3. オブジェクトアクセス InterSystems IRISは、ObjectScript/REST API、Java/.NET用のXEPを利用して、オブジェクトのインスタンスをグローバルに保存/変更する方法を提供しています。 ドキュメント: Object Access サーバー側プログラミング入門ガイド 1.4. ドキュメントアクセス InterSystems IRISでは、REST APIとODBC/JDBC(SQL)を介してJSON形式のドキュメントを保存・管理するための DocDB を提供しています。 ドキュメント: DocDB 2.コンテスト応募方法(このページ末尾のビデオをご参照ください) 3. オンラインコース(英語): Multi-Model QuickStart 4. ビデオ: Multi-Model Development Multi-Inheritance in a Multi-Model Environment 【はじめての InterSystems IRIS】セルフラーニングビデオ:基本その3:IRIS でクラス定義を作ろう(オブジェクト操作の練習) 【はじめての InterSystems IRIS】セルフラーニングビデオ:アクセス編:Python の NativeAPI に挑戦 【はじめての InterSystems IRIS】セルフラーニングビデオ:アクセス編:Python から PyODBC を使って IRIS に接続してみよう 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み 審査及び投票ルール(英語) インターシステムズ社のプロダクトマネージャ、Developer Communityのモデレータ、グローバルマスターアドボケイト(VIPレベル)等、Developer Community 内での投票も行われます。 コンテストの審査および投票ルールについて詳細はこちらをご覧ください。 ❗️ コンテスト規約については、こちらをご参照ください。❗️ ご応募方法について 以下の応募方法ビデオをご参照ください。 以下、コンテストに応募する迄の手順をご説明します。 コンテスト応募までの流れは以下の通りです(※ビデオでは、3番以降の内容をご紹介しています)。 1、IRISプログラミングコンテスト用テンプレートを使用して、開発環境を準備します。 2、コンテスト用アプリケーションを作成します。 3、コンテストの準備が完了したら、ソースコードをローカルのGitリポジトリへコミットします。 初回コミット時に、Gitの初期設定がないためコミットが失敗することがあります。その場合は、以下のコマンドでGitユーザ名とEmailを設定します。 git config --global user.name "ここにユーザ名"git config --global user.email "ここにメールアドレス” 4、ローカルのGitリポジトリのコミットが完了したら、リモートのGitリポジトリを作成します。 リポジトリ作成後、リモートリポジトリのURLをコピーします。 5、リモートのGitリポジトリへPushします。 git push ここにリモートのリポジトリのURL 6、OpenExchangeにログインし、アプリケーションを追加します。 ※事前にDeveloper communityでユーザアカウントを作成する必要があります。ログイン後、Profile→Applications から Application をクリックし、4 でコピーしたリモートのGitリポジトリのURLを設定します。アプリケーションを登録すると、画面右上に「Send Approval」のボタンが表示されるので、クリックします。再度作成したアプリケーションを開くと、「Apply for Contest」ボタンが表示されるので、クリックすると応募が完了します。
お知らせ
Toshihiko Minamoto · 2023年4月18日

IKO (InterSystems Kubernetes Operator) 3.5 リリースのお知らせ

InterSystems Kubernetes Operator (IKO) 3.5 が一般公開されました。 IKO 3.5では、多数のバグフィックスとともに、重要な新機能が追加されています。 主な内容は以下の通りです Web Gateway、ECP、Mirroring、Super Server、IAM間でのTLSのセットアップを簡素化。 コンピュートノードやデータノードとともにサイドカーコンテナを実行する機能 - コンピュートノードとともにWebゲートウェイをスケーリングするのに最適な機能です。 IRIS 2023.1以降、IKO 3.5を使用する場合、CPF configmapとIRIS 秘密鍵はIRISインスタンスによって自動的に処理されます。 initContainerがUID/GIDとイメージの両方で設定できるようになりました。 IKOがtopologySpreadConstraintsをサポートし、ポッドのスケジューリングをより簡単に制御できるようになりました。 より幅広いIRISインスタンスに対応する互換性バージョン コンピュートノードの自動スケール化 (体験版) IKO は ARM でも実行可能 IKOのダウンロード、インストール、および使用方法については、インストールガイドに従ってください。 IKO 3.5の詳細なドキュメントでは、IKOとそれをInterSystems IRISおよびInterSystems IRIS for Healthで使用するための詳細情報を提供しています。 IKOは、WRCのダウンロードページ(Kubernetesで検索)からダウンロードすることができます。 コンテナは、InterSystems Container Registryから入手できます。 IKOは、使いやすいirisClusterリソース定義を提供することで、KubernetesにおけるInterSystems IRISまたはInterSystems IRIS for Healthでの作業を簡素化します。簡単なシャーディング、ミラーリング、ECPの設定など、機能の全リストはドキュメントを参照してください。
お知らせ
Seisuke Nakahashi · 2024年2月12日

IKO (InterSystems Kubernetes Operator) 3.7 リリースのご案内

InterSystems Kubernetes Operator (IKO) 3.7 がリリースされました。 IKO 3.7 は、多くのバグ修正に加えて、大幅に新機能を追加しました。注目の機能は以下のようになっています。 IRIS 2024.1 以降を IKO 3.7 で利用した場合、WebGateway と IRIS 間の認証を、相互 TLS 認証で行います レポーティング非同期ミラーメンバーのサポート IAM Pod へのリソース要求のサポート iriscluster リソース出力の機能向上 IKO のダウンロード、インストール、開始手順については インストールガイド にしたがってください。 IKO 3.7 ドキュメント には、IKO ならびに IKO を InterSystems IRIS や InterSystems IRIS for Health とどのように組み合わせるかの手順が記載されています。 IKO は WRC からダウンロードいただけます (Kubernetes で検索してください。) コンテナは InterSystems コンテナレジストリ から入手いただけます。 IKO で簡単に使える irisCluster リソース定義をお使いいただくことで、 Kubernetes における InterSystems IRIS や InterSystems IRIS for Health の作業手順を単純化することができます。簡単なシャーディング、ミラーリング、ECP構成など、すべての機能については ドキュメント をご参照ください。
お知らせ
Seisuke Nakahashi · 2024年5月8日

InterSystems IRIS & IRIS for Health 2024.2 開発者プレビュー更新

InterSystems IRIS 2024.2 と InterSystems IRIS for Health 2024.2 の最新の開発者プレビューが WRC プレビューダウンロードページ に公開されました。今回のリリースには以下のような注目の変更点が含まれています。 コンテナ – 最初のプレビューにはコンテナキットはありませんでしたが、今回のリリースでご用意しました。今後のプレビューでは、コンテナは Ubuntu 24.04 ベースのイメージに切り替わる予定です。 Ubuntu 24.04 サポート – 今回のプレビューのサポート対象に、最新の Ubuntu 24.04 が加わりました。今後のプレビューでは Ubuntu 20.04 のサポートを終了する予定です。 Windows インストーラの更新 – 今回のプレビューから、Windows インストーラが変更されています。お客様への影響は「インストール速度が速くなった」ことだけですが、もし何か問題が見つかりましたら、弊社までお知らせください。 Studio は個別インストール – IRIS 2024.2 から Studio は Windows の IRIS キットに含まれなくなりました。現在、多くのお客様が Visual Studio Code に移行されています。Studio を使い続けたいお客様は、WRC から単体 Studio キットを入手いただけます。 ドキュメントは以下のリンクからご覧いただけます。 InterSystems IRIS InterSystems IRIS for Health キットについて 本リリースで、すべてのサポート対象プラットフォーム向けに、従来のインストール形式を提供します。サポート対象プラットフォーム一覧は、こちらのドキュメント をご覧ください。 インストーラとプレビュー用ライセンスキーは、WRC プレビューダウンロードページ もしくは 評価サービスページ ("Show Preview Software" フラグをチェックしてください) から入手いただけます。 コンテナイメージは InterSystems コンテナレジストリ から入手いただけます。コンテナは latest-preview とタグ付けされています。
記事
Toshihiko Minamoto · 2021年7月15日

InterSystems IRIS および Intel Optane DC パーシステントメモリ

InterSystems および Intel は先日、InterSystems IRIS を「Cascade Late」としても知られる第 2 世代 Intel® Xeon® スケーラブルプロセッサおよび Intel® Optane™ DC パーシステントメモリ(DCPMM)と組み合わせて一連のベンチマークを実施しました。 さまざまなワークロード設定とサーバー構成で、Intel の最新のサーバーテクノロジーを使用した InterSystems IRIS のパフォーマンスとスケーラビリティ機能を実証するのがこのベンチマークの目的です。 このレポートには、さまざまなベンチマークの結果とともに、Intel DCPMM と InterSystems IRIS のユースケースが 3 つ示されています。 ## 概要 パフォーマンスとスケーリングを実証するために 2 種類のワークロードが使用されています。読み取り集中型のワークロードと書き込み集中型のワークロードです。 このように分けて実証するのは、読み取り集中型ワークロードにおけるデータベースキャッシュ効率の増加と、書き込み集中型ワークロードにおけるトランザクションジャーナルの書き込みスループットの増加のそれぞれに特化したユースケースで、Intel DCPMM の影響を示すためです。 両方のユースケースシナリオにおいて、InterSystems IRIS のスループット、スケーラビリティ、およびパフォーマンスの大幅なゲインが達成されています。 * **読み取り集中型ワークロード**では、4 ソケットサーバーと、合計約 1.2 TB のデータを持つデータセットを使用する大量の長期実行分析クエリが使用されました。 DCPMM を「Memory Mode」で使用した場合のベンチマーク比較では、メモリの少ない前世代の Intel E7v4 シリーズプロセッサと比べた場合、経過実行時間が大幅に短縮され、およそ 6 倍高速になりました。 E7v4 と、DCPMM を使った最新のサーバーを同じメモリサイズで比較した場合は、20% の改善が見られました。 これは、DCPMM による InterSystems IRIS データベースキャッシュ機能の向上と最新の Intel プロセッサアーキテクチャによるものです。 * **書き込み集中型ワークロード**では、2 ソケットサーバーと InterSystems HL7 メッセージングのベンチマークが使用されました。多数のインバウンドインターフェースで構成されており、各メッセージには複数の変換が伴い、インバウンドメッセージごとに 4 つのアウトバウンドメッセージが使用されています。 高スループットを維持する上で重要なコンポーネントの 1 つは、IRIS for Health のメッセージ耐久性保証で、その操作においては、トランザクションのジャーナル書き込みのパフォーマンスが重要となります。 「APP DIRECT」モードで DCPMM を使用して、DAX XFS でトランザクションのジャーナル用の XFS ファイルシステムを提供した場合、このベンチマークのメッセージスループットには 60% の向上が示されました。 テスト結果と構成を要約すると、DCPMM は適切に設定された InterSystems IRIS とワークロードで使用された場合にスループットを大幅に向上させることができます。 高レベルのメリットとしては、読み取り集中型ワークロードではデータベースのキャッシュ効率の向上とディスク I/O ブロック読み取りの抑制、書き込み集中型ワークロードではジャーナルの書き込みスループットの向上を得られます。 さらに、古いハードウェアを更新し、パフォーマンスとスケーリングの改善を検討しているユーザーにとって、DCPMM を備えた Cascade Lake に基づくサーバーは優れた更新パスとなります。 InterSystems のテクノロジーアーキテクトと相談しながら、既存のワークロードに推奨される構成についてのアドバイスを得ることができます。 * * * ### 読み取り集中型ワークロードベンチマーク 読み取り集中型ワークロードでは、512 GiB と 2 TiB のデータベースキャッシュサイズの E7v4(Broadwell)と Intel® Optane™ DC パーシステントメモリ(DCPMM)を使用した 1 TB と 2 TB のデータベースキャッシュサイズの最新の第 2 世代 Intel® Xeon® スケーラブルプロセッサ(Cascade Lake)と比較する分析クエリベンチマークを使用しました。 より大規模なキャッシュの影響とパフォーマンスの向上を示すために、さまざまなグローバルバッファサイズで複数のワークロードを実行しました。 構成を反復するごとに、COLD と WARM で実行しています。 COLD は、データベースキャッシュにデータが事前に入力されていない場合で、 WARM は、データベースキャッシュがすでにアクティブになっており、ディスクからの物理的な読み取りを減らすために、データが入力済みである(または少なくと可能な限り入力されている)ことを示します。   #### ハードウェア構成 古い 4 ソケット E7v4(Broadwell)ホストを DCPMM を使った 4 ソケット Cascade Lake サーバーと比較しました。 この比較が選択されたのは、InterSystems IRIS を使ってハードウェアの更新を検討している既存のお客様がパフォーマンスの向上を得られることを実証するためです。 バージョン間のソフトウェアの最適化が要因とならないように、すべてのテストには同じバージョンの InterSystems IRIS が使用されました。 ディスクパフォーマンスが比較の要因とならないように、すべてのサーバーには同一のストレージアレイにある同一のストレージが使用されています。 ワーキングセットは 1.2 TB のデータベースです。 図 1 にはこのハードウェア構成と、それぞれの 4 ソケット構成の比較が示されています。 図 1: ハードウェア構成 | サーバー #1 の構成 | サーバー #2 の構成 | | ------------------------------------- | ------------------------------------ | | プロセッサ: 4 x E7-8890 v4 @ 2.5Ghz | プロセッサ: 4 x Platinum 8280L @ 2.6Ghz | | メモリ: 2TiB DRAM | メモリ: 3TiB DCPMM + 768GiB DRAM | | ストレージ: 16Gbps FC all-flash SAN @ 2TiB | ストレージ: 16Gbps FC all-flash SAN @ TiB | |   | DCPMM: Memory Mode のみ |   #### ベンチマークの結果と結論 512 GiB を 1 TiB か 2 TiB のいずれかの DCPMM バッファプールサイズと比較した場合、経過実行時間に大幅な短縮が見られます(約 6 分の 1)。 さらに、2 TiB E7v4 DRAM と 2 TiB Cascade Lake DCPMM の構成を比較した場合には約 20% の改善も見られました。 バッファプールのサイズが同じであるとした場合、この 20% の増加は、ほぼ新しいプロセッサのアーキテクチャとプロセッサのコア数の増加によるものだと考えられますが、 それでも、テストされた 4 ソケット Cascade Lake にインストールされていたが 24 x 128 GiB DCPMM のみであることを考慮すると深い意義があります。DCPMM は 12 TiB までスケーリングすることが可能であり、これは E7v4 が同じ 4 ソケットサーバーのフットプリントでサポートできるメモリの約 4 倍のメモリです。 以下の図 2 に示されるグラフは、この比較の結果を示しています。 両方のグラフの y 軸は経過時間(値が小さくなるほど良)で、さまざまな構成で得た結果が比較されています。   ##### 図 2: 各種構成の経過時間の比較 ![](/sites/default/files/inline/images/images/figure-2.png) * * * ### 書き込み集中型ワークロードベンチマーク このベンチマークのワークロードは、すべての T4 タイプのワークロードを使用した HL7v2 メッセージングワークロードです。 * _T4 ワークロードは、ルーティングエンジンを使って、個別に変更されたメッセージを 4 つの各アウトバウントインターフェースにルーティングしました。 平均して、インバウンドメッセージの 4 つのセグメントが変換ごとに変更されました(4 つの変換で 1 件につき 4 件)。 各インバウンドメッセージでは、4 つのデータ変換の実行により 4 つのメッセージがアウトバウンドに送信され、5 つの HL7 メッセージオブジェクトがデータベースに作成されました。_ 各システムは 128 個のインバウンドビジネスサービスと各インバウンドインターフェースに送信される 4800 件のメッセージ(インバウンドメッセージ合計 614,400 件、アウトバウンドメッセージ合計 2,457,600 件)で構成されています。 このベンチマークワークロードのスループットの単位は「1秒あたりのメッセージ数」です。 トランザクションジャーナルのスループットとレイテンシは高スループットを維持する上で重要なコンポーネントであるため、ベンチマーク実行中のジャーナルの書き込みにも関心があります(記録されています)。 IRIS for Health のメッセージ耐久性保証のパフォーマンスに直接影響を与えるため、その操作において、トランザクションジャーナルの書き込みパフォーマンスが重要となります。 ジャーナルのスループットが低下すると、アプリケーションプロセスによってジャーナルバッファの可用性が阻止されてしまいます。   #### ハードウェア構成 書き込み集中型ワークロードでは、2 ソケットサーバーを使用することにしました。 192 GB の DRAM と 1.5 TiB の DCPMM しかないため、この構成は前述の 4 ソケット構成よりも小さくなります。 DCPMM を使用した Cascade Lake のワークロードを以前の初代 Intel® Xeon® スケーラブルプロセッサ(Skylake)サーバーに比較しました。 両サーバーには 750GiB Intel® Optane™ SSD DC P4800X ドライブがローカル接続されています。 図 3 にはこのハードウェア構成と、それぞれの 2 ソケット構成の比較が示されています。 図 3: 書き込み集中型ワークロードのハードウェア構成 | サーバー #1 の構成 | サーバー #2 の構成 | | ------------------------------------- | ------------------------------------ | | プロセッサ: 2 x Gold 6152 @ 2.1Ghz | プロセッサ: 2 x Gold 6252 @ 2.1Ghz | | メモリ: 192GiB DRAM | メモリ: 1.5TiB DCPMM + 192GiB DRAM | | ストレージ: 2 x 750GiB P4800X Optane SSD | ストレージ: 2 x 750GiB P4800X Optane SSD | |   | DCPMM: Memory Mode & App Direct モード | #### ベンチマークの結果と結論 テスト 1: このテストでは、図 3 のサーバー #1 構成に示される Skylake サーバーにおいて前述の**_T4 ワークロード_**を実行しました。 Skylake サーバーは、2010 ジャーナル書き込み/秒のジャーナルファイル書き込み速度で約 3355 件のインバウンドメッセージの持続的なスループットを示しました。 テスト 2: このテストでは、図 3 のサーバー #2 構成に示される Cascade Lake サーバーにおいて、DCPMM の _**Memory Mode**_ を指定して同じワークロードを実行しました。 これは、2400 ジャーナル書き込み/秒のジャーナルファイル書き込み速度で約 4684 件のインバウンドメッセージの持続的なスループットという大幅な向上を示しました。 **これは、テスト 1 に比較すると 39% の増加です。** テスト 3: このテストでは、図 3 のサーバー #2 構成に示される Cascade Lake サーバーにおいて同じワークロードを実行しましたが、今度は DCPMM を App Direct Mode に指定し、DCPMM による何らかの実行を構成せずに実行しました。 このテストの目的は、DRAM のみを使用した Cascade Lake のパフォーマンスとスループットを DCPMM と DRAM を使用した Cascade Lake に比較して測定することです。 DCPMM が使用されていない場合でもスループットは(比較的小さいとは言え)向上したという、特に驚くことでもない結果が出ました。 これは、2540 ジャーナル書き込み/秒のジャーナルファイル書き込み速度で約 4845 件のインバウンドメッセージの持続的なスループットという向上を示しました。 DCPMM は DRAM に比べてより高いレイテンシがあり、更新が大量に流入すればパフォーマンスが低下するため、予想された動作と言えます。 別の見方をすると、まったく同じサーバーで DCPMM を Memory Mode で使用する場合、書き込みの取り込みワークロードに 5% 未満の低下があることになります。 また、Skylake を Cascade Lake(DRAM のみ)に比較した場合、**テスト 1 の Skylake サーバーに比べて 44% の増加が得られています。** テスト 4: このテストでは、図 3 のサーバー #2 構成に示される Cascade Lake サーバーにおいて同じワークロードを実行しましたが、今度は DCPMM を App Direct Mode に指定し、App Direct Mode をジャーナルファイルシステム用にマウントされた DAX XFS として使用して実行しました。 これは 2630/秒のジャーナルファイル書き込み速度で 1 秒あたり 5399 件のインバウンドメッセージというさらに高いスループットを示しました。 この種のワークロードでは App Direct Mode の DCPMM がより適した DCPMM の使用方法であることが示されています。 これらの結果を最初の Skylake 構成と比較すると、**テスト 1 の Skylake サーバーに比べ、スループットが 60% 増加しています。** ![](/sites/default/files/inline/images/images/figure-4.png)   * * * ## InterSystems IRIS の推奨される Intel DCPMM ユースケース Intel® Optane™ DC パーシステントメモリを使用することで InterSystems IRIS にメリットが与えられるユースケースと構成にはいくつかあります。 ### Memory Mode このモードは、単一の InterSystems IRIS デプロイや大規模な InterSystems IRIS シャードクラスタでの膨大なデータベースキャッシュに最適です。後者の環境ではより多く(またはすべて)のデータベースをメモリにキャッシュできます。 DCPMM と DRAM の比率は最大 8:1 にすることをお勧めします。「ホットメモリ」を L4 キャッシュレイヤーとして機能する DRAM に保持する際に重要です。 これは、リソース占有やその他のメモリキャッシュラインなど、共有内部 IRIS メモリ構造において特に重要となります。   ![](/sites/default/files/inline/images/images/figure-5.png)   ### App Direct Mode(DAX XFS)– ジャーナルディスクデバイス このモードは、DCPMM をトランザクションジャーナルファイルのディスクデバイスとして使用する場合に最適です。 DCPMM は Linux にマウントされた XFS ファイルシステムとしてオペレーティングシステムに表示されます。 DAX XFS を使用するメリットは、これによって PCIe バスのオーバーヘッドとファイルシステムからのダイレクトメモリアクセスが緩和されることにあります。 HL7v2 ベンチマークの結果に示されるように、書き込みレイテンシによって HL7 メッセージングのスループットは大幅に向上します。 また、ストレージには従来のディスクデバイスと同様に、再起動や電源サイクル時における永続性と耐久性が備わっています。   ![](/sites/default/files/inline/images/images/figure-6.png)   ### App Direct Mode(DAX XFS)– ジャーナル + 書き込みイメージジャーナル(WIJ)ディスクデバイス このユースケースでは、App Direct モードの用法がトランザクションジャーナルと書き込みイメージジャーナル(WIJ)の両方に拡張されます。 両ファイルは書き込み集中型であるため、超低レイテンシと永続性のメリットを確実に得られます。   ![](/sites/default/files/inline/images/images/figure-7.png)   ### Dual Mode: Memory + App Direct Modes DCPMM を Dual Mode で使用すると DCPMM のメリットが拡大し、トランザクションジャーナルや書き込みイメージジャーナルデバイスで大規模なデータベースキャッシュと超低レイテンシを実現できるようになります。 このユースケースでは、DCPMM は OS にマウントされた XFS ファイルシステムとオペレーティングシステムの RAM として表示されます。 これは、DCPMM の一定の割合を DAX XFS に割り当て、残りを Memory Mode に割り当てることで可能です。 前述のように、インストールされている DRAM はプロセッサの L4 のようなキャッシュとして機能します。   ![](/sites/default/files/inline/images/images/figure-8.png)   ### 「疑似」Dual Mode 疑似 Dual Mode 寄りにユースケースモデルを拡張するために、OLTPタイプのワークロード用と分析または大規模なクエリーニーズ用に高速のインバウンドトランザクションと更新が伴うトランザクションと分析の並行ワークロード(HTAP ワークロードとしても知られています)タイプのワークロードがあり、さらに [InterSystems IRIS 共有クラスタ](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSCALE_sharding#GSCALE_sharding_reference_plan)内ではそれぞれの InterSystems IRIS ノードタイプが DCPMM のさまざまなモードで稼働しています。 この例では、グローバルバッファの大規模データベースキャッシュと、トランザクションワークロード用に DAX XFS として Dual Mode または App Direct のいずれかで実行する[データノード](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSCALE_sharding#GSCALE_sharding_reference_plan_basic)のメリットを得られるように、DCPMM Memory Mode で実行する大規模なクエリ/分析ワークロードを処理する InterSystems IRIS [計算ノード](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSCALE_sharding#GSCALE_sharding_reference_plan_qs)が追加されています。 ![](/sites/default/files/inline/images/images/figure-9.png)   * * * ## まとめ インフラストラクチャの選択に関して言えば、InterSystems IRIS には多数のオプションが提供されています。 インフラストラクチャの要件はアプリケーション、ワークロードプロファイル、およびビジネスニーズによって決まり、これらのテクノロジーとインフラストラクチャの選択が、ビジネスにおけるアプリケーションの成功、採用、および重要性を左右します。 第 2 世代 Intel® Xeon® スケーラブルプロセッサと Intel® Optane™ DC パーシステントメモリを使用した InterSystems IRIS は、ビジネスに大きな影響を与える InterSystems IRIS ベースアプリケーションに画期的なスケーリング性能とスループット性能を与えることができます。 **InterSystems IRIS と Intel DCPMM 対応サーバーには、次のようなメリットがあります。** * Memory Mode の DCPMM を使用した InterSystems IRIS または InterSystems IRIS for Health データベースキャッシュにマルチテラバイトのデータベースが完全に収まるようにメモリ容量を増加します。 ストレージ(ディスク)からの読み取りと比較した場合、サイズが増加するにつれてシステムメモリを利用する InterSystems IRIS の実証されたメモリキャッシュ機能によって、コードを変更することなくクエリへの応答パフォーマンスを 6 倍向上させることができます。 * 同一のプロセッサを使って、利用可能な最速の NVMe ドライブから、App Direct モードによって DAX XFS ファイルシステムとして DCPMM を利用するようにトランザクションジャーナルディスクを変更するだけで、HL7 変換など、InterSystems IRIS と InterSystems IRIS for Health に基づく高速データ相互運用性スループットアプリケーションのパフォーマンスを最大 60% 増のスループットに改善します。 メモリ速度のデータ転送とデータの永続性を活用することで、InterSystems IRIS と InterSystems IRIS for Health に大きなメリットが与えられます。 * 読み取り集中型ワークロードか書き込み集中型ワークロードか、またはその両方のワークロードかに関係なく、Mixed Mode の DCPMM を使った 1 つのリソースコンポーネントの為だけにサーバー全体を過剰に割り当てることなく、必要に応じて計算リソースを拡大します。 お客様の InterSystems IRIS ベースのアプリケーションに最適なハードウェア構成についてのご相談は、InterSystems テクノロジーアーキテクトにお問い合わせください。
お知らせ
Seisuke Nakahashi · 2023年9月25日

InterSystems IRIS NLP (旧 iKnow) が非推奨となります

InterSystems は、IRIS 2023.3 から InterSystems IRIS NLP (自然言語処理, 旧 iKnow) の開発を中止し、非推奨とすることを決定しました。 InterSystems は本技術を利用しているお客様のサポートを続けますが、本技術を開発するきっかけとなったコアテキスト検索のユースケース以外、新規プロジェクトでの利用を推奨しません。 自然言語を含むその他のユースケースでは、InterSystems も特定のアプリケーションに関連して研究している、大規模言語モデルにもとづく新しい技術を利用することで、より良い対応が可能となっています。 InterSystems IRIS NLP のご利用に関するご質問は、弊社担当アカウントチームにお問合せいただくか、 @Benjamin De Boe までご連絡ください。 また今後、Python モジュールとしてパッケージ化されたコア iKnow エンジンを オープンソース版 として公開します。こちらを InterSystems IRIS とは独立して引き続きご利用いただけます。 iFind と呼ばれる InterSystems IRIS SQL Search は、一部機能が影響をうけます。 意味的 (Semantic) インデックス および 分析 (Analytic) インデックス のみ、iKnow エンジンを使用するため非推奨となります。その他の機能とインデックスタイプは、この変更による影響を受けません。柔軟で高性能な全文検索機能を必要とするアプリケーションにとっては、InterSystems IRIS SQL Search は引き続き大切な選択肢となります。
お知らせ
Mihoko Iijima · 2023年11月13日

★受賞者発表!★ 第1回 InterSystems Japan 技術文書ライティングコンテスト

開発者の皆さん、こんにちは! 📣 第1回 InterSystems Japan 技術文書ライティングコンテストの勝者が決定しましたので、以下発表いたします! 🥇 1位 - @Kosaku.Ikeda さんが投稿された FHIRリポジトリ導入時の備忘録として ワイヤレスイヤホン(Sony フルワイヤレスイヤホン ブラック WF-1000XM5BC)が贈られます。 🥈2位 - @Ohata.Yuji さんが投稿された AWS環境を用いたCI/CDの仕組みの紹介。 電動歯ブラシ(ソニッケアー3100シリーズセット)が贈られます。 🥉 3位 - @Junichi.Sakata さんが投稿された Embedded Pythonの使い所は? Apple Air TagループとInterSystems ロゴ入りノート が贈られます。 🌟 参加賞 - 投稿者全員 モバイルバッテリーが贈られます。 受賞者の皆さん、おめでとうございます!🎊 また初回コンテストへチャレンジいただきありがとうございます! 投票結果の得点内訳ですが、コミュニティメンバーからの「いいね」の数と審査員(17日開催ミートアップのパネリストの皆さん+インターシステムズ社員)投票とボーナス得点の合計得点での結果となります。 僅差の結果となりましたので以下得点詳細をお知らせします。 記事 いいね 審査員 ボーナス得点 合計 FHIRリポジトリ導入時の備忘録として 16 39 6 61 AWS環境を用いたCI/CDの仕組みの紹介。 11 46 3 60 Embedded Pythonの使い所は? 9 19 4 32 DockerにIRISを構築する簡単なチュートリアル 9 15 3 27 日本の開発者コミュニティとしては初開催となったコンテストへ投稿いただいた @Kosaku.Ikeda さん @Akio.Hashimoto1419 さん @Junichi.Sakata さん、そして最初に投稿いただきました @Ohata.Yuji さん、素晴らしい記事の投稿をありがとうございました! また、いいねや審査員投票で応援してくださったコミュニティメンバーの皆様、ありがとうございました! 日本、アメリカ、中国、etc..国を問わずインターシステムズ開発者コミュニティのコンテストはどこかで何かを開催しております。 ※ 2023年11月10日から、Javaプログラミングコンテストがアメリカのコミュニティでスタートしています! 今後も日本独自のコンテストを企画できたら!と思っておりますので、ぜひコミュニティのお知らせ記事に今後もご注目ください👀
お知らせ
Mihoko Iijima · 2023年10月30日

投票受付中!:第1回 InterSystems Japan 技術文書ライティングコンテスト

開発者の皆さん、こんにちは! 「技術文書ライティングコンテスト」の投票はお済ですか?応募も投票も開発者コミュニティのアカウントをお持ちの方であればどなたでも行えます。 投票方法について、以下ご案内します。 (1) 開発者コミュニティにログインする。 ログインアカウントをお持ちでない方は、コミュニティページ上部の (下図赤枠)をクリックし、アカウント登録を行って下さい。 クリックした後の流れは「アカウント作成方法」の記事をご参照ください。 (2) 投稿記事一覧ページに移動します。 投稿記事を👀じっくり読みます👀 (3) 「いいね」をクリックします。 投稿記事一覧ページ上でクリックする場合はそれぞれの投稿画面左下にあるのマークをクリックします。クリック前はグレーの表示ですがクリック後に変わります。 各記事を参照している状態で「いいね」をクリックする場合は、画面左側にアイコン一覧が縦に並んでいますのでのマークをクリックします。 良い記事が見つかったらをクリックして作者を応援しましょう!📣
お知らせ
Mihoko Iijima · 2023年11月1日

ボーナスポイント獲得状況:第1回 InterSystems Japan 技術文書ライティングコンテスト

開発者の皆さん、こんにちは! 第1回 技術文書ライティングコンテスト に応募された作品のボーナスポイント獲得状況をお知らせします📣 (11/10更新しました:応募記事一覧ページの表示順序でお知らせします) 記事 EmbeddedPythonに関連する記事(3点) FHIRに関連する記事(3点) コードの記述が含まれる記事(2点) 動作するコードサンプルをGitリポジトリへ公開する(5点) 記事の内容に関連した画面キャプチャや図を貼る(1点) コンテスト投稿者が他者の記事に質問を書く(1点) コンテスト応募者がコミュニティ内の質問記事に対して回答を書く(1点) 合計点 AWS環境を用いたCI/CDの仕組みの紹介。 ✅ ✅ ✅ 6点 FHIRリポジトリ導入時の備忘録として ✅ ✅ ✅ ✅ ✅ ✅ 15点 Embedded Pythonの使い所は? ✅ ✅ ✅ ✅ 11点 DockerにIRISを構築する簡単なチュートリアル ✅ ✅ ✅ 4点 コンテストにご応募いただきました @Kosaku.Ikeda さん @Ohata.Yuji さん @Akio.Hashimoto1419 さん、点数に間違いがある場合は、この記事のコメント欄やダイレクトメッセージでお知らせください! 記事はお好みのタイミングで修正できますが、コンテストのボーナス得点確認のため、11月6日23時59分のタイミングで締め切ります。 期限内にボーナス得点に関連する修正を行った場合も、ぜひお知らせください! @Junichi.Sakata さんの投稿された記事:Embedded Pythonの使い所は?のボーナスポイントを追加しました。 もし間違いがある場合はこの投稿の返信かダイレクトメッセージでお知らせください!
お知らせ
Mihoko Iijima · 2024年4月9日

InterSystems ベクトル検索、GenAI、 ML コンテスト(USコミュニティ)

開発者の皆さん、こんにちは! (2024.4.17更新:コンテストタイトルに「ベクトル検索」を追加しました) 次の InterSystems オンラインプログラミングコンテストのテーマが決定しました!👉生成 AI、ベクトル検索、機械学習 です! 🏆 InterSystems ベクトル検索、GenAI、ML コンテスト(USコミュニティ) 🏆 期間: 2024年4月22日~5月19日 賞金総額: $14,000 テーマ InterSystems IRIS または InterSystems IRIS for Health または IRIS Cloud SQL を使用し、生成AI、または機械学習を使用したソリューションの開発を行ってください。 今回のコンテストは賞金以外にも注目いただきたい特典があります!👉ベクトル検索の力を活用しもっとも革新的なプロジェクトを投稿いただいた著者を、メリーランド州ナショナルハーバーで開催されるグローバル・サミット2024にご招待します!(3名まで) * 招待された方には 2024年6月8日から13日までに開催するグローバル・サミットの無料チケットと無料ホテル宿泊券が贈られます。 応募条件 アプリケーションやライブラリは完全に機能するものでなければなりません。他の言語ですでに存在するライブラリのインポートや直接のインターフェイスであってはなりません(C++を除きます)。既存のアプリケーションやライブラリのコピーペーストでの応募もできません。 応募可能なアプリケーション Open Exchange アプリケーションの新規作成、または既存アプリケーションであっても大幅に改善されているものであればご応募いただけます。 コミュニティの担当チームは、コンテストへの応募を承認する前に申請された全アプリケーションをレビューします。 全てのアプリケーションは、IRIS Community Edition 、IRIS for Health Community Edition で動作する必要があります。MacやWindowsのホスト版をご利用いただく場合は、インストールキットをダウンロードしてください。コンテナを利用する場合は InterSystems Container Registryから pull、または、最新バージョンのイメージ(intersystemsdc/iris-community:latest または intersystemsdc/irishealth-community:latest)をご利用ください。 コミュニティエディションのインストールキット入手方法については、「InterSystems IRIS/InterSystems IRIS for Health コミュニティエディションのダウンロード方法」をご参照ください。 コンテナ版IRISの利用方法については、「InterSystemsコンテナレジストリの使い方とコンテナ開始までの流れ(解説ビデオ付き)」をご参照ください。 アプリケーションはオープンソースであり、GitHubで公開されている必要があります。 アプリケーションの README ファイルは、英語で記述してください(日本語で記述したものがあればそのまま掲載いただき、英文の追記をお願いします。翻訳アプリを使用しますが翻訳をお手伝いすることもできますのでお気軽にお知らせください!)。また、インストール手順や、アプリケーションがどのように動作するかの説明、またはビデオデモを含めてください。 1人の開発者は最大3つのアプリケーションを応募できます。 記事はUSコミュニティに投稿してください。 注意:インターシステムズの審査員は、複雑さと有用性の基準に基づきコンテストに応募が承認されるかどうかの最終決定権を持ちます。その決定は最終的なものであり、不服申し立ての対象にはなりません。 入賞特典: 1. Experts Nomination - 審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。 🥇 1位 - $5,000 🥈 2位 - $3,000 🥉 3位 - $1,500 🏅 4位 - $750 🏅 5位 - $500 🌟 6-10位 - $100 2. Community winners - 開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。 🥇 1位 - $1,000 🥈 2位 - $750 🥉 3位 - $500 🏅 4位 - $300 🏅 5位 - $200 複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。 参加資格: どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます) 開発者がチームを組んで共同でアプリケーションを作成し、応募することもできます! 1チーム 2~5名 までご参加いただけます。 チームでご応募いただく場合は、アプリケーションの README にチームメンバー名の記載をお忘れなく!!(開発者コミュニティのプロファイルのリンクもお願いします) スケジュール: 🛠 アプリケーション開発と応募期間: 2024年4月22日(00:00 EST): コンテスト開始! 2024年5月12日(23:59 EST): 応募締切 ✅ 投票期間 2024年5月13日 (00:00 EST): 投票開始! 2024年5月19日 (23:59 EST): 投票終了 応募、投票期間中、アップロードしたアプリケーションは改良できます。 Helpful Resources: ✓ ドキュメント InterSystems IRIS ベクトル検索(ドキュメント)英語 InterSystems IntegratedMLドキュメント(日本語) Boosting Facial Recognition(顔認識を強化する) ベクトル検索 ✓アプリケーション/ライブラリ例 IRIS Vector Search llamaindex-iris langchain-iris workshop-vector-face IRIS FHIR SQL Builder DBT IntegratedML integratedml-demo-template integratedml-demo - Embedded Python demo suite iris-local-ml - Hugging Face and python usage with IRIS iris-fine-tune-ml - training and tuning ml models with python and InterSystems IRIS QuinielaML - soccer match predictions with IntegratedML workshop-integratedml-csv iris-rag-demo - RAG demo implementation ✓参考記事 Vector Search (ベクトル検索) をご紹介します ✓ オンラインコース(英語) Using Vector Search for Generative AI IntegratedML Interactive Intro Course Hands-on with IntegratedML ✓ ビデオ(英語) Using Vector Search for Generative AI Adding AI into Interoperability Production Building Models with integratedML in the cloud Generative AI Use Cases in Healthcare ✓ IRIS初心者向け Build a Server-Side Application with InterSystems IRIS Learning Path for beginners InterSystems 製品を初めて使用する方向け学習コンテンツなど ✓ For beginners with ObjectScript Package Manager (IPM): How to Build, Test and Publish IPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and IPM ✓ コンテストへの応募方法 Need Help? ご質問がある場合は、この投稿へコメントいただくか、InterSystems の Discord server チャンネルにご参加ください! 皆様からのアプリケーションのご応募、お待ちしております!👍 ❗️ コンテストに参加された場合、こちらに記載されているコンテスト規約に同意したものとみなされます。ご応募の際、ご一読いただきますよう、お願い申し上げます❗️ ご応募方法について 以下の応募方法ビデオをご参照ください。 以下、コンテストに応募する迄の手順をご説明します。 コンテスト応募までの流れは以下の通りです(※ビデオでは、3番以降の内容をご紹介しています)。 1、IRISプログラミングコンテスト用テンプレートを使用して、開発環境を準備します。 2、コンテスト用アプリケーションを作成します。 3、コンテストの準備が完了したら、ソースコードをローカルのGitリポジトリへコミットします。 初回コミット時に、Gitの初期設定がないためコミットが失敗することがあります。その場合は、以下のコマンドでGitユーザ名とEmailを設定します。 git config --global user.name "ここにユーザ名" git config --global user.email "ここにメールアドレス” 4、ローカルのGitリポジトリのコミットが完了したら、リモートのGitリポジトリを作成します。 リポジトリ作成後、リモートリポジトリのURLをコピーします。 5、リモートのGitリポジトリへPushします。 git push ここにリモートのリポジトリのURL 6、OpenExchangeにログインし、アプリケーションを追加します。 ※事前にDeveloper communityでユーザアカウントを作成する必要があります。ログイン後、Profile→Applications から Application をクリックし、4 でコピーしたリモートのGitリポジトリのURLを設定します。 アプリケーションを登録すると、画面右上に「Send Approval」のボタンが表示されるので、クリックします。 再度作成したアプリケーションを開くと、「Apply for Contest」ボタンが表示されるので、クリックすると応募が完了します。
お知らせ
Seisuke Nakahashi · 2023年8月14日

IKO (InterSystems Kubernetes Operator) 3.6 リリースのご案内

InterSystems Kubernetes Operator (IKO) 3.6 がリリースされました。 IKO 3.6 は、多くのバグ修正に加えて、大幅に新機能を追加しました。注目の機能は以下のようになっています。 コンピュートノードとデータノードに簡単に組み込める Web Gateway sidecars Web Gateway 認証用の Kubernetes シークレット Data セクションでの データベース定義 Data セクションでの ネームスペース定義 必要なものがすべてコンテナイメージ内にある場合の エフェメラル Web Gateway Horizontal Pod Autoscaler サポートを HPA バージョン2 にアップグレード IKO のダウンロード、インストール、開始手順については インストールガイド にしたがってください。 IKO 3.6 ドキュメント には、IKO ならびに IKO を InterSystems IRIS や InterSystems IRIS for Health とどのように組み合わせるかの手順が記載されています。 IKO は WRC からダウンロードいただけます (Kubernetes で検索してください。) コンテナは InterSystems コンテナレジストリ から入手いただけます。 IKO で簡単に使える irisCluster リソース定義をお使いいただくことで、 Kubernetes における InterSystems IRIS や InterSystems IRIS for Health の作業手順を単純化することができます。簡単なシャーディング、ミラーリング、ECP構成など、すべての機能については ドキュメント をご参照ください。
お知らせ
Seisuke Nakahashi · 2023年8月14日

InterSystems IRIS Adaptive Analytics 2023.2 リリースのご案内

InterSystems IRIS Adaptive Analytics 2023.2 がリリースされました。このバージョンでは、弊社パートナーである AtScale のバージョン 2023.2 に含まれる以下の素晴らしい機能が追加されています。 仮想データモデルの開発しやすくなる、キューブ間オブジェクト共有の増加 時間相対メジャー、インテリジェント・ディメンジョン、計算グループといった一般的だが複雑なモデル作成手順の単純化 Microsoft PowerBI との接続の改善 集計とクエリを管理する使用状況メトリックダッシュボード機能 詳細な情報については、これらの新機能の デモ をごらんください。 Adaptive Analytics に関する情報については、ドキュメント ならびに オンライントレーニング をご参照ください。
お知らせ
Mihoko Iijima · 2023年8月30日

第1回 InterSystems Japan 技術文書ライティングコンテスト 開催!

開発者の皆さん、こんにちは! 日本の InterSystems 開発者コミュニティで初となるコンテストを開催いたします! 初回コンテストは、技術文書ライティングコンテストで InterSystems IRIS/InterSystems IRIS for Health に関連した内容であればどのような内容でもご応募いただけます。(応募記事一覧は以下👇URLよりご覧いただけます。) ✍ InterSystems Japan 技術文書ライティングコンテスト:IRISに関連した記事 ✍ 🎁 参加賞:投稿いただいた方全員に参加賞あります。 🏆 特別賞:選ばれた3作品に特別賞があります。 コンテストへの応募は簡単です!2023年9月6日(水)~11月6日(月)までの期間に開発者コミュニティに「IRISに関連した記事」を投稿してください(詳細は後述の「応募条件」「ボーナスポイント」をご参照ください)。 投票期間延期のお知らせ📣:2023年11月13日(月)23時59分まで投票いただけるように期間を延長しました! 賞品詳細 期間内に IRIS に関連した記事を投稿された方全員に参加賞(モバイルバッテリーなど)があります。 特別賞 – 審査員の得点+コミュニティメンバーからの「いいね!👍」の数+ボーナスポイントの合計得点の上位 3 名の方に以下賞品が贈られます。 🥇1 位:ワイヤレスイヤホン(3 万円相当) 🥈2 位:1 万円相当のガジェット 🥉3 位:ブランドノート(5 千円相当)→ Apple AirTag に変更となりました。 メモ:同点の場合は、審査員が投票した得点を同点判定基準とします。 参加資格 どなたでもご参加いただけます。(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます) コンテストスケジュール 📝2023年9月6日(水)~11月6日(月):この期間に日本の開発者コミュニティへ「IRISに関連した記事」を投稿してください。なお、投票も同じ期間に行います。 開発者コミュニティメンバーは、公開された記事に対して「いいね!👍」をクリックすることで投票したことになります。 記事の投稿が早ければ早いほど、「いいね!👍」を集める期間が長くなります。 応募条件 ❗️ コンテスト期間中に書かれた記事で以下の条件を満たすものは、自動的にコンテストに応募することができます。 InterSystems IRISまたはInterSystems IRIS for Healthに関する内容の記事を日本語で投稿してください。 800文字以上の記事でご応募ください。(エディタの右下に表示される文字数をご確認の上ご応募下さい) 記事を投稿するときは、タグに「コンテスト」を必ず設定してください。(付け忘れた場合、投稿いただいた記事がコンテスト対象記事と認識されません) 同じテーマや似た内容であっても著者が異なる場合はご応募いただけます。 複数の記事を投稿いただけます(詳細は「ボーナスポイント」をご参照ください) 他国のコミュニティに公開されている記事の翻訳記事でのご応募は対象外となります。 投稿内容はコミュニティチームにより審査されます。予めご了承ください。 審査方法 以下の合計得点で順位を競います。 開発者コミュニティメンバーからの「いいね」の数(1いいね=1点) ボーナスポイント(詳細は後述します) 審査員による投票(1位5点、2位3点、3位2点) 審査員:11月17日開催イベントのパネリストの皆さんとインターシステムズ社員 パネリストの方も記事を投稿いただけますが、ご自身の記事への投票は対象外とします。 ボーナスポイント 🎯 以下の内容を満たす記事を投稿すると、ボーナスポイントを獲得できます。 Embedded Pythonに関連する記事:3点 Embedded Pythonに関連する内容であれば、どのような内容でも対象となります。例えば、試してみた内容、使ってみての感想や工夫など共有してください。 参考となる記事:#Embedded Python FHIRに関連する記事:3点 FHIRに関連する内容であれば、どのような内容でも対象となります。例えば、IRIS for HealthのFHIRリポジトリを試してみた感想、挑戦してみたこと、特定リソースに対してファサードを試してみた際の感想やコード例、工夫した点など共有してください。 参考となる記事:#FHIR コードの記述が含まれる記事:2点 試されたコード例を記事に含めた場合、2点獲得できます。 動作するコードサンプルをGitリポジトリへ公開する:5点 ご自身のGitリポジトリにコードサンプルを公開し、記事内にリポジトリのURLを含めると5点獲得できます。 記事の内容に関連した画面キャプチャや図を貼る:1点 動作を試したときの画面キャプチャや補足説明用の図を記事含めた場合、1記事毎に1点獲得できます。 コンテスト投稿者が他者の記事に質問を書く:1記事毎に1点 コンテスト応募者が他者の記事に質問を投稿した場合、1記事毎に1点獲得できます。 コンテスト応募者がコミュニティ内の質問記事に対して回答を書く:回答毎に1点 コンテスト応募者がコミュニティに寄せられた質問に対して回答を書いた場合、回答毎に1点獲得できます。 記事投稿までの流れやエディタの使い方など、後日ご案内予定です。この後も、コンテスト最新情報を👀お見逃しなく! 皆様からのご応募、お待ちしております! 本日からコンテストへ応募できます! 記事の投稿方法は「記事の投稿方法:第 1 回技術文書ライティングコンテスト」をご参照ください。 (今なら一番乗り!) 皆さん、投稿の準備はできましたか? 投稿以外にも、応募記事のいいねをクリックすることで投票が行えます。ぜひ投票も応募も、両方挑戦して下さい!😎 以下、過去のコンテスト投稿記事をご紹介します。 ネームスペース、データベースを作成する最速で簡単な方法と思われる記事「Quick sample:データベース作成チュートリアル(過去のコンテスト投稿記事のご紹介)」 環境を作り替えたり移行する際の確認に便利な @Akio.Hashimoto1419 さんの投稿された「IRISサーバーのバックアップと再構築の手順」 コンテスト応募作品をご紹介します 👉https://jp.community.intersystems.com/contests/current @Ohata.Yuji さんが投稿された AWS環境を用いたCI/CDの仕組みの紹介。 @Kosaku.Ikeda さんが投稿された FHIRリポジトリ導入時の備忘録として ​素敵な投稿には「いいね」を押して投票できます。 ぜひご参照ください! コンテスト投稿記事への投票(「いいね」のクリック)はお済ですか?👉https://jp.community.intersystems.com/contests/current 11月6日(月)23時59分まで投票できますのでまだの方はお早めに!💨 @Kosaku.Ikeda さんが投稿された FHIRリポジトリ導入時の備忘録として @Ohata.Yuji さんが投稿された AWS環境を用いたCI/CDの仕組みの紹介。 @Akio.Hashimoto1419 さんが投稿された DockerにIRISを構築する簡単なチュートリアル