

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

# Membuat cluster dengan CloudFormation
<a name="tutorials_09_cfn-custom-resource-v3"></a>

Pelajari cara membuat klaster dengan sumber daya AWS ParallelCluster CloudFormation khusus. Untuk informasi selengkapnya, lihat [AWS CloudFormation sumber daya kustom](cloudformation-v3.md).

Saat menggunakan AWS ParallelCluster, Anda hanya membayar AWS sumber daya yang dibuat saat Anda membuat atau memperbarui AWS ParallelCluster gambar dan cluster. Untuk informasi selengkapnya, lihat [AWS layanan yang digunakan oleh AWS ParallelCluster](aws-services-v3.md).

**Prasyarat:**
+  AWS CLI [Itu diinstal dan dikonfigurasi.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ [Pasangan kunci](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) Amazon EC2.
+ Peran IAM dengan [izin](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) yang diperlukan untuk menjalankan CLI[`pcluster`](pcluster-v3.md).

## Pembuatan cluster dengan CloudFormation tumpukan cepat
<a name="cfn-custom-resource-quick-v3"></a>

Dalam tutorial ini, Anda menggunakan tumpukan quick-create untuk menyebarkan CloudFormation template yang membuat cluster dan sumber daya berikut: AWS 
+  CloudFormation Tumpukan root dibuat dengan menggunakan tumpukan CloudFormation quick-create.
+  CloudFormation Tumpukan bersarang yang menyertakan kebijakan default, pengaturan VPC default, dan penyedia sumber daya khusus.
+ Contoh tumpukan AWS ParallelCluster cluster dan cluster tempat Anda dapat masuk dan menjalankan pekerjaan.

**Buat cluster dengan AWS CloudFormation**

1. Masuk ke Konsol Manajemen AWS.

1. Buka [tautan CloudFormation buat cepat untuk membuat](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?stackName=mycluster&templateURL=https://us-east-1-aws-parallelcluster.s3.amazonaws.com/parallelcluster/3.15.0/templates/1-click/cluster-example.yaml) sumber daya berikut di konsol: CloudFormation 
   +  CloudFormation Tumpukan bersarang dengan VPC dengan subnet publik dan pribadi untuk menjalankan node kepala cluster dan node komputasi, masing-masing.
   +  CloudFormation Tumpukan bersarang dengan sumber daya AWS ParallelCluster khusus untuk mengelola cluster.
   +  CloudFormation Tumpukan bersarang dengan kebijakan default untuk mengelola cluster.
   +  CloudFormation Tumpukan root untuk tumpukan bersarang.
   + Sebuah AWS ParallelCluster cluster dengan Slurm scheduler dan jumlah node komputasi yang ditentukan.  
![\[Konsol CloudFormation cepat membuat antarmuka pengguna.\]](http://docs.aws.amazon.com/id_id/parallelcluster/latest/ug/images/cfn-quick-create.png)

1. Di bagian **Quick create stack** **Parameters**, masukkan nilai untuk parameter berikut:

   1. Untuk **KeyName**, masukkan nama key pair Amazon EC2 Anda.

   1. Untuk **AvailabilityZone**, pilih AZ untuk node cluster Anda, misalnya,`us-east-1a`.

1. Centang kotak untuk mengetahui setiap kemampuan akses di bagian bawah halaman.

1. Pilih **Buat tumpukan**.

1. Tunggu CloudFormation tumpukan mencapai `CREATE_COMPLETE` status.

## Pembuatan cluster dengan CloudFormation Command Line Interface (CLI)
<a name="cfn-custom-resource-cli-v3"></a>

Dalam tutorial ini, Anda menggunakan AWS Command Line Interface (CLI) CloudFormation untuk menyebarkan CloudFormation template yang membuat cluster.

**Buat AWS sumber daya berikut:**
+  CloudFormation Tumpukan root dibuat dengan menggunakan tumpukan CloudFormation quick-create.
+  CloudFormation Tumpukan bersarang yang menyertakan kebijakan default, penyiapan VPC default, dan penyedia sumber daya khusus.
+ Contoh tumpukan AWS ParallelCluster cluster dan cluster tempat Anda dapat masuk dan menjalankan pekerjaan.

Ganti*inputs highlighted in red*, seperti*keypair*, dengan nilai-nilai Anda sendiri.

**Buat cluster dengan AWS CloudFormation**

1. Buat CloudFormation template bernama `cluster_template.yaml` dengan konten berikut:

   ```
   AWSTemplateFormatVersion: '2010-09-09'
   Description: > AWS ParallelCluster CloudFormation Template
   
   Parameters:
     KeyName:
       Description: KeyPair to login to the head node
       Type: AWS::EC2::KeyPair::KeyName
   
     AvailabilityZone:
       Description: Availability zone where instances will be launched
       Type: AWS::EC2::AvailabilityZone::Name
       Default: us-east-2a
   
   Mappings:
     ParallelCluster:
       Constants:
         Version: 3.15.0
   
   Resources:
     PclusterClusterProvider:
       Type: AWS::CloudFormation::Stack
       Properties:
         TemplateURL: !Sub
           - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml
           - { Version: !FindInMap [ParallelCluster, Constants, Version] }
   
     PclusterVpc:
       Type: AWS::CloudFormation::Stack
       Properties:
         Parameters:
           PublicCIDR: 10.0.0.0/24
           PrivateCIDR: 10.0.16.0/20
           AvailabilityZone: !Ref AvailabilityZone
         TemplateURL: !Sub
           - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/networking/public-private-${Version}.cfn.json
           - { Version: !FindInMap [ParallelCluster, Constants, Version ] }
   
     PclusterCluster:
       Type: Custom::PclusterCluster
       Properties:
         ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ]
         ClusterName: !Sub 'c-${AWS::StackName}'
         ClusterConfiguration:
           Image:
             Os: alinux2
           HeadNode:
             InstanceType: t2.medium
             Networking:
               SubnetId: !GetAtt [ PclusterVpc , Outputs.PublicSubnetId ]
             Ssh:
               KeyName: !Ref KeyName
           Scheduling:
             Scheduler: slurm
             SlurmQueues:
             - Name: queue0
               ComputeResources:
               - Name: queue0-cr0
                 InstanceType: t2.micro
               Networking:
                 SubnetIds:
                 -  !GetAtt [ PclusterVpc , Outputs.PrivateSubnetId ]
   Outputs:
     HeadNodeIp:
       Description: The Public IP address of the HeadNode
       Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
   ```

1. Jalankan perintah AWS CLI berikut untuk menyebarkan CloudFormation tumpukan untuk pembuatan dan pengelolaan cluster.

   ```
   $ aws cloudformation deploy --template-file ./cluster_template.yaml \
     --stack-name mycluster \
     --parameter-overrides KeyName=keypair \
                           AvailabilityZone=us-east-2b \
     --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
   ```

## Lihat keluaran CloudFormation cluster
<a name="cfn-custom-resource-view-v3"></a>

Lihat output CloudFormation cluster untuk mendapatkan detail cluster yang berguna. `ValidationMessages`Properti yang ditambahkan menyediakan akses ke pesan validasi dari operasi pembuatan dan pembaruan cluster.

1. Arahkan ke [CloudFormation konsol](https://console.aws.amazon.com/cloudformation/home) dan pilih tumpukan yang menyertakan sumber daya AWS ParallelCluster kustom Anda.

1. Pilih **Stack details**, dan pilih tab **Outputs**.  
![\[Tabel CloudFormation keluaran konsol yang menunjukkan nilai untuk HeadNodeIp dan ValidationMessages.\]](http://docs.aws.amazon.com/id_id/parallelcluster/latest/ug/images/cfn-outputs.png)

   Pesan validasi mungkin terpotong. Untuk informasi selengkapnya tentang cara mengambil log, lihat[AWS ParallelCluster pemecahan masalah](troubleshooting-v3.md).

## Akses klaster Anda
<a name="cfn-custom-resource-access-v3"></a>

Akses cluster.

**`ssh`ke simpul kepala cluster**

1. Setelah penyebaran CloudFormation tumpukan selesai, dapatkan alamat IP node kepala dengan perintah berikut:

   ```
   $ HEAD_NODE_IP=$(aws cloudformation describe-stacks --stack-name=mycluster --query "Stacks|[0].Outputs[?OutputKey=='HeadNodeIp']|[0].OutputValue" --output=text)
   ```

   Anda juga dapat mengambil alamat IP node kepala dari **HeadNodeIp**parameter di tab **Output** tumpukan cluster di CloudFormation konsol.

   Anda dapat menemukan alamat IP node kepala di sini karena ditambahkan di `Outputs` bagian CloudFormation template cluster, khusus untuk contoh cluster ini.

1. Connect ke node kepala cluster dengan menjalankan perintah berikut:

   ```
   $ ssh -i keyname.pem ec2-user@$HEAD_NODE_IP
   ```

## Bersihkan
<a name="cfn-custom-resource-cleanup-v3"></a>

Hapus klaster .

1. Jalankan perintah AWS CLI berikut untuk menghapus CloudFormation tumpukan dan cluster.

   ```
   $ aws cloudformation delete-stack --stack-name=mycluster
   ```

1. Periksa status penghapusan tumpukan dengan menjalankan perintah berikut.

   ```
   $ aws cloudformation describe-stacks --stack-name=mycluster
   ```