カスタム AWS エンドポイント URL に接続する方法 | Mendix

メインコンテンツへスキップ

カスタム AWS エンドポイント URL に接続する方法

ヘッダー画像

Mendix テクノロジーの民主化がテーマです。このメッセージは、 Siemens AG CEO ローランド・ブッシュ氏が、今年のラスベガスのコンシューマー・エレクトロニクス・ショー (CES) に出席。

ローランドは生成AIがいかに より広くアクセスできるようになる おかげ Amazon ベッドロックコネクタコネクタは、 AWSと Mendixは、さまざまなサービスからのさまざまな基盤モデルへのアクセスを提供します。

しかし、今やあなたのビジネスで使いやすくなったのは、生成型AIだけではありません。 Mendix アプリケーションは多岐にわたります コネクタ AWSサービスについては、 Mendix マーケットプレイス.

これらのコネクタは、 AWS 認証コネクタ (最近 バージョン3.0.0にアップグレードされました)。複数の AWS コネクタが同じ依存関係を共有し、同様のリクエスト構造に依存しているため、これらの機能は使いやすくするために一元化されています。付随するアーキテクチャの変更により、エンドポイント URL (AWS API の使用に使用) を編集することもできます。

通常、エンドポイント URL は、サービスおよびリージョン固有のデフォルトに自動的に設定されます。ただし、アプリケーションをオンプレミスにデプロイする場合は、別のエンドポイントに接続する必要があるかもしれません。また、ローカル エンドポイントまたは仮想プライベート クラウド エンドポイントに接続したい場合もさらに多くあります。

http エンドポイント URL を変更する理由は何ですか?

エンドポイント URL を変更すると、主に 4 つの利点があります。

1.セキュリティの強化

たとえば、 Mendix アプリケーションをオンプレミスで実行し、アプリケーションで使用する Amazon Web Services が同じセキュリティ ポリシーに準拠する必要があります。エンドポイント URL を変更すると、AWS クラウドにデプロイされたサービスに制限されなくなります。代わりに、任意のエンドポイントに接続できます。

2. コスト削減

AWS サーバーでホストされていないサービスに接続する場合、サーバーの使用料はかかりません。たとえば、テスト用にローカル サービスを使用していて、クラウド サービスのすべての利点を必要としない場合、これは本当にコストを節約できます。

3. テスト環境をより適切に制御

テストにローカル サービスを使用すると、環境を完全に制御できます。また、反復処理をさらに高速化したり (アプリケーションをデプロイする必要がある場合)、即時のフィードバックやデバッグの効率化も実現できます。

4. インターネットは不要

ローカル エンドポイントに接続するためにインターネット接続は必要ありません。ローカル エンドポイントを使用している場合は、ネットワーク接続も必要ありません。これは、移動中にアプリケーションをテストする場合に便利です。

(ローカルインスタンスとウェブサービスインスタンスの間にはトレードオフがあることに注意してください。次のAmazon DynamoDBの例では、ローカルデータベースは共有されません。その結果、設計ごとにすべての本番環境シナリオをローカルにミラーリングすることはできません。ローカルインスタンスとウェブサービスインスタンスには他にも違いがあり、それについては以下で読むことができます。 こちら.)

エンドポイント URL を変更する理由がわかったところで、Amazon DynamoDB の例を使用してその方法を説明します。

http エンドポイント URL を変更するにはどうすればよいですか?

このチュートリアルを実行するには、 Mendix アプリケーションには AWS 認証 v3.0.0 (またはそれ以降)および Amazon DynamoDB 文書化された通りに実装 こちら.

また、DynamoDBのローカルインスタンスも実行しておく必要があります。 AWS ドキュメント DynamoDBを.jarファイルまたはDockerコンテナとしてローカルにデプロイする方法についてのガイダンスを提供します。好みのアプローチを選択して、 ドキュメンテーション ローカルインスタンスを作成します。

いずれにしても、DynamoDB が正常にインストールされると、以下に説明するように AWS CLI を使用してデータベースにアクセスできるようになります。

1. AWS CLIでDynamoDBにアクセスする

AWS CLIを使用して接続する必要はありません。 Mendix アプリケーションをローカル DynamoDB インスタンスにインストールすることはできません。ただし、AWS CLI は、コマンドプロンプトウィンドウを使用してデータベースを調べる (およびデータベースが意図したとおりに実行され、表示されていることを確認する) のに適した方法です。

