AWSManagementService

Resource AWSManagementService berisi informasi konfigurasi untuk GKE Anda di layanan pengelolaan AWS.

Anda mengonfigurasi file YAML bernama anthos-gke.yaml sebelum membuat layanan pengelolaan. Alat anthos-gke menggunakan konfigurasi tersebut saat membuat layanan pengelolaan Anda.

Isi file anthos-gke.yaml bergantung pada apakah Anda menggunakan anthos-gke untuk membuat VPC (VPC) AWS khusus untuk Anda, atau apakah Anda menggunakan VPC AWS yang sudah ada.

VPC Khusus

apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
  name: management
spec:
  version: ANTHOS_CLI_VERSION
  region: AWS_REGION
  authentication:
    awsIAM:
      adminIdentityARNs:
      - ADMIN_AWS_IAM_ARN
  kmsKeyARN: KMS_KEY_ARN
  databaseEncryption:
    kmsKeyARN: KMS_KEY_ARN
  googleCloud:
    projectID: GCP_PROJECT_ID
    serviceAccountKeys:
      managementService: MANAGEMENT_KEY_PATH
      connectAgent: CONNECT_KEY_PATH
      node: NODE_KEY_PATH
  iam:
      permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
      path: IAM_PATH
  dedicatedVPC:
    vpcCIDRBlock: VPC_CIDR_BLOCK
    availabilityZones:
    - ZONE_1
    - ZONE_2
    - ZONE_3
    privateSubnetCIDRBlocks:
    - PRIVATE_CIDR_BLOCK_1
    - PRIVATE_CIDR_BLOCK_2
    - PRIVATE_CIDR_BLOCK_3
    publicSubnetCIDRBlocks:
    - PUBLIC_CIDR_BLOCK_1
    - PUBLIC_CIDR_BLOCK_2
    - PUBLIC_CIDR_BLOCK_3
  # Optional section
  rootVolume:
    volumeType: ROOT_VOLUME_TYPE
    iops: ROOT_VOLUME_IOPS
    kmsKeyARN: ROOT_VOLUME_KEY
  dataVolume:
    volumeType: DATA_VOLUME_TYPE
    iops: DATA_VOLUME_IOPS
    kmsKeyARN: DATA_VOLUME_KEY
  tags:
    tag-name: tag-value
  bastionHost:
    allowedSSHCIDRBlocks:
    - SSH_CIDR_BLOCK
    rootVolume:
      volumeType: ROOT_VOLUME_TYPE
      iops: ROOT_VOLUME_IOPS
      kmsKeyARN: ROOT_VOLUME_KEY
  bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
  proxy: PROXY_JSON_FILE
  terraform:
    invokeManually: No
    stateGCSBucket: GCS_BUCKET_NAME

VPC yang ada

apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
  name: management
spec:
  version: ANTHOS_CLI_VERSION
  region: AWS_REGION
  authentication:
    awsIAM:
      adminIdentityARNs:
      - ADMIN_AWS_IAM_ARN
  kmsKeyARN: KMS_KEY_ARN
  databaseEncryption:
    kmsKeyARN: KMS_KEY_ARN
  securityGroupIDs:
    - SECURITY_GROUP_IDS
  googleCloud:
    projectID: GCP_PROJECT_ID
    serviceAccountKeys:
      managementService: MANAGEMENT_KEY_PATH
      connectAgent: CONNECT_KEY_PATH
      node: NODE_KEY_PATH
  iam:
      permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
      path: IAM_PATH
  existingVPC:
    subnetID: [MANAGEMENT_SUBNET_ID]
    allowedSSHSecurityGroupIDs: [SSH_SECURITY_GROUPS]
  # Optional fields
  rootVolume:
    volumeType: ROOT_VOLUME_TYPE
    iops: ROOT_VOLUME_IOPS
    kmsKeyARN: ROOT_VOLUME_KEY
  dataVolume:
    volumeType: DATA_VOLUME_TYPE
    iops: DATA_VOLUME_IOPS
    kmsKeyARN: DATA_VOLUME_KEY
  ubuntuRepositoryMirror: 'packages.cloud.google.com'
  bastionHost:
    subnetID: [BASTION_HOST_SUBNET_ID]
    allowedSSHCIDRBlocks:
    - [SSH_CIDR_BLOCK]
    rootVolume:
      volumeType: ROOT_VOLUME_TYPE
      iops: ROOT_VOLUME_IOPS
      kmsKeyARN: ROOT_VOLUME_KEY
  bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
  tags:
    tag-name: tag-value
  proxy: PROXY_JSON_FILE
  terraform:
    invokeManually: No
    stateGCSBucket: GCS_BUCKET_NAME

Bagian berikut menjelaskan kolom ini.

spec.version

