AWS Glue Dev Endpoint

This page shows how to write Terraform and CloudFormation for AWS Glue Dev Endpoint and write them securely.

aws_glue_dev_endpoint (Terraform)

The Dev Endpoint in AWS Glue can be configured in Terraform with the resource name aws_glue_dev_endpoint. The following sections describe 1 example of how to use the resource and its parameters.

Example Usage from GitHub

glue.tf#L1
resource "aws_glue_dev_endpoint" "privesc-glue-devendpoint" {
  name     = "privesc-glue-devendpoint"
  role_arn = aws_iam_role.privesc-glue-devendpoint-role.arn
}

resource "aws_iam_role" "privesc-glue-devendpoint-role" {

Review your Terraform file for AWS best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Provides a Glue Development Endpoint resource.

AWS::Glue::DevEndpoint (CloudFormation)

The DevEndpoint in Glue can be configured in CloudFormation with the resource name AWS::Glue::DevEndpoint. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

sample-stack.yml#L83
      Type: AWS::Glue::DevEndpoint
      Properties:
        NumberOfWorkers: 2
        WorkerType: Standard
        RoleArn: !GetAtt SageMakerNotebookInstance1ExecutionRole.Arn
        Tags: {
cf-glue-dev-endpoint.yml#L81
    Type: AWS::Glue::DevEndpoint
    DeletionPolicy: "Delete"
    DependsOn: "SecurityGroupIgress2"
    Properties:
      Arguments:
        GLUE_PYTHON_VERSION: 3
glue_workshop_cfn.yml#L293
    Type: AWS::Glue::DevEndpoint
    Properties:
      EndpointName: !Join [ '-', [!Ref StackPrefix, 'Glue-Dev-Endpoint'] ]
      Arguments: { "--enable-glue-datacatalog": "" }
      GlueVersion: 1.0
      #NumberOfNodes: 3
GlueDevelopmentEndpoint.yaml#L98
    Type: AWS::Glue::DevEndpoint
    Properties:
      EndpointName: !Ref EndpointName
      NumberOfNodes: !Ref NumberOfNode
      PublicKey:
        Fn::FindInMap:
cfn-partition-crawler.yaml#L98
    Type: "AWS::Glue::DevEndpoint"
    Properties:
      EndpointName: partition-endpoint
      PublicKey: !Ref PublicKeyParameter
      RoleArn: !GetAtt GlueRole.Arn
GlueDevEndpointSpecification.json#L3
    "AWS::Glue::DevEndpoint": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
      "Properties": {
        "ExtraJarsS3Path": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
GlueDevEndpointSpecification.json#L3
    "AWS::Glue::DevEndpoint": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
      "Properties": {
        "ExtraJarsS3Path": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
GlueDevEndpointSpecification.json#L3
    "AWS::Glue::DevEndpoint": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
      "Properties": {
        "ExtraJarsS3Path": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
GlueDevEndpointSpecification.json#L3
    "AWS::Glue::DevEndpoint": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
      "Properties": {
        "ExtraJarsS3Path": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
GlueDevEndpointSpecification.json#L3
    "AWS::Glue::DevEndpoint": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
      "Properties": {
        "ExtraJarsS3Path": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",

Parameters

Explanation in CloudFormation Registry

The AWS::Glue::DevEndpoint resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see DevEndpoint Structure in the AWS Glue Developer Guide.

Frequently asked questions

What is AWS Glue Dev Endpoint?

AWS Glue Dev Endpoint is a resource for Glue of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.

Where can I find the example code for the AWS Glue Dev Endpoint?

For Terraform, the BishopFox/iam-vulnerable source code example is useful. See the Terraform Example section for further details.

For CloudFormation, the zoph-io/instance-watcher, goodbyegangster/cloudformation and nmukerje/GlueWorkshop source code examples are useful. See the CloudFormation Example section for further details.