Tüm Ürünler
Search
Belge Merkezi

Elastic Compute Service:Get started with the Enclave CLI

Son Güncelleme:Sep 30, 2026

Bu konu, enklavları destekleyen bir örnekte Enclave CLI kullanarak enklavın nasıl oluşturulacağını, başlatılacağını ve durdurulacağını açıklar.

Yordam

  1. Enklav etkinleştirilmiş bir örnek oluşturun ve enklav için kaynakları önceden ayırın.

    Daha fazla bilgi için bkz. Enklavlar için gizli bilgi işlem ortamı kurma.

  2. Bir enklav görüntü dosyası oluşturun.

    Enclave CLI uygulamasını yükledikten sonra, bir enklav görüntü dosyası oluşturmak için /usr/share/ali-enclaves/examples/hello dizinindeki örnek Dockerfile dosyasını kullanın.

    1. latest etiketine sahip hello adlı bir Docker görüntüsü oluşturmak için aşağıdaki komutu çalıştırın.

      sudo docker build /usr/share/ali-enclaves/examples/hello -t hello
    2. Docker görüntüsünün oluşturulduğunu doğrulamak için aşağıdaki komutu çalıştırın.

      sudo docker images hello:latest

      Çıktıda latest etiketli hello Docker görüntüsü yer alıyorsa görüntü başarıyla oluşturulmuş demektir.

      [test@i22ze8kho0z4u_ ~]$ sudo docker images hello:latest
      REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
      hello         latest    66d39ebd3dbc   22 seconds ago   4.26MB
    3. hello.eif adlı bir enklav görüntü dosyası oluşturmak için aşağıdaki komutu çalıştırın.

      sudo enclave-cli build-enclave --docker-uri hello:latest --output-file hello.eif

      Hata bildirilmezse oluşturma işlemi başarılı olur ve hello.eif enklav görüntü dosyası oluşur. Çıktıda yer alan PCR (Platform Yapılandırma Kaydı) değerleri, enklavın ölçüm karmalarıdır ve uzak onaylama için kullanılabilir. Aşağıda örnek bir çıktı gösterilmektedir:

      Start building the Enclave Image...
      Enclave Image successfully created.
      {
        "Measurements": {
          "HashAlgorithm": "Sha256 { ... }",
          "PCR11": "dc5dcd841f87e2b6c0e65a11b46b25ebe2999a8a5f0318e10c0175b60000****",
          "PCR8": "2c6944f47864f1f8ab276000a9f057fcdf9f56a015c0bc5e2339f24b0000****",
          "PCR9": "8ef5fe53a7709cc1c1a0aa7b5149a55bcd524cccc9f43e7a3baf44ca0000****"
        }
      }
  3. Enklavı başlatmak için aşağıdaki komutu çalıştırın.

    Bu komut, hello.eif görüntü dosyasından hata ayıklama modunda bir enklav başlatır ve enklavı 2 vCPU ile 1024 MiB bellek kullanacak şekilde yapılandırır. Parametrelerle ilgili daha fazla bilgi için bkz. Enklav çalıştırma.

    sudo enclave-cli run-enclave --cpu-count 2 --memory 1024 --eif-path hello.eif --debug-mode

    Aşağıdaki çıktı, enklavın başarıyla başlatıldığını gösterir. Bu örnekte enklav kimliği 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1 şeklindedir. Enclave CLI kullanarak enklavı yönetirken bu kimliği belirtmeniz gerekir.

    Not

    Bu enklavın CID'si (Bağlam Tanımlayıcısı) 4'tür ve sistem tarafından otomatik olarak atanır. vsock, hata ayıklama modunda çalışmayan bir enklav ile örnek arasındaki tek iletişim kanalıdır.

    Start allocating memory...
    Started enclave with enclave-cid: 4, memory: 1024 MiB, cpu-ids: [2, 3]
    {
        "EnclaveID": "4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1",
        "ProcessID": 1234,
        "EnclaveCID": 4,
        "NumberOfCPUs": 2,
        "CPUIDs": [
            2,
            3
        ],
        "MemoryMiB": 1024
    }
  4. Enklavın durumunu kontrol etmek için aşağıdaki komutu çalıştırın.

    enclave-cli describe-enclaves

    Çıktıda enklav kimliği, vCPU sayısı, bellek boyutu ve durum gibi bilgiler görüntülenir. RUNNING durumu, enklavın çalıştığını gösterir.

    [
      {
        "EnclaveID": "4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1",
        "ProcessID": 1234,
        "EnclaveCID": 4,
        "NumberOfCPUs": 2,
        "CPUIDs": [
          2,
          3
        ],
        "MemoryMiB": 1024,
        "State": "RUNNING",
        "Flags": "DEBUG_MODE"
      }
    ]

    Enklav hata ayıklama modunda çalıştığından konsol çıktısını görüntülemek için aşağıdaki komutu da çalıştırabilirsiniz.

    enclave-cli console --enclave-id 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1

    Enklav çalışıyorsa çıktı aşağıdakine benzer:

    [   1] Hello from the enclave side!
    [   2] Hello from the enclave side!
    [   3] Hello from the enclave side!
    ...
    Not

    Bu örnekte enklav, her beş saniyede bir Hello from the enclave side! mesajını yazdırır. Parantez içindeki sayı mesaj sayısını gösterir.

  5. Enklavı sonlandırmak için aşağıdaki komutu çalıştırın.

    sudo enclave-cli terminate-enclave --enclave-id 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1

    Aşağıdaki çıktı, enklavın başarıyla sonlandırıldığını gösterir.

    Successfully terminated enclave 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1.
    {
      "EnclaveID": "12345678-1234-5678-1234-12345678****-enc1",
      "Terminated": true
    }