Nilai spec.version adalah versi layanan pengelolaan yang dibuat anthos- gke. Versi cocok dengan output anthos-gke version. Misalnya, aws-1.14.1-gke.0.

spec.region

Nilai spec.region adalah region AWS tempat Anda ingin men-deploy layanan pengelolaan. Misalnya, us-east-1.

spec.authentication.awsIAM

Nilai spec.authentication.awsIAM.adminIdentityARNs adalah string berisi nama resource Amazon (ARN) pengguna IAM AWS dengan izin untuk membuat GKE pada layanan pengelolaan AWS. Contohnya, arn:aws:iam::123456789:user/someuser.

spec.kmsKeyARN

Nilai spec.kmsKeyARN adalah string dengan nama resource Amazon (ARN) atau alias dari kunci AWS KMS yang dibuat dalam Prasyarat. GKE di AWS menggunakan kunci untuk enkripsi envelope. Contoh, arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.

spec.databaseEncryption

Nilai spec.databaseEncryption.kmsKeyARN adalah string dengan nama resource Amazon (ARN) atau alias kunci dari kunci AWS KMS yang digunakan GKE di AWS untuk mengenkripsi secret lapisan aplikasi dalam cluster. Misalnya, arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.

spec.securityGroupIDs

Nilai spec.securityGroupIDs adalah daftar ID grup keamanan AWS tambahan yang ditetapkan ke VM layanan pengelolaan. Misalnya [sg-00123456789abcd, sg-00123456789def1]`.

spec.dedicatedVPC

Kolom ini menunjukkan setelan VPC yang diinginkan.

Nama Deskripsi Jenis Contoh
vpcCIDRBlock Blok CIDR dari VPC AWS yang Anda inginkan. Harus antara /16 dan /28 bit. string 10.0.0.0/16
availabilityZones Zona ketersediaan untuk men-deploy replika bidang kontrol. Setiap zona akan memiliki subnetnya sendiri dan memerlukan blok CIDR terpisah. list(string) [us-east-1a, us-east-1b]
privateSubnetCIDRBlocks Blok CIDR untuk subnet pribadi dalam VPC di setiap zona ketersediaan. Harus berupa subset dari vpcCIDRBlock. Anda harus memiliki satu subnet per zona ketersediaan. list(string) [10.0.101.0/24, 10.0.102.0/24]
publicSubnetCIDRBlocks Blok CIDR untuk subnet publik dalam VPC di setiap zona ketersediaan. Harus berupa subset dari vpcCIDRBlock. Anda harus memiliki satu subnet per zona ketersediaan. list(string) [10.0.1.0/24, 10.0.2.0/24]
bastionAllowedSSHCIDRBlocks Blok CIDR untuk mengizinkan akses SSH masuk. Kolom ini tidak digunakan lagi di GKE pada AWS 1.5. Gunakan spec.bastionHost dalam versi 1.5 atau yang lebih tinggi. string [104.132.0.0/14]

spec.existingVPC

Kolom di bagian spec.existingVPC mengonfigurasi GKE di AWS untuk menggunakan VPC AWS yang ada.

Nama Deskripsi Jenis Contoh
subnetID ID subnet tempat layanan pengelolaan berjalan. string subnet-00123456789ab
allowedSSHSecurityGroupIDs Daftar ID grup keamanan yang mengizinkan akses SSH dalam VPC. list(string) [sg-00123456789abcd, sg-00123456789def1]

spec.googleCloud

Kolom di bagian spec.googleCloud mengonfigurasi kunci akun layanan IAM dan project Google Cloud Anda.

Nama Deskripsi Jenis Contoh
projectID Project Google Cloud Google Cloud. string my-gcp-project-id
serviceAccountKeys Jalur file ke kunci akun layanan. serviceAccountKeys

spec.googleCloud.serviceAccountKeys

Kolom di bagian spec.googleCloud.serviceAccountKeys berisi jalur file lokal ke kunci akun layanan GCP. Lihat Prasyarat untuk deskripsi mendetail tentang setiap kunci.

Nama Deskripsi Jenis Contoh
managementService Kunci akun layanan yang digunakan oleh cluster pengelolaan string path/to/key/management-sa-key.json
connectAgent Kunci akun layanan yang digunakan oleh Agen GKE Hub Connect string path/to/key/hub-sa-key.json
node Kunci akun layanan yang digunakan oleh node string path/to/key/node-sa-key.json

spec.iam

Kolom di bagian spec.iam mengonfigurasi parameter IAM AWS opsional untuk lingkungan GKE di AWS Anda.

Nama Deskripsi Jenis Contoh
permissionsBoundary ARN tentang Batas izin untuk peran IAM string arn:aws:iam::126285863215:policy/testPolicyBoundary
jalur Jalur ke peran IAM string /org_abc/team_abc/member_abc/

spec.bastionHost

Bagian spec.bastionHost bersifat opsional dan menjelaskan bastion host.

Bastion host adalah instance EC2 yang ditempatkan di subnet publik. Fungsi ini memungkinkan akses SSH masuk dari blok CIDR tertentu dan memiliki akses SSH keluar ke GKE Anda pada layanan pengelolaan AWS dan cluster pengguna.

Anda dapat membuat bastion host untuk penginstalan dedicatedVPC atau existingVPC. Kolom allowedSSHCIDRBlocks menentukan rentang alamat masuk yang diizinkan, dan tidak boleh kosong.

Jika bastion host tidak ada, GKE di AWS akan membuat bastion host baru.

  • Untuk penginstalan dedicatedVPC, GKE di AWS akan membuat subnet.
  • Untuk penginstalan existingVPC, Anda harus menyediakan subnet untuk bastion host dan memastikan subnet ini memiliki konektivitas ke VPC Anda.

Anda dapat mengubah bastion host dengan mengubah atau menghapus kolom spec.bastionHost dan menjalankan anthos-gke aws management init, yang diikuti dengan anthos-gke aws management apply.

Nama Deskripsi Jenis Contoh
subnetID ID subnet tempat bastion host berjalan. Untuk penginstalan existingVPC, subnet harus mengizinkan traffic masuk dari tempat Anda akan mengaksesnya di port 22. Selain itu, pastikan VPC Anda mengizinkan akses masuk dari subnet ini. Untuk penginstalan dedicatedVPC, jangan tetapkan kolom ini. GKE di AWS akan menyediakan subnet dengan akses yang diperlukan. string subnet-003bdf7b0f5e21e45
allowedSSHCIDRBlocks Blok CIDR untuk mengizinkan akses SSH masuk. list(string) [104.132.0.0/14]
rootVolume Objek yang menjelaskan volume root bastion host. object {volumeType: gp2}

spec.rootVolume, spec.dataVolume, dan spec.bastionHost.rootVolume

Tabel berikut menjelaskan kolom umum untuk objek berikut:

  • spec.rootVolume, untuk volume disk root bidang kontrol
  • spec.dataVolume, untuk volume disk data bidang kontrol
  • spec.bastionHost.rootVolume, untuk volume disk root host bastion
Nama Deskripsi Jenis Contoh Diperlukan
volumeType Jenis volume EBS AWS node. Dapat berupa gp2 (default) atau gp3. string gp2 tidak ada
iops Jumlah operasi IO per detik (IOPS) yang disediakan untuk volume. Hanya berlaku jika volumeType adalah GP3. Untuk informasi selengkapnya, lihat Volume SSD Tujuan Umum (gp3). integer 5000 tidak ada
kmsKeyARN ARN kunci AWS KMS yang digunakan untuk mengenkripsi volume EBS. Untuk mengetahui informasi selengkapnya, lihat Menggunakan CMK yang dikelola pelanggan untuk mengenkripsi volume. string arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee tidak ada

spec.tags

Nama Deskripsi Jenis Contoh
tags Metadata kunci/nilai opsional yang ditetapkan ke setiap resource AWS yang mendukung layanan pengelolaan. map(string) {Lingkungan: Produksi, Tim: Analisis}

spec.proxy

Kolom spec.proxy mengonfigurasi proxy HTTP/HTTPS opsional.

Nama Deskripsi Jenis Contoh
proxy Jalur ke file konfigurasi proxy. Jalur relatif dari anthos-gke.yaml proxy.json

spec.bootstrapS3Bucket

Kolom spec.bootstrapS3Bucket mengonfigurasi nama bucket S3 untuk GKE di AWS .

Nama Deskripsi Jenis Contoh
bootstrapS3Bucket Kolom opsional untuk nama bucket AWS S3 tempat GKE di AWS menyimpan informasi konfigurasi. Jika Anda ingin membuat beberapa GKE pada layanan pengelolaan AWS di region AWS yang sama, tetapkan nilai ini ke nama bucket yang unik. string example-s3-bucket

spec.terraform

Kolom spec.terraform.invokeManually mengonfigurasi perintah anthos-gke untuk tidak membuat layanan pengelolaan.

Nama Deskripsi Jenis Contoh
invokeManually Kolom opsional yang mengonfigurasi alat command line anthos-gke agar tidak membuat layanan pengelolaan setelah membuat dan memvalidasi konfigurasi Anda. Jika menetapkan invokeManually ke Yes, Anda dapat mengedit dan menerapkan file konfigurasi Terraform secara manual. Yes, No Yes
stateGCSBucket Kolom opsional yang menentukan bucket Google Cloud Storage yang sudah ada untuk Terraform guna menyimpan data konfigurasinya. string example-GCS-bucket