How to share data between z/OS and the cloud using z/OS DFSMS utility GDKUTIL.
There’s a new utility that is provided in your base z/OS operating system called GDKUTIL. GDKUTIL was introduced in z/OS 2.5 by OA62318 and is a DFSMS utility like IEBGENER that can be used to share data between z/OS and the cloud without any additional hardware or software. This game changing new utility can be used to download or upload sequential data to the cloud and is documented in the DFSMS-dfp utilities manual.
https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R5sc236864/$file/idau100_v2r5.pdf
Here’s how GDKUTIL works:
The first step is to configure your cloud provider. This is the most complex part of sharing data between z/OS and cloud, and it can only be done by z/OS personnel with valid SAF authority. It involves defining your cloud provider in USS configuration files, creating an encryption key to store your cloud credentials safely, creating and using a cloud API key which is done on your cloud providers system and imported over to z/OS USS file, and ensuring that the cloud connection point is known to be valid with the correct credentials.
Once you’ve configured a cloud provider, you’re ready to share data with your cloud. In this example I have a physical sequential data set which happens to be a sequential copy of a VSAM data set which I created with IDCAMS REPRO. This data set is contains application backup meta data and was created by IZBR which is an IBM z/OS resiliency product. The IZBR data set contains information that is essential to recovering applications on my z/OS image so copying this data to the cloud gives me enhanced ability to recover from a cyber-attack. The cloud is a logical choice to store my copies of this type of data as it can provide immutable copies.
In this example I’m uploading my sequential file to an S3 cloud that I’ve named S3CLOUD. I use the CONVERT parameter to preserve the variable length records. This converts from the z/OS VB format to the standard open systems format where a new line character is inserted at the end of each record. The name of my IZBR VSAM unload is HLQXX.VSAM.UNLOAD and it will placed in a bucket on S3CLOUD called johnh-21st-izbr-bucket with an object name HLQXX_VSAM_UNLOAD_D05022023_S01.

Once this job is run I now have a copy of my z/OS data set out on my S3CLOUD which will help me to restore my system from any location in the world without any additional z/OS software.