AWSManagementService

AWSManagementServiceResource ini berisi informasi konfigurasi untuk layanan pengelolaan GKE di AWS Anda.

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

Isi file anthos-gke.yaml Anda bergantung pada apakah Anda menggunakan anthos-gke untuk membuat Virtual Private Cloud (VPC) AWS khusus untuk Anda, atau apakah Anda menggunakan VPC AWS yang 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-kolom ini.

spec.version

Nilai spec.version adalah versi layanan pengelolaan yang dibuat anthos- gke. Versi ini 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 dengan nama resource Amazon (ARN) pengguna IAM AWS dengan izin untuk membuat layanan pengelolaan GKE di AWS. Contohnya, arn:aws:iam::123456789:user/someuser.

spec.kmsKeyARN

Nilai spec.kmsKeyARN adalah string dengan nama resource Amazon (ARN) atau alias kunci AWS KMS yang dibuat di 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 (ARN) Amazon atau alias kunci dari kunci AWS KMS yang digunakan GKE di AWS untuk mengenkripsi rahasia lapisan aplikasi dalam cluster. Contoh, 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 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 dari. Kolom ini tidak digunakan lagi di GKE di AWS 1.5. Gunakan spec.bastionHost di 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 diizinkan untuk mengakses SSH dalam VPC. list(string) [sg-00123456789abcd, sg-00123456789def1]

spec.googleCloud

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

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

spec.googleCloud.serviceAccountKeys

Kolom di bagian spec.googleCloud.serviceAccountKeys mencakup jalur file lokal ke kunci akun layanan GCP. Lihat Prasyarat untuk mengetahui deskripsi mendetail 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 GKE Hub Connect Agent 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 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 host bastion.

Bastion host adalah instance EC2 yang ditempatkan di subnet publik. Hal ini memungkinkan akses SSH inbound dari blok CIDR tertentu dan memiliki akses SSH outbound ke cluster pengguna dan layanan pengelolaan GKE di AWS.

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

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

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

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

Nama Deskripsi Jenis Contoh
subnetID ID subnet tempat host bastion berjalan. Untuk penginstalan existingVPC, subnet harus mengizinkan ingress dari tempat Anda akan mengaksesnya di port 22. Selain itu, pastikan VPC Anda mengizinkan akses masuk dari subnet ini. Untuk penginstalan dedicatedVPC, jangan tentukan kolom ini. GKE di AWS akan menyediakan subnet dengan akses yang diperlukan. string subnet-003bdf7b0f5e21e45
allowedSSHCIDRBlocks Blok CIDR untuk mengizinkan akses SSH masuk dari. list(string) [104.132.0.0/14]
rootVolume Objek yang menjelaskan volume root host bastion. 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 bastion host
Nama Deskripsi Jenis Contoh Wajib
volumeType Jenis volume EBS AWS node. Dapat berupa gp2 (default) atau gp3. string gp2 tidak
iops Jumlah operasi input/output per detik (IOPS) yang disediakan untuk volume. Hanya valid jika volumeType adalah GP3. Untuk mengetahui informasi selengkapnya, lihat Volume SSD Tujuan Umum (gp3). integer 5000 tidak
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

spec.tags

Nama Deskripsi Jenis Contoh
tags Metadata nilai/kunci opsional yang ditetapkan ke setiap resource AWS yang mendukung layanan pengelolaan. map(string) {Environment: Production, Team: Analytics}

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 layanan pengelolaan GKE di AWS dalam 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 agar tidak membuat layanan pengelolaan.

Nama Deskripsi Jenis Contoh
invokeManually Kolom opsional yang mengonfigurasi alat command line anthos-gke agar tidak membuat layanan pengelolaan setelah membangun dan memvalidasi konfigurasi Anda. Jika Anda menyetel 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 agar Terraform dapat menyimpan data konfigurasinya. string example-GCS-bucket