AWS CLIがまだインストールされていない場合は、ダウンロードできます。 こちら.

データベース内の既存のテーブルをすべて一覧表示するには、次のプロンプトを試してください。

aws dynamodb list-tables --endpoint-url https://localhost:8000

DynamoDB はポート 8000 を使用します (たとえば、Docker 構成ファイルで別のポートを指定しない限り)。データベースがまだ空の場合は、次のように表示されます。

{
    "TableNames": []
}

たとえば、次のコマンドを使用して、「Music」という新しいテーブルを追加できます (Windows の場合)。

aws dynamodb create-table --table-name Music --attribute-definitions        AttributeName=Artist,AttributeType=S         AttributeName=SongTitle,AttributeType=S --key-schema         AttributeName=Artist,KeyType=HASH         AttributeName=SongTitle,KeyType=RANGE --provisioned-throughput         ReadCapacityUnits=5,WriteCapacityUnits=5 --table-class STANDARD --endpoint-url https://localhost:8000

CLIでテーブルを作成する方法についてのドキュメントは以下にあります。 こちら.

データベース内のすべてのテーブルを再度一覧表示すると、「Music」という名前の新しいテーブルが追加されているはずです。

{
    "TableNames": [
        "Music"
    ]
}

必要に応じて、CLIを使用してローカルデータベースを操作してください。その他のコマンドについては、 こちらローカル データベースにアクセスできるように、必ず '–endpoint-url' パラメータを追加してください。

データを手動で追加する代わりに、リモートDynamoDBのバックアップを作成し、それを使用してローカルデータベースを復元することもできます。 こちらこのアプローチにより、リモート インスタンスのパフォーマンスを大まかに把握することもできます。

2. ローカルデータベースを Mendix アプリ

静的認証情報またはセッション認証情報を使用してアプリケーションで AWS 認証コネクタを設定したら、準備完了です。ローカル データベースとリモート データベースを切り替える予定があり、後で認証を設定しない限り、有効な認証情報を使用する必要はありません。

コネクタ内のすべてのリクエストエンティティは AbstractRequest エンティティから継承されるため、AWS Authentication Connector 3.0.0 リリース以降ではエンドポイント URL をオーバーライドできます。正しいエンドポイント URL 値を持つ BasicClientConfig オブジェクトを作成し、それをリクエストに関連付けるだけです。

AWS 認証コネクタのドメイン モデルでは、2 つのエンティティは次のようになります。

AWS 認証コネクタのドメインモデル

 

以下は、操作のデフォルトのhttpエンドポイントを変更する方法を示す3つのマイクロフローの例です。適切なリクエストの作成方法がわからない場合は、 Amazon DynamoDB コネクタ の三脚と アマゾン ダイナモ DB 詳細については、ドキュメントを参照してください。

例 1: 「テーブルの一覧」
例 1: 「テーブルの一覧」

 

例1: BasicClientConfigの詳細を作成する
例1: BasicClientConfigの詳細を作成する

 

例2: アイテムを配置する
例2: アイテムを配置する

 

例3: スキャン
例3: スキャン

同じレシピは、デフォルトとは異なるエンドポイントをアドレス指定する任意のコネクタ上のあらゆる操作に有効です。

ダウンロードしたフォルダ内の.jarファイルを実行するか、Dockerコンテナを使用するかにかかわらず、 Mendix これで、アプリケーションはローカル データベースに接続されるはずです。ぜひテストしてみてください。

アプリケーションがローカルでどのように動作するかに満足している場合は、BasicClientConfig オブジェクトを削除するか、属性値を削除するだけです。代わりに、アプリケーションはリモートインスタンスにシームレスに接続します。(設定で AWS 認証情報を構成することを忘れないでください! 😊)

結論

新しい認証コネクタ機能を使用すると、デフォルトのエンドポイントに制限されなくなります。オンプレミスのプライベート クラウドまたはローカル エンドポイントに接続するように選択でき、妥協する必要はありません。別のエンドポイントに接続すると、コストの面でプロジェクトをさらに強化でき、制御されたサーバーに依存しないテスト環境を提供できます。

最後に、当社のコネクタを使用するとエンドポイントの変更が非常に簡単になります。

言語を選択してください