

AWS Layanan Modernisasi Mainframe (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan Layanan Modernisasi AWS Mainframe (pengalaman Lingkungan Runtime Terkelola), jelajahi Layanan Modernisasi AWS Mainframe (Pengalaman yang Dikelola Sendiri). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat Perubahan [AWS ketersediaan Modernisasi Mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tutorial: Konversi kode dari Assembler ke COBOL di AWS Mainframe Modernization
<a name="assembler-conversion-steps"></a>

Anda dapat menggunakan dokumen ini sebagai step-by-step panduan untuk memahami cara mengonversi kode Assembler modernisasi mainframe ke COBOL. Selain itu, Anda juga dapat merujuk [konversi kode otomatis dari Assembler ke bengkel COBOL untuk](https://catalog.workshops.aws/awsm2ccm-assembler-cobol/en-US) mempelajari lebih lanjut tentang proses konversi.

**Contents**
+ [Prasyarat](#tutorial-assembler-conversion-prerequisites)
+ [Langkah 1: Bagikan aset build dengan Akun AWS](#tutorial-assembler-conversion-share-assets)
+ [Langkah 2: Buat ember Amazon S3](#tutorial-assembler-conversion-create-bucket)
+ [Langkah 3: Buat kebijakan IAM](#tutorial-assembler-conversion-IAM-policy)
+ [Langkah 4: Buat peran IAM](#tutorial-assembler-conversion-IAM-role)
+ [Langkah 5: Lampirkan kebijakan IAM ke peran IAM](#tutorial-assembler-conversion-attach)
+ [Langkah 6: Buat CodeBuild proyek](#tutorial-assembler-conversion-create-project)
  + [Langkah 6.1: Buat proyek Define](#tutorial-conversion-define-project)
  + [Langkah 6.2: Buat proyek Analisis Kode](#tutorial-conversion-analysis-project)
  + [Langkah 6.3: Buat proyek Konversi Kode](#tutorial-conversion-code-project)
+ [Langkah 7: Tentukan proyek dan unggah kode sumber](#tutorial-assembler-conversion-define-upload)
+ [Langkah 8: Jalankan analisis dan pahami laporannya](#tutorial-assembler-conversion-run-analysis)
+ [Langkah 9: Jalankan konversi Kode](#tutorial-assembler-conversion-run-code)
+ [Langkah 10: Verifikasi konversi Kode](#tutorial-assembler-conversion-verify)
+ [Langkah 11: Unduh kode yang dikonversi](#tutorial-assembler-conversion-download)
+ [Pembersihan sumber daya](#tutorial-assembler-conversion-clean-resources)

## Prasyarat
<a name="tutorial-assembler-conversion-prerequisites"></a>

Baca [Memahami penagihan konversi Kode untuk konversi Assembler](assembler-conversion-billing.md) bagian untuk memahami bagaimana konversi kode Assembler menghasilkan biaya (laporan penagihan) pada Anda AWS Account Management, dan cara kerja penagihan.

## Langkah 1: Bagikan aset build dengan Akun AWS
<a name="tutorial-assembler-conversion-share-assets"></a>

Pada langkah ini, pastikan bahwa Anda berbagi aset bangunan dengan Anda Akun AWS, terutama di Wilayah tempat aset digunakan.

1. Buka AWS Mainframe Modernization konsol di [https://console.aws.amazon.com/m2/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/).

1. Di navigasi kiri, pilih **Tools**.

1. **Dalam **Konversi Kode Modernisasi AWS Mainframe dengan mLogica**, pilih Bagikan aset dengan my. Akun AWS**

**penting**  
Anda perlu melakukan langkah ini sekali di setiap AWS Wilayah di mana Anda ingin melakukan pembangunan.

## Langkah 2: Buat ember Amazon S3
<a name="tutorial-assembler-conversion-create-bucket"></a>

Pada langkah ini, Anda membuat ember Amazon S3. Bucket pertama adalah bucket proyek AWS CodeBuild untuk menahan kode sumber dan kemudian mendorong bucket output untuk menahan AWS CodeBuild output (kode yang dikonversi). Untuk informasi selengkapnya, lihat [Membuat, mengonfigurasi, dan bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) di Panduan Pengguna Amazon *S3*.

1. Untuk membuat bucket proyek, masuk ke konsol Amazon S3, dan pilih **Buat** bucket.

1. Dalam **konfigurasi Umum**, berikan nama untuk bucket dan tentukan Wilayah AWS tempat Anda ingin membuat bucket. Contoh nama adalah`codebuild-regionId-accountId-bucket`, di mana: 
   + `regionId`adalah Wilayah AWS ember.
   +  `accountId`adalah Akun AWS ID Anda.
**catatan**  
Jika Anda membuat bucket berbeda Wilayah AWS dari US East (Virginia N.), tentukan `LocationConstraint` parameternya. Untuk informasi selengkapnya, lihat [Membuat Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) di *Referensi API Amazon Simple Storage Service*.

1. Pertahankan semua pengaturan lainnya, dan pilih **Buat ember**.

Apa pun nama yang Anda pilih untuk ember ini, pastikan untuk menggunakannya di seluruh tutorial ini.

## Langkah 3: Buat kebijakan IAM
<a name="tutorial-assembler-conversion-IAM-policy"></a>

Pada langkah ini, Anda membuat [kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Kebijakan IAM yang disediakan memberikan izin khusus AWS CodeBuild untuk berinteraksi dengan Amazon S3, Amazon Elastic Container Registry, [ CloudWatch log Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) yang CodeBuild menghasilkan, dan sumber daya untuk konversi Kode. Amazon Elastic Compute Cloud Kebijakan ini tidak disesuaikan untuk pelanggan. Kebijakan memberikan izin AWS Mainframe Modernization untuk berinteraksi, dan mengambil statistik konversi Kode untuk menagih pelanggan dengan tepat.

Untuk mempelajari cara membuat kebijakan IAM, lihat [Membuat kebijakan IAM di panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) pengguna *IAM*.

**Untuk membuat kebijakan**

1. Masuk ke konsol IAM, dan pilih **Kebijakan** di panel navigasi kiri.

1. Pilih **Buat kebijakan**.

1. Salin dan tempel kebijakan JSON berikut ke editor kebijakan.

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	  
       "Statement": [ 
           { 
               "Action": [
                   "s3:PutObject", 
                   "s3:GetObject", 
                   "s3:GetBucketLocation", 
                   "s3:ListBucket", 
                   "s3:PutObjectAcl", 
                   "s3:GetBucketAcl" 
               ], 
               "Resource": [ 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket", 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket/*", 
                   "arn:aws:s3:::aws-m2-repo-*" ], 
                       "Effect": "Allow" 
             }, 
             {
                 "Action": [ 
                   "ecr:GetAuthorizationToken", 
                   "ecr:BatchCheckLayerAvailability", 
                   "ecr:BatchGetImage", 
                   "ecr:GetDownloadUrlForLayer", 
                   "logs:*", 
                   "ec2:DescribeSecurityGroups", 
                   "ec2:DescribeSubnets", 
                   "ec2:DescribeNetworkInterfaces", 
                   "ec2:DeleteNetworkInterface", 
                   "ec2:CreateNetworkInterface", 
                   "ec2:DescribeDhcpOptions", 
                   "ec2:DescribeVpcs", 
                   "ec2:CreateNetworkInterfacePermission" 
               ], 
               "Resource": "*", 
               "Effect": "Allow" 
            } 
       ] 
   }
   ```

------

1. Anda dapat menambahkan tag ke kebijakan secara opsional. Tag adalah pasangan nilai kunci yang dapat membantu Anda mengatur, melacak, atau mengontrol akses untuk kebijakan tersebut.

1. Pilih **Selanjutnya: Tinjau**.

1. Berikan nama untuk kebijakan tersebut, misalnya,`CodeBuildAWSM2CCMPolicy`.

1. Anda dapat secara opsional memasukkan deskripsi untuk kebijakan tersebut, dan meninjau ringkasan kebijakan untuk memastikannya benar.

1. Pilih **Buat kebijakan**.

## Langkah 4: Buat peran IAM
<a name="tutorial-assembler-conversion-IAM-role"></a>

Pada langkah ini, Anda membuat [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) baru yang memungkinkan CodeBuild untuk berinteraksi dengan AWS sumber daya untuk Anda, setelah Anda mengaitkan kebijakan IAM yang sebelumnya Anda buat dengan peran IAM baru ini.

Untuk informasi tentang membuat peran layanan, lihat [Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) Pengguna *IAM*.

1. Masuk ke konsol IAM, dan pilih **Peran** di panel navigasi kiri.

1. Pilih **Buat peran**.

1. Di bawah **Jenis entitas Tepercaya**, pilih **layanan AWS**.

1. Di bawah **Kasus penggunaan untuk layanan AWS lainnya **CodeBuild****, pilih, lalu pilih **CodeBuild**lagi.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Berikutnya**. Anda menetapkan kebijakan untuk peran nanti.

1. Di bawah **Rincian peran**, berikan nama untuk peran tersebut, misalnya,`IAMRoleTaskExecutionRoleForCodeBuild`.

1. Di bawah **Pilih entitas tepercaya**, verifikasi bahwa dokumen kebijakan terlihat seperti berikut:

------
#### [ JSON ]

****  

   ```
   {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Principal": {
                   "Service": "codebuild.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
               }
             ]
   }
   ```

------

1. Pilih **Buat peran**.

## Langkah 5: Lampirkan kebijakan IAM ke peran IAM
<a name="tutorial-assembler-conversion-attach"></a>

Pada langkah ini, Anda melampirkan kebijakan IAM yang sebelumnya Anda buat ke peran `IAMRoleTaskExecutionRoleForCodeBuild` IAM.

1. Masuk ke konsol IAM, dan pilih **Peran** di panel navigasi kiri.

1. Di **Peran**, pilih peran yang Anda buat sebelumnya, misalnya,`IAMRoleTaskExecutionRoleForCodeBuild`.

1. Di **kebijakan Izin**, pilih **Tambahkan izin**, lalu **Lampirkan** kebijakan.

1. Di **Kebijakan izin lainnya**, pilih kebijakan yang Anda buat sebelumnya, misalnya,`CodeBuildAWSM2CCMPolicy`.

1. Pilih **Lampirkan kebijakan**.

## Langkah 6: Buat CodeBuild proyek
<a name="tutorial-assembler-conversion-create-project"></a>

Pada langkah ini, Anda membuat tiga CodeBuild proyek berbeda berdasarkan `buildspec.yml` file yang disebutkan di atas.

### Langkah 6.1: Buat proyek Define
<a name="tutorial-conversion-define-project"></a>

**Untuk membuat proyek Define**

1. Masuk ke CodeBuild konsol, dan pilih **Buat proyek build**.

1. Di bagian **konfigurasi Proyek**, berikan nama untuk proyek, misalnya,`1-awsm2ccm-define-project`.

1. Di bagian **Sumber**, untuk **penyedia Sumber**, tinggalkan pilihan default.

1. Di bagian **Lingkungan**, pilih **Gambar kustom**.

1. Di bidang **Environment type**, pilih **Linux**.

1. Di bawah **Registri gambar**, pilih **Registri lain**.

1. Di bidang **URL registri eksternal**, ikuti [AWS Mainframe Modernization kontainer](assembler-conversion-components-process.md#assembler-conversion-components-container) bagian ini.

1. Di bawah **Peran layanan**, pilih **Peran layanan yang ada**, dan di bidang **ARN Peran**, pilih peran layanan yang Anda buat sebelumnya (mis.,`IAMRoleTaskExecutionRoleForCodeBuild`).

1. Perluas bagian **Konfigurasi tambahan**, lakukan hal berikut:

   1. VPC: Konfigurasikan jika diperlukan berdasarkan pengaturan Anda.

   1. Batas waktu: Setel ke **60 menit.**

   1. **Batas waktu antrian: Setel ke 480 menit.**

   1. Enkripsi: Pilih pengaturan enkripsi yang sesuai (default baik-baik saja).

   1. Di bagian **variabel Lingkungan**, tambahkan yang berikut ini satu per satu:
      + Nama: **PROJECT\_BUCKET**. Nilai:`codebuild-regionId-accountId- bucket`. Jenis: **Plaintext**
      + Nama: **PROJECT\_DIR**. Nilai:`prj_codebuild_01`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_ACTION**. Nilai:`define_project`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_LOGGING\_BUCKET**. Nilai:`s3:// codebuild-regionId-accountId-bucket`. Jenis: **Plaintext**

1. Di bagian **Buildspec**, pilih **Sisipkan perintah build**, lalu **Beralih ke** editor.

1. Ganti nilai saat ini dengan ini:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR 
   artifacts: 
       files: 
           - '**/*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   di mana, PROJECT\_DIR adalah variabel lingkungan yang tersedia di dalamnya. CodeBuild Untuk informasi selengkapnya, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. Di bagian **Artefak**, lakukan ini:
   + di bawah **Ketik**, pilih **Amazon S3**, lalu pilih bucket keluaran Anda, misalnya,. `codebuild-regionId-accountId-bucket`
   + untuk **Path**, biarkan bidang ini kosong.
   + untuk **Nama**, masukkan`prj_codebuild_01`.
   + **untuk **kemasan Artifact**, pilih None.**
   + untuk **Ganti nama artefak**, hapus centang opsi ini.
   + untuk **Enkripsi**, biarkan ke pengaturan default.

1. Untuk bagian **Log**, lakukan hal berikut:
   + CloudWatch log: **Dinonaktifkan**
   + **Log S3: Diaktifkan**
   + Ember: `codebuild-regionId-account-bucket`
   + Jalur log: `CODEBUILD-LOGS`

1. Pilih **Buat proyek build**.

### Langkah 6.2: Buat proyek Analisis Kode
<a name="tutorial-conversion-analysis-project"></a>

**Untuk membuat proyek Analisis Kode**

1. Masuk ke CodeBuild konsol, dan pilih **Buat proyek build**.

1. Di bagian **konfigurasi Proyek**, berikan nama untuk proyek, misalnya,`2-awsm2ccm-analysis`.

1. Di bagian **Sumber**, untuk **penyedia Sumber**, pilih **Amazon S3**, lalu pilih bucket input yang Anda buat sebelumnya (mis.,`codebuild-regionId-accountId-bucket`).

1. Di bidang **kunci objek S3** atau **folder S3**, masukkan. `prj_codebuild_01`

1. Di bagian **Lingkungan**, pilih **Gambar kustom**.

1. Di bidang **Environment type**, pilih **Linux**.

1. Di bawah **Registri gambar**, pilih **Registri lain**.

1. Di bidang **URL registri eksternal**, ikuti [AWS Mainframe Modernization kontainer](assembler-conversion-components-process.md#assembler-conversion-components-container) bagian ini.

1. Di bawah **Peran layanan**, pilih **Peran layanan yang ada**, dan di bidang **ARN Peran**, pilih peran layanan yang Anda buat sebelumnya (mis.,`IAMRoleTaskExecutionRoleForCodeBuild`).

1. Perluas bagian **Konfigurasi tambahan**, lakukan hal berikut:

   1. VPC: Konfigurasikan jika diperlukan berdasarkan pengaturan Anda.

   1. Batas waktu: Setel ke **60 menit.**

   1. **Batas waktu antrian: Setel ke 480 menit.**

   1. Enkripsi: Pilih pengaturan enkripsi yang sesuai (default baik-baik saja).

   1. Di bagian **variabel Lingkungan**, tambahkan yang berikut ini satu per satu:
      + Nama: **PROJECT\_BUCKET**. Nilai:`codebuild-regionId-accountId-bucket`. Jenis: **Plaintext**
      + Nama: **PROJECT\_DIR**. Nilai:`prj_codebuild_01`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_ACTION**. Nilai:`analysis`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_LOGGING\_BUCKET**. Nilai:`s3:// codebuild-regionId-accountId-bucket`. Jenis: **Plaintext**

1. Di bagian **Buildspec**, pilih **Sisipkan perintah build**, lalu **Beralih ke** editor.

1. Ganti nilai saat ini dengan ini:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*' 
       secondary-artifacts: 
           reports: 
               files: 
                   - '_Reports/AWSM2CCM*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   di mana, PROJECT\_DIR adalah variabel lingkungan yang tersedia di dalamnya. CodeBuild Untuk informasi selengkapnya, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. Di bagian **Artefak**, lakukan ini:
   + di bawah **Ketik**, pilih **Amazon S3**, lalu pilih bucket keluaran Anda (mis.,`codebuild-regionId-accountId-bucket`).
   + untuk **Path**, masukkan **ARTIFACTS**.
   + untuk **Nama**, masukkan`prj_codebuild_01`.
   + **untuk **kemasan Artifact**, pilih None.**
   + untuk **Ganti nama artefak**, hapus centang opsi ini.
   + untuk **Enkripsi**, biarkan ke pengaturan default.

1. Untuk bagian **Log**, lakukan hal berikut:
   + CloudWatch log: **Dinonaktifkan**
   + **Log S3: Diaktifkan**
   + Ember: `codebuild-regionId-account-bucket`
   + Jalur log: `CODEBUILD-LOGS`

1. Pilih **Buat proyek build**.

### Langkah 6.3: Buat proyek Konversi Kode
<a name="tutorial-conversion-code-project"></a>

**Untuk membuat proyek Konversi Kode**

1. Masuk ke CodeBuild konsol, dan pilih **Buat proyek build**.

1. Di bagian **konfigurasi Proyek**, berikan nama untuk proyek (misalnya,`3-awsm2ccm-convert`).

1. Di bagian **Sumber**, untuk **penyedia Sumber**, pilih **Amazon S3**, lalu pilih bucket input yang Anda buat sebelumnya (mis.,`codebuild-regionId-accountId-bucket`).

1. Di bidang **kunci objek S3** atau **folder S3**, masukkan. `prj_codebuild_01`

1. Di bagian **Lingkungan**, pilih **Gambar kustom**.

1. Di bidang **Environment type**, pilih **Linux**.

1. Di bawah **Registri gambar**, pilih **Registri lain**.

1. Di bidang **URL registri eksternal**, ikuti [AWS Mainframe Modernization kontainer](assembler-conversion-components-process.md#assembler-conversion-components-container) bagian ini.

1. Di bawah **Peran layanan**, pilih **Peran layanan yang ada**, dan di bidang **ARN Peran**, pilih peran layanan yang Anda buat sebelumnya; misalnya,. `IAMRoleTaskExecutionRoleForCodeBuild`

1. Perluas bagian **Konfigurasi tambahan**, lakukan hal berikut:

   1. VPC: Konfigurasikan jika diperlukan berdasarkan pengaturan Anda.

   1. Batas waktu: Setel ke **60 menit.**

   1. **Batas waktu antrian: Setel ke 480 menit.**

   1. Enkripsi: Pilih pengaturan enkripsi yang sesuai (default baik-baik saja).

   1. Di bagian **variabel Lingkungan**, tambahkan yang berikut ini satu per satu:
      + Nama: **PROJECT\_BUCKET**. Nilai:`codebuild-regionId-accountId-bucket`. Jenis: **Plaintext**
      + Nama: **PROJECT\_DIR**. Nilai:`prj_codebuild_01`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_ACTION**. Nilai:`conversion`. Jenis: **Plaintext**
      + Nama: **AWSM2CCM\_LOGGING\_BUCKET**. Nilai:`s3:// codebuild-regionId-accountId-bucket`. Jenis: **Plaintext**

1. Di bagian **Buildspec**, pilih **Sisipkan perintah build**, lalu **Beralih ke** editor.

1. Ganti nilai saat ini dengan ini:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - export AWSM2CCM_PUSH_RUNTIME_COPYBOOKS=y 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*'  
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   di mana, PROJECT\_DIR adalah variabel lingkungan yang tersedia di dalamnya. CodeBuild Untuk informasi selengkapnya, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. Di bagian **Artefak**, lakukan ini:
   + di bawah **Ketik**, pilih **Amazon S3**, lalu pilih bucket keluaran Anda (mis.,`codebuild-regionId-accountId-bucket`).
   + untuk **Path**, masukkan **ARTIFACTS**.
   + untuk **Nama**, masukkan`prj_codebuild_01`.
   + **untuk **kemasan Artifact**, pilih None.**
   + untuk **Ganti nama artefak**, hapus centang opsi ini.
   + untuk **Enkripsi**, biarkan ke pengaturan default.

1. Untuk bagian **Log**, lakukan hal berikut:
   + CloudWatch log: **Dinonaktifkan**
   + **Log S3: Diaktifkan**
   + Ember: `codebuild-regionId-account-bucket`
   + Jalur log: `CODEBUILD-LOGS`

1. Pilih **Buat proyek build**.

## Langkah 7: Tentukan proyek dan unggah kode sumber
<a name="tutorial-assembler-conversion-define-upload"></a>

Define Project mengatur folder proyek dan file konfigurasi, diinisialisasi dengan konfigurasi default. Pada langkah ini, Anda memulai build. Untuk melakukannya:

1. Masuk ke AWS CodeBuild konsol.

1. Di panel navigasi kiri pilih **Build projects**.

1. Pilih project (`1-awsm2ccm-define-project`) yang dibuat sebelumnya untuk dibangun

1. Pilih **Mulai membangun**, dan kemudian **Mulai sekarang** untuk menentukan proyek. Setelah build dimulai, status akan berubah menjadi *sedang berlangsung*.

1. Pilih **Detail fase** untuk melihat kemajuan setiap langkah yang diatur oleh proyek. AWS CodeBuild 

1. Tunggu sampai status telah berubah untuk **berhasil** untuk semua langkah.

1. Buka konsol Amazon S3.

1. Cari dan klik pada Amazon S3 bucket bernama `codebuild-regionId-accountId-bucket`
   + **`CODEBUILD-LOGS/`**folder berisi AWS CodeBuild log untuk AWS CodeBuild proyek yang sedang berjalan.
   + **`prj_codebuild_01/`**folder yang berisi struktur proyek. Ini digunakan selama analisis, expand\_macros, dan langkah konversi. Anda dapat memilih `prj_codebuild_01/` untuk menjelajahi detail
   + **`cobol_reserved.rsw`**file konfigurasi (daftar kata COBOL) disediakan untuk konverter. Ini digunakan selama langkah konversi.
   + **`Macro_Expansion/`**folder berisi makro untuk diperluas ke program Assembler. Ini digunakan selama langkah expand\_macros.
   + **`macro_settings.json`**file konfigurasi berisi penggantian makro yang disesuaikan. Ini digunakan selama langkah expand\_macros.
   + **`macrolib/`**folder berisi makro Assembler yang akan dikonversi. Ini digunakan selama analisis dan langkah konversi.

     1. Pilih `macrolib/`.

     1. Secara default satu nama makro Assembler `MACRO1.mac` disediakan sebagai file sampel. Hapus file ini karena tidak diperlukan untuk analisis.

     1. Unggah Makro Anda di direktori ini.
   + **`project_settings_aux.json`**file konfigurasi berisi pengaturan yang terkait dengan halaman kode. Ini digunakan selama langkah konversi.
   + **`project_settings.json`**file konfigurasi berisi pengaturan untuk konverter. Ini digunakan selama langkah konversi.
   + **`srclib/`**folder berisi program Assembler yang akan dikonversi. Ini digunakan selama analisis dan langkah konversi.

     1. Pilih `srclib/`.

     1. Secara default, dua program Assembler diberi nama `SQtest01.asm` dan `SQtest02.asm` disediakan sebagai sampel. Hapus file-file ini karena tidak diperlukan untuk analisis dan konversi Anda.

     1. Unggah program Assembler Anda di direktori ini.

1. Verifikasi status untuk `1-awsm2ccm-define-project` langkah. Seharusnya berhasil di bawah tab **status build Terbaru**.

Anda siap untuk langkah selanjutnya: **Analisis kode**.

## Langkah 8: Jalankan analisis dan pahami laporannya
<a name="tutorial-assembler-conversion-run-analysis"></a>

**catatan**  
AWS Mainframe Modernization Langkah *analisis* konversi kode tidak dikenai biaya.

Pada langkah ini, Anda memulai build lain:

1. Di panel navigasi kiri, pilih **Membangun proyek**.

1. Pilih proyek yang Anda buat di langkah 6.2 untuk membangun:`2-awsm2ccm-analysis`.

1. Pilih **Mulai build**, lalu **Mulai sekarang** untuk menghasilkan laporan analisis. Ini akan memulai build dan mengubah status menjadi *sedang berlangsung*.

1. Pilih **Detail fase** di mana Anda akan melihat kemajuan setiap langkah yang diatur oleh proyek. AWS CodeBuild Tunggu hingga status berubah *berhasil* untuk semua langkah.

1. Dari Konsol Manajemen AWS, buka konsol layanan Amazon S3.

1. Temukan dan klik bucket Amazon S3: `codebuild-regionId-accountId-bucket`

   1. **`ARTIFACTS/`**folder berisi output *analisis* dan langkah *konversi*.

   1. Pilih `ARTIFACTS/prj_codebuild_01/_Reports/`.

   1. Laporan-laporan berikut akan tersedia:
      + `AWSM2CCM-Analysis-Report-<timestamp>.pdf`adalah laporan eksekutif yang menyediakan penagihan dan ruang lingkup konversi AWS Mainframe Modernization Kode, meningkatkan konversi, ringkasan konversi, dan statistik konversi terperinci. Ini juga merangkum jumlah kode dan jumlah kode yang dapat ditagih pada tingkat proyek dan menyediakan metrik dan daftar anggota yang direferensikan untuk setiap komponen. Sangat penting untuk menjalankan dan memeriksa laporan ini sebelum menjalankan konversi yang sebenarnya.
      + `Conversion_Detailed_Statistics.txt`memberikan frekuensi dan hasil konversi yang diharapkan (ditampilkan sebagai “Status konversi”) untuk setiap instruksi yang ditemukan di setiap komponen. Ini menyediakan cara cepat untuk mengidentifikasi apakah instruksi jelas bahwa konverter tidak mendukung. Kemungkinan hasil *status Konversi* adalah:
        + **Benar-benar dikonversi**: instruksi akan secara akurat dikonversi ke COBOL.
        + **Sebagian dikonversi**: instruksi didukung tetapi menggunakan parameter atau ekspresi yang tidak didukung. Penyesuaian manual kemungkinan diperlukan setelah konversi.
        + **Tidak dikonversi**: instruksi tidak didukung oleh konverter.
        + **Instruksi pra-kompilasi untuk memverifikasi**: ini biasanya disertakan di dalam Makro, dan merujuk pada apa yang mungkin dikenal juga sebagai instruksi *Bahasa Majelis Bersyarat* (misalnya, AIF, AGO) pada mainframe. *Ini ditangani oleh pra-kompiler yang didorong oleh instruksi atau arahan tersebut memilih dan menghasilkan kode ASM bersih/statis.* Instruksi ini bergantung pada nilai aktual dari parameter Makro yang dikompilasi. Jadi, Makro yang sama dapat menghasilkan potongan kode ASM yang berbeda, tergantung pada nilai parameter yang dilewatkan. Ini karena adanya instruksi *pra-kompilasi* tersebut. Dalam hal ini, pertimbangkan untuk memperluas atau merekayasa ulang Makro.
      + `Conversion_Global_Statistics.txt`memberikan ringkasan *status Konversi* pada tingkat komponen.
      + `CrossReference_PgmToCpyMacro.txt`laporan tentang dependensi program Assembler pada Macro. Ini menyediakan cara cepat untuk menentukan apakah ada Macro yang hilang dari kode yang diunggah.
      + `CrossReference_PgmToPgm.txt`laporan tentang dependensi program Assembler pada program Assembler lainnya. Ini menyediakan cara cepat untuk menentukan apakah ada program Assembler yang hilang dari kode yang diunggah.

1. Kembali ke konsol AWS CodeBuild layanan.

1. Verifikasi status untuk langkah analisis **2-awsm2ccm**. Seharusnya **berhasil** di bawah tab **status build Terbaru**.

Anda siap untuk langkah selanjutnya: **Konversi kode**.

## Langkah 9: Jalankan konversi Kode
<a name="tutorial-assembler-conversion-run-code"></a>

**penting**  
AWS Mainframe Modernization Langkah *konversi* kode akan ditagih sesuai penggunaan Anda. Untuk informasi lebih lanjut tentang penagihan, lihat[Memahami penagihan konversi Kode untuk konversi Assembler](assembler-conversion-billing.md).

Pada langkah ini, Anda akan mengonfigurasi proses konversi, dan kemudian memulai build.

1. Dari Konsol Manajemen AWS, buka layanan Amazon S3.

1. Temukan dan klik bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

   1. Kunjungi `prj_codebuild_01/`.

   1. Pilih`project_settings.json`, dan pilih **Unduh**.

   1. Buka `project_settings.json` file untuk melihat struktur JSON berikut:

      ```
      { 
      "Source programs directory":"srclib", 
      "Source copybooks/macros directory":"macrolib", 
      "Copybook/Macros Conversion":"Called_only", 
      "Do not regenerate the Copy/Macro if already exists":"false", 
      "Target Compiler":"IBM", 
      "Endianess":"Big", 
      "Converted programs extension":"", 
      "Converted CICS programs extension":"", 
      "Converted copies/macros extension":"", 
      "Trace Level":"STANDARD", 
      "Trace file open mode":"append", 
      "Data definition level":5, 
      "Start picture column":40, 
      "Generate Sync FILLER with name":"FILL-SYNC", 
      "Use SYNC clause":"yes", 
      "Decimal Point Comma":"true", 
      "Original Source Placement":"RIGHT" 
      }
      ```

      dimana,
      + **Direktori program sumber**: berisi program Assembler yang diperlukan untuk konversi.
      + **Sumber Copybooks/direktori Macro**: berisi Assembler Macro dan copybook yang diperlukan untuk konversi.
      + **Konversi Copybook/Macro** dapat berupa:
        + **Semua**: Tombol radio ini menunjukkan bahwa *konversi penuh* akan mengkonversi semua yang copybook/Macros tersedia dalam direktori terlepas dari apakah yang sedang digunakan oleh program atau tidak.
        + **Called\_only**: Tombol radio ini menunjukkan bahwa *konversi penuh* hanya akan mengonversi copybook/Macros yang sebenarnya digunakan oleh program.
      + 
**penting**  
Anda tidak perlu meregenerasi Copy/Macro jika sudah ada.

        Jika ini benar, alat tidak akan mengonversi Copybook/makro lagi, jika sudah dikonversi (ada di folder output). 
      + **Target**: Konversi program (kode yang dihasilkan) tergantung pada kompiler COBOL target. Opsi berikut didukung:
        + “IBM” untuk mainframe IBM
        + “MF” untuk Micro Focus COBOL 
        + “VERYANT” untuk Veryant iScobol
        + “NTT” untuk NTT DATA Enterprise COBOL (Unikix)
      + **Endianess and Bitness**: Konversi program (kode yang dihasilkan) tergantung pada platform target (bit/endianess). Kombo ini memungkinkan pemilihan opsi yang didukung berikut:
        + Endianess: *Besar* (untuk Big-Endian)/Little (Little-Endian). Misalnya, z/OS mainframe IBM adalah Big-Endian, Windows adalah Little-Endian, Linux bervariasi berdasarkan distribusi (misalnya Amazon Linux 2 pada EC2 adalah Little-Endian).
        + Bitness: 32/64 (jika tidak diberikan, default akan 32). Pengaturan yang disarankan adalah 32 bit.
      + **Ekstensi program yang dikonversi**: Ini untuk mengatur ekstensi file untuk program COBOL yang dihasilkan. Kosong (“”): tidak ada ekstensi. Untuk target COBOL Rocket Software (sebelumnya Micro Focus), *CBL* direkomendasikan untuk memungkinkan Pengembang Perusahaan Rocket mengenali file dengan benar.
      + **Ekstensi program CICS yang dikonversi**: Ini untuk mengatur ekstensi file untuk program COBOL CICS yang dihasilkan. Kosong (“”):: tidak ada ekstensi. Untuk target COBOL Perangkat Lunak Rocket, *CBL* direkomendasikan untuk memungkinkan Pengembang Perusahaan Rocket mengenali file dengan benar.
      + Ekstensi **Copybooks/Macro yang dikonversi: Ini untuk mengatur ekstensi** file untuk copybook COBOL yang dihasilkan. Kosong (“”):: tidak ada ekstensi. Untuk target COBOL Perangkat Lunak Rocket, *CPY* disarankan untuk memungkinkan Pengembang Perusahaan Rocket mengenali file dengan benar.
      + **Level jejak**: Trace adalah informasi yang dicatat menggunakan CodeBuild selama konversi. Pengguna dapat memilih tingkat detail dengan memilih salah satu opsi yang disediakan.
        + **ERROR** = TRACE ERROR: hanya kesalahan konversi yang ditampilkan.
        + **STANDARD** = TRACE STANDARD: kesalahan konversi dan informasi standar ditampilkan. Ini adalah pengaturan yang disarankan.
        + **ALL** = TRACE ALL: tingkat penelusuran maksimum
      + **Lacak mode terbuka file**: Tidak digunakan. Pengaturan default *append* direkomendasikan.
      + **Tingkat definisi data**: Ini menunjukkan tingkat awal sub-bidang (setelah level “01") yang ditentukan dalam penyimpanan kerja dan bagian tautan. Pasti angka.
      + **Mulai kolom gambar**: Ini tentang format kode COBOL yang dihasilkan dan menunjukkan kolom tempat klausa *PIC* ditempatkan (setelah nama bidang). Pasti angka.
      + **Penempatan sumber asli:** Ini menunjukkan posisi di mana komentar ditempatkan dalam program. Ini memiliki dua opsi:
        + **KANAN**: Opsi ini akan menempatkan komentar atau informasi tambahan di posisi yang tepat setelah kolom tujuh puluh tiga (73). Dalam COBOL kode ditulis dalam tujuh puluh dua (1-72) kolom pertama dan apa pun dari kolom tujuh puluh tiga (>= 73) akan diperlakukan sebagai komentar.
        + **ATAS**: Opsi ini akan menempatkan komentar di atas konten yang diterjemahkan.
      + **Hasilkan FILLER Sinkronisasi dengan nama**: Opsi ini terkait dengan penyelarasan dalam memori bidang biner (Assembler “H”, “F”, “D” tipe data, yang dikonversi ke tipe data COBOL “COMP”). Untuk menjamin *batas penyelarasan* yang tepat, bidang *pengisi* eksplisit akan ditambahkan selama konversi. Ini adalah opsi berbasis teks, nilainya harus berupa string (seperti FILL-SYNC).
      + **Gunakan klausa SYNC**: Opsi ini mengacu pada perataan dalam memori bidang biner. Ya = semua bidang dikonversi ke COBOL. “COMP” akan didefinisikan dengan klausa “SYNC” (misalnya, 05 WRKFLD PIC S9 (09) COMP SYNC).
      + **Koma titik desimal**: Jika ini benar, klausa *DESIMAL-POINT IS COMMA akan ditambahkan ke paragraf COBOL “SPECIAL-NAMES*”.

   1. Berdasarkan kebutuhan Anda, ubah parameter yang sesuai, lalu simpan`project_settings.json`.

   1. Hapus `project_settings.json` file yang ada dari `prj_codebuild_01/` bucket Amazon S3, lalu unggah versi baru.

1. Kembali ke AWS CodeBuild layanan.

1. Pilih proyek yang akan dibuat sebelumnya: `3-awsm2ccm-convert`

   1. Pilih **Mulai membangun**, dan kemudian **Mulai sekarang** untuk mengonversi program Assembler dan Macro ke program COBOL dan copybook.

   1. Tunggu status build berubah menjadi **Succeeded** untuk proyek ini. Ini akan berada di bawah tab **Status build terbaru**.

## Langkah 10: Verifikasi konversi Kode
<a name="tutorial-assembler-conversion-verify"></a>

1. Dari Konsol Manajemen AWS, buka layanan Amazon S3.

1. Temukan dan klik bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

1. Arahkan ke **`awsm2ccm-do-not-delete `**. AWS Mainframe Modernization Konversi kode membuat file biner yang dikodekan untuk setiap modul Assembler atau Makro selama proses konversi. File-file ini penting untuk mencegah penagihan duplikat ke pelanggan dan juga untuk melacak berapa banyak kode Assembler yang disediakan dianalisis dan dikonversi. File disimpan di lokasi berikut:`codebuild-regionId-accountId- bucket/awsm2ccm-do-not-delete/<your_AWS_account_id>/Hash`. File yang dikodekan tidak mengandung kode Assembler dan juga tidak mungkin untuk mengekstrak kode pelanggan dari file-file ini.
**penting**  
Tidak mengedit file-file ini secara manual atau menghapus file-file ini. Mengedit atau menghapus file-file ini dapat mengakibatkan beberapa tagihan untuk komponen yang sama.

   Perlakukan **`awsm2ccm-do-not-delete/`**folder sebagai direktori yang dikelola sistem. Konsultasikan Dukungan sebelum membuat perubahan apa pun pada direktori ini atau isinya.

1. Klik `codebuild-regionId-accountId-bucket` untuk kembali ke ember.

1. Pilih **`ARTIFACTS/prj_codebuild_01/`**. **\_Converted/** folder berisi output COBOL yang dihasilkan sebagai hasil dari langkah konversi Kode. Ini akan memiliki subdirektori berikut:
   + **copybooks/folder** berisi copybook COBOL yang dihasilkan.
   + **program/folder** berisi program COBOL yang dihasilkan.
   + folder **runtime\_lib/** berisi program COBOL tambahan dan copybook yang disediakan oleh solusi.

1. ****Jika *Laporan Analisis dan laporan* lainnya menunjukkan bahwa konversi berhasil, dan AWS CodeBuild proyek `3-awsm2ccm-convert` ditandai Berhasil, unduh kode COBOL dan buku salinan dari direktori \_Converted/.****

## Langkah 11: Unduh kode yang dikonversi
<a name="tutorial-assembler-conversion-download"></a>

Pada langkah ini, unduh kode COBOL dan copybook dari direktori **\_Converted/**, dan kompilasi di lingkungan COBOL target.

1. Dari Konsol Manajemen AWS, buka layanan Amazon S3.

1. Temukan dan klik bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

1. Arahkan ke lokasi:` ARTIFACTS/prj_codebuild_01/_Converted/`.

1. **Unduh kode COBOL yang dikonversi dari semua subdirektori di bawah \_Converted/.** Anda juga dapat menggunakan perintah CLI berikut untuk mengunduhnya sekaligus:

   ```
   aws s3 cp s3://codebuild-regionId-accountId- 
   bucket/ARTIFACTS/prj_codebuild_01/_Converted/ . --recursive
   ```

1. Menganalisis dan mengkompilasi COBOL yang dikonversi di lingkungan COBOL target.

## Pembersihan sumber daya
<a name="tutorial-assembler-conversion-clean-resources"></a>

Jika Anda tidak lagi membutuhkan sumber daya yang Anda buat untuk tutorial ini, hapus untuk menghindari biaya tambahan. Untuk melakukannya, selesaikan langkah-langkah berikut:
+ Hapus bucket S3 yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) di *panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.
+ Hapus kebijakan IAM yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) di Panduan Pengguna *IAM*.
+ Hapus peran IAM yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus peran atau profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) di *Panduan Pengguna IAM*.
+ Hapus CodeBuild proyek yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus proyek build CodeBuild di](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) *Panduan AWS CodeBuild pengguna*.