サードパーティ製のGlue Connectorである「AWS Glue Connector for Elasticsearch」を使ったConnectionをTerraformで管理したい

0

AWS Glueを使用してOpenSearchとのデータ同期処理を実装しています。

公式が公開しているチュートリアルを参考にし、マネコン上でOpenSearch用のGlue Connectionを作成することができたのですが、これをTerraformで管理する方法がわからずにいます。 https://docs.aws.amazon.com/glue/latest/dg/tutorial-elastisearch-connector.html

aws_glue_connection リソースの connection_properties の値をいじることで設定できるのではないかと考えているのですが、これは可能なのでしょうか?

そもそも「AWS Glue Connector for Elasticsearch」がTerraformに対応しているのかどうか、対応しているのであればどのように記述したらいいのかについて助言いただけますと幸いです。

1 Antwort
0

こんにちは。ご利用いただいているものはマーケットプレイスタイプのコネクタですね。GetConnection API で取得したコネクタの情報を元に Terraform でリソースを作成し管理することは可能ではないかと思います。以下はサンプルです。

$ aws glue get-connection --name "Elasticsearch Connector for AWS Glue 3.0"
{
    "Connection": {
        "Name": "Elasticsearch Connector for AWS Glue 3.0",
        "Description": "Connect to Elasticsearch from AWS Glue",
        "ConnectionType": "MARKETPLACE",
        "MatchCriteria": [
            "Connection",
            "template-connection"
        ],
        "ConnectionProperties": {
            "CONNECTOR_TYPE": "Spark",
            "CONNECTOR_URL": "https://....dkr.ecr.us-east-1.amazonaws.com/amazon-web-services/glue/elasticsearch:7.13.4-glue3.0",
            "CONNECTOR_CLASS_NAME": "org.elasticsearch.spark.sql"
        },
        "CreationTime": "2021-09-02T02:18:33.790000+00:00",
        "LastUpdatedTime": "2021-09-02T02:18:33.790000+00:00"
    }
}

なお、11 月 17 日より Glue は OpenSearch 向けのネイティブコネクタをサポートしておりますので、今後はこちらをご利用いただくことでより少ないステップでセットアップが完了するかと思います。

ただし、Terraform の最新ドキュメントを見る限り、 "ConnectionType": "OPENSEARCH" はサポートしていないため、ネイティブコネクタを Terraform で管理することはまだできないように見受けられます。こちらは Terraform 側の対応待ちになるかと存じます。

$ aws glue get-connection --name "Opensearch connection"
{
    "Connection": {
        "Name": "Opensearch connection",
        "Description": "",
        "ConnectionType": "OPENSEARCH",
        "ConnectionProperties": {
            "SparkProperties": "{\"secretId\":\"sample\",\"opensearch.nodes\":\"search-sample-sample.ap-northeast-1.es.amazonaws.com\",\"opensearch.port\":\"443\",\"opensearch.aws.sigv4.region\":\"ap-northeast-1\",\"opensearch.nodes.wan.only\":\"true\",\"opensearch.aws.sigv4.enabled\":\"true\"}"
        },
        "CreationTime": "2023-11-30T06:26:30.034000+00:00",
        "LastUpdatedTime": "2023-11-30T06:26:30.034000+00:00"
    }
}

https://registry.terraform.io/providers/hashicorp/aws/5.28.0/docs/resources/glue_connection#connection_properties

connection_type – (Optional) The type of the connection. Supported are: CUSTOM, JDBC, KAFKA, MARKETPLACE, MONGODB, and NETWORK. Defaults to JDBC.

AWS
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen