Mengimpor dan mengekspor resource Google Cloud yang ada secara massal
Halaman ini menjelaskan perintah config-connector bulk-export
dan cara menggunakannya untuk
mengekspor resource Google Cloud ke dalam file YAML Config Connector
yang kemudian dapat Anda impor ke Config Connector.
config-connector bulk-export
menggunakan
fungsi Ekspor Inventaris Aset Cloud
untuk menemukan resource Google Cloud yang ada. Anda dapat memberikan ekspor Inventaris Aset Cloud atau config-connector
dapat melakukan ekspor atas nama Anda.
Inventaris Aset Cloud mengekspor struktur JSON. Setiap struktur memiliki nama resource, jenis Inventaris Aset, dan resource ancestor-nya: project, folder, dan organisasi. Untuk menemukan jenis yang didukung oleh inventaris aset, lihat Jenis aset yang didukung.
Sebelum memulai
Jika Anda ingin menggunakan alat
config-connector
untuk mengekspor langsung dari Inventaris Aset Cloud, aktifkan Cloud Asset Inventory API di project Google Cloud Identity Anda dengangcloud
.gcloud services enable cloudasset.googleapis.com
Contoh ekspor massal
Dalam contoh ini, Anda membuat PubSubTopic dengan Google Cloud CLI, lalu mengimpornya ke Config Connector.
Buat topik bernama
sample-topic
dengan Google Cloud CLI:gcloud pubsub topics create sample-topic
Anda akan menerima konfirmasi bahwa topik telah dibuat.
Created topic [projects/PROJECT_ID/topics/sample-topic].
Dalam output,
PROJECT_ID
diganti dengan project Google Cloud Anda.Dapatkan nama resource Google Cloud topik dan simpan ke dalam variabel lingkungan dengan perintah berikut:
TOPIC_RESOURCE_NAME=$(gcloud pubsub topics describe sample-topic --format "value(name)")
Untuk mengidentifikasi objek, alat
config-connector
menggunakan struktur JSON Inventaris Aset Cloud. Simpan struktur JSON aset topik ke dalam variabel lingkungan:TOPIC_ASSET='{"name":"//pubsub.googleapis.com/'"${TOPIC_RESOURCE_NAME}"'","asset_type":"pubsub.googleapis.com/Topic"}'
Teruskan aset ke
config-connector bulk-export
dengan menjalankan perintah berikut:echo ${TOPIC_ASSET} | config-connector bulk-export
Output-nya adalah resource Config Connector dalam format YAML.
--- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID name: sample-topic ...
Dalam output,
PROJECT_ID
diganti dengan project Google Cloud Anda.Anda dapat meneruskan resource ini ke Config Connector dengan
kubectl apply -f -
. Untuk meneruskan resource secara langsung, jalankan perintah berikut:echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl apply -f - --namespace CC_NAMESPACE
Ganti CC_NAMESPACE dengan namespace tempat Config Connector mengelola resource.
Config Connector mendapatkan resource.
Pastikan Config Connector mengelola resource dengan
kubectl describe
:kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
Ganti
CC_NAMESPACE
dengan namespace tempat Config Connector mengelola resource.
Pembersihan
Anda dapat menghapus PubSubTopic dengan config-connector bulk-export
dan
kubectl delete
.
echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl delete -f - --namespace CC_NAMESPACE
Ganti CC_NAMESPACE
dengan namespace tempat Config Connector mengelola resource.
Menemukan resource yang akan diimpor
Saat mengimpor resource, Anda dapat melakukan
ekspor Inventaris Aset Cloud dan memberikan
hasilnya ke config-connector bulk-export
atau meminta config-connector bulk-export
untuk melakukannya atas nama
Anda.
Mengimpor dari ekspor Inventaris Aset Cloud
Anda dapat memberikan ekspor inventaris aset dengan memberikan jalur ke file lokal yang berisi ekspor atau menyalurkan hasil ekspor ke config-connector
di STDIN.
Mengimpor dari file lokal
Anda dapat memberikan
ekspor inventaris aset
ke config-connector bulk-export
menggunakan file lokal dengan parameter --input
.
config-connector bulk-export --input ASSET_INVENTORY_EXPORT
Ganti ASSET_INVENTORY_EXPORT
dengan nama file ekspor Cloud Asset Inventory Anda.
Mengimpor dari STDIN
Untuk memberikan ekspor inventaris aset di STDIN, alirkan hasil ekspor ke
config-connector bulk-export
. Misalnya, jika ekspor Anda berada dalam file lokal bernama
export.json
, alirkan konten file ke config-connector bulk-export
tanpa
menyediakan parameter ekspor apa pun.
cat export.json | config-connector bulk-export
Memfilter ekspor Inventaris Aset di STDIN
Untuk memfilter ekspor inventaris aset, Anda dapat menggunakan
alat jq
dan pipe untuk memasukkan
hasil ke config-connector bulk-export
. Misalnya, jika Anda hanya ingin mengimpor
aset PubSubTopic dari file EXPORT_FILE, jalankan perintah
berikut:
cat EXPORT_FILE | jq '. | select( .asset_type == "pubsub.googleapis.com/Topic" )' | config-connector bulk-export
Mengekspor inventaris dengan config-connector
Alat config-connector bulk-export
dapat mengekspor resource dari Hierarki resource Google Cloud.
Mengekspor project
Untuk mengekspor semua resource dari project Anda, gunakan parameter --project
.
config-connector bulk-export --project PROJECT_ID
Ganti PROJECT_ID
dengan project Google Cloud Anda.
Mengekspor folder
Untuk mengekspor semua resource dari folder, gunakan parameter --folder
.
config-connector bulk-export --folder FOLDER_NUMBER
Ganti FOLDER_NUMBER
dengan nomor folder Google Cloud Anda.
Mengekspor organisasi Anda
Untuk mengekspor semua resource dari organisasi Anda, gunakan parameter --organization
.
config-connector bulk-export --organization ORGANIZATION_ID
Ganti ORGANIZATION_ID
dengan ID organisasi Google Cloud Anda.
Lokasi Cloud Storage
Lokasi output ekspor inventaris aset adalah URI Cloud Storage. Saat melakukan ekspor, config-connector bulk-export
akan menggunakan bucket Cloud Storage. Secara default, config-connector bulk-export
membuat bucket sementara. Anda juga dapat menentukan nama bucket.
Bucket Cloud Storage sementara
Jika Anda tidak memberikan parameter --storage-key
, config-connector
bulk-export
akan membuat bucket Cloud Storage sementara atas nama Anda. Bucket
dibuat di lokasi default untuk bucket penyimpanan; multi-region
US
. Bucket akan dihapus saat ekspor selesai.
Menentukan bucket sementara
Untuk menentukan bucket, gunakan URI Cloud Storage dengan parameter storage-key
. Jika URI hanya berupa nama bucket, nama akan dibuat
untuk objek penyimpanan ekspor. Jika URI adalah jalur lengkap ke objek penyimpanan,
jalur lengkap akan digunakan.
config-connector bulk-export --storage-key gs://BUCKET_NAME
Output
Output dari perintah config-connector bulk-export
adalah resource Config Connector dalam format YAML. File YAML ditulis ke
STDOUT secara default. Anda dapat mengarahkan output resource ke file dengan
opsi output
.
Output ke satu file
Saat Anda menetapkan parameter --output
, config-connector bulk-export
akan menulis hasilnya ke
satu file jika salah satu hal berikut berlaku:
- File yang ditentukan oleh
output
ada dan merupakan fileregular
. - File yang ditentukan oleh
output
tidak ada dan direktori induk yang diwakili olehoutput
memang ada.
Output ke direktori
config-connector
menulis hasilnya ke beberapa file jika parameter --output
adalah direktori yang diakhiri dengan /
. config-connector bulk-export
membuat satu
file per resource, dan nama file cocok dengan nama resource-nya.
config-connector bulk-export --project PROJECT_ID --on-error continue --output OUTPUT_DIRECTORY/
Ganti PROJECT_ID
dengan project Google Cloud Anda.
Misalnya, untuk menghasilkan aset dari project my-project
ke direktori
sample
, jalankan perintah berikut:
config-connector bulk-export --project my-project --on-error continue --output sample/
Resource yang didukung
Anda dapat mencetak daftar resource untuk alat config-connector
beserta format nama resource dengan menjalankan perintah berikut:
config-connector print-resources
Opsi command line
Perintah config-connector bulk-export
memiliki opsi berikut:
config-connector bulk-export
--input FILENAME \
--output FILENAME \
--storage-key gs://BUCKET_NAME \
--project PROJECT_ID \
--folder FOLDER_NUMBER \
--organization ORGANIZATION_ID \
--oauth2-token TOKEN \
--on-error [halt | continue | ignore] \
--iam-format [policy | policymember | none] \
--filter-deleted-iam-members [true | false] \
--verbose
--input
: File input Inventaris Aset Cloud.--output
: Jalur file output opsional yang menonaktifkan output standar. Jika berupa file, hasilnya akan berisi semua output perintah; jika berupa direktori, direktori akan berisi file baru untuk setiap resource dalam output.--storage-key
: Menargetkan bucket Cloud Storage sementara untuk diekspor.--project
: Project ID Google Cloud yang akan diekspor--folder
: ID folder Google Cloud yang akan diekspor--organization
: ID organisasi Google Cloud yang akan diekspor.--oauth2-token
: Token OAUTH2 sebagai identitas Google Cloud. Secara default,config-connector
menggunakan kredensial default Google Cloud CLI.--on-error
: Mengontrol perilaku saat terjadi error yang dapat dipulihkan. Opsi adalah 'lanjutkan', 'berhenti', atau 'abaikan'.halt
: menghentikan eksekusi saat terjadi error (default)continue
: terus memproses resource, cetak error ke STDERRignore
: terus memproses resource dan tidak mencetak error
--iam-format
: Menentukan jenis output resource IAM dengan ekspor Anda. Opsi yang tersedia adalahpolicy
(default),policymember
, ataunone
.--filter-deleted-iam-members
: Menentukan apakah akan memfilter akun utama IAM yang dihapus. Opsinya adalahtrue
ataufalse
. Nilai defaultnya adalahfalse
.--verbose
: Mengaktifkan logging panjang.
Langkah selanjutnya
- Baca tentang cara Config Connector mendapatkan resource Google Cloud yang ada
- Pelajari Inventaris Aset Cloud dan Mengekspor aset ke Cloud Storage.
- Pelajari resource yang didukung Config Connector.