How do I tag an AWS Glue interactive session?

5 minutos de lectura
0

I want to tag my AWS Glue interactive session for cost tracking.

Resolution

Use AWS Glue Studio Notebook to add tags to an interactive session when it's created. Use AWS Command Line Interface (CLI) to tag a session that already exists.

Tags can be used to assess costs with AWS Billing and Cost Management and AWS Cost and Usage Reports (CUR). For more information on tags, see Organizing and tracking costs using AWS cost allocation tags.

Note: After you tag a session, it can take up to 24 hours for tags to populate in the Billing console or CUR.

Create an AWS Glue interactive session with tags

To use an AWS Glue Studio notebook to tag an interactive session when it's created, complete the following steps. Replace example_ values with the values that correspond with your use case:

  1. Open AWS Glue.

  2. In the left side pane, choose Notebook.

  3. Choose Author using an interactive code notebook.

  4. Choose Create Notebook.

  5. In the first cell, enter the following configuration, and then run the cell:

    # Set the configuration of your sessions using magics 
    # Tip: non-cell magics can share the same cell 
    %idle_timeout 10
    %glue_version 4.0
    %worker_type G.1X
    %number_of_workers 2
  6. In the second cell, enter the following code, and then run the cell:

    import sys
    from awsglue.transforms import *
    from awsglue.utils import getResolvedOptions
    from pyspark.context import SparkContext
    from awsglue.context import GlueContext
    from awsglue.job import Job
    sc = SparkContext.getOrCreate()
    glueContext = GlueContext(sc)
    spark = glueContext.spark_session
    job = Job(glueContext)
  7. In the third cell, enter your tags, and then run the cell:

    # Set a tag to associate the session with billable department or cost center
    # Tip: tags is a cell magic (meaning it needs its own cell)
    %%tags 
    {'example_key':'example_tag'}

    Note: You can add multiple keys and tags, separated by a comma:

    {'example_key_1':'example_tag_1', 'example_key_2':'example_tag_2'}
  8. In the fourth cell, display the session's status, and then run the cell:

    %status
  9. Verify that the output resembles the following:

    Session ID: *******-****
    Status: READY
    ...
    ...
    Tags: {'owner': '********', 'example_key':'example_tag'}
    ..

Tag an interactive session that already exists

To use AWS CLI to tag an interactive session that already exists, complete the following steps. Replace example_ values with the values that correspond with your use case:

Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, then see Troubleshoot AWS CLI errors. Also, make sure that you're using the most recent AWS CLI version.

  1. Open the command line.

  2. List the sessions in your AWS account:

    aws glue list-sessions

    -or-
    List sessions with a specific tag:

    aws glue list-sessions --tags example_key=example_tag
  3. Locate the session that needs tags.

  4. Add tags to the session:

    aws glue tag-resource --resource-arn 
    arn:aws:glue:example_region:example_AWS_Account_ID:session/example_session_id 
    -tags-to-add example_key=example_tag

    -or-

    Add tags to an interactive session job:

    aws glue tag-resource --resource-arn 
    arn:aws:glue:example_region:example_AWS_Account_ ID:job/example_jobname 
    -tags-to-add example_key=example_tag

    Note: You can add multiple keys and tags, separated by a comma.

  5. Verify that the tags are added:

    aws glue get-tags --resource-arn 
    arn:aws:glue:example_region:example_AWS_Account_ID:session/example_session_id

Use tags to assess costs in the Billing Console

To use tags to assess costs in the Billing Console, complete the following steps:

  1. Open the Billing console.
  2. In the navigation pane, choose Cost allocation tags.
  3. Use the Search function to locate and select your session's tags.
  4. Choose Activate, and then wait for the Billing console to apply the tags.
    Note: After you choose Activate, it can take up to 24 hours for the Billing console to apply the tags.
  5. In the navigation pane, under Cost Management, choose Cost explorer.
  6. In the Report parameters pane, under Group by - Dimension, choose Usage Type.
  7. In the Report parameters pane, in the Usage Type section of Filters, select example_region-GlueInteractiveSessions-DPU-Hour.
    Note: substitute example-region with your AWS Region.
  8. In the Report parameters pane, select one of the active tags.
  9. In the menu, under your active tag, select all of the tags that correspond with your use case.
  10. Choose Apply. The output resembles the following:
    Usage type                                        Usage type total        July 2024*
        Total costs                                       $0.85                   $0.85
        Total usage                                       1.93                    1.93 DPU-Hour
        USE1-GlueInteractiveSession-DPU-Hour costs        $0.85                   $0.85
        USE1-GlueInteractiveSession-DPU-Hour usage        1.93 DPU-Hour           1.93 DPU-Hour

Use tags to assess costs in CUR

Use CUR to analyze the cost breakdown of an individual interactive session. To assess costs by tag in CUR, complete the following steps:

  1. Create a CUR. For more information, see Creating Cost and Usage Reports.
    Note: The CUR file's record begins with the month that it's activated. If the CUR must record previous months, then contact AWS Support.
  2. Set up Amazon Athena. For more information, see Querying Cost and Usage Reports using Amazon Athena.
  3. Open the Athena console.
  4. Run the following command. Replace example_ values with the values that correspond with your use case:
    SELECT SUM(CAST(line_item_unblended_cost AS DECIMAL(16, 2))) AS cost, 
    line_item_resource_id as "interactive session arn" FROM 
    example_Table_created_by_cur_setup where product_product_name = ('AWS Glue') and 
    line_item_operation='GlueInteractiveSession' AND resource_tags_user_example_key_1 
    like 'example_tag_1' AND resource_tags_user_example_key_2 like 'example_tag_2' group 
    by product_product_name,line_item_operation,line_item_usage_start_date, 
    line_item_resource_id;
    #    cost    interactive session arn
    1    0.05    arn:aws:glue:us-east-1:111111111:session/82f3be20-1111-1111-1111-588b4677b96a
    2    0.46    arn:aws:glue:us-east-1:111111111:session/28939cd1-1111-1111-1111-ccb95bb25b9f
    3    0.12    arn:aws:glue:us-east-1:111111111:session/54f0943b-1111-1111-1111-383d69920fc6
    4    0.22    arn:aws:glue:us-east-1:111111111:session/730d0637-1111-1111-1111-80cc76989f3c

Related information

Magics supported by AWS Glue interactive sessions for Jupyter

Line item details

tag-resource

get-tags

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses