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 file YAML Config Connector
yang selanjutnya dapat Anda impor ke Config Connector.
config-connector bulk-export
penggunaan
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 untuk 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 Google Cloud Project Identity dengangcloud
.gcloud services enable cloudasset.googleapis.com
Contoh ekspor massal
Dalam contoh ini, Anda membuat PubSubTopic dengan Google Cloud CLI, mengimpornya ke Config Connector.
Buat topik bernama
sample-topic
dengan Google Cloud CLI:gcloud pubsub topics create sample-topic
Anda menerima konfirmasi bahwa topik telah dibuat.
Created topic [projects/PROJECT_ID/topics/sample-topic].
Dalam output,
PROJECT_ID
diganti dengan project Google Cloud Anda.Mendapatkan nama resource Google Cloud topik dan menyimpannya 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 JSON Inventaris Aset Cloud Google. Menyimpan struktur JSON aset topik ke dalam lingkungan variabel: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
Mengganti CC_NAMESPACE dengan namespace yang Config Connector mengelola resource.
Konektor Konfigurasi mendapatkan resource.
Memastikan bahwa Config Connector mengelola resource dengan
kubectl describe
:kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
Mengganti
CC_NAMESPACE
dengan namespace yang 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
Mengganti CC_NAMESPACE
dengan namespace yang Config Connector
mengelola resource.
Menemukan resource untuk diimpor
Saat mengimpor resource, Anda dapat melakukan
Mengekspor Inventaris Aset Cloud dan menyediakan
hasil ke config-connector bulk-export
atau membuat config-connector bulk-export
menayangkannya di situs Anda
nama Anda.
Mengimpor dari ekspor Inventaris Aset Cloud
Anda dapat menyediakan ekspor inventaris aset dengan memberikan jalur ke file lokal
yang berisi ekspor atau menyisipkan hasil ekspor ke config-connector
tentang 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 Inventaris Aset Cloud Anda
ekspor.
Mengimpor dari STDIN
Untuk memberikan ekspor inventaris aset di STDIN, teruskan hasil ekspor ke
config-connector bulk-export
. Misalnya, jika ekspor Anda berada dalam file lokal bernama
export.json
, teruskan konten file ke config-connector bulk-export
tanpa
yang menyediakan salah satu parameter ekspor.
cat export.json | config-connector bulk-export
Memfilter ekspor Inventaris Aset di STDIN
Untuk memfilter ekspor inventaris aset, Anda dapat menggunakan
Alat dan pipa jq
untuk memasukkan
hasil ke config-connector bulk-export
. Misalnya, jika Anda hanya ingin mengimpor
Aset PubSubTopic dari file EXPORT_FILE, jalankan perintah berikut
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 Google Cloud
Hierarki resource.
Mengekspor project Anda
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 Anda
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 --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. Kapan
config-connector bulk-export
melakukan ekspor, lalu 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. Tujuan
bucket dibuat di lokasi default untuk bucket penyimpanan; US
multi-region. Bucket akan dihapus saat
ekspor selesai.
Menentukan bucket sementara
Untuk menentukan bucket, gunakan URI Cloud Storage dengan storage-key
. Jika URI hanya berupa nama bucket, nama akan dibuat
untuk objek penyimpanan ekspor. Jika URI adalah jalur
lengkap ke objek penyimpanan,
maka jalur lengkap digunakan.
config-connector bulk-export --storage-key gs://BUCKET_NAME
Output
Output dari perintah config-connector bulk-export
akan
Resource Config Connector dalam format YAML. File YAML ditulis ke
STDOUT secara {i>default<i}. Anda bisa mengarahkan output resource ke file dengan
output
.
Output ke satu file
Saat Anda menetapkan parameter --output
, config-connector bulk-export
akan menulis hasilnya ke
file tunggal jika salah satu kondisi berikut terpenuhi:
- File yang disebutkan oleh
output
sudah ada dan merupakan Fileregular
. - File yang ditentukan oleh
output
tidak ada dan direktori induk yang direpresentasikan olehoutput
memang ada.
Output ke direktori
config-connector
menulis hasilnya ke beberapa file saat --output
parameter adalah direktori yang berakhiran /
. config-connector bulk-export
membuat satu
per sumber daya, dan nama file
sesuai dengan nama sumber dayanya.
config-connector bulk-export --project PROJECT_ID --on-error continue --output OUTPUT_DIRECTORY/
Ganti PROJECT_ID
dengan project Google Cloud Anda.
Misalnya, untuk menghasilkan output aset dari project my-project
ke 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
bersama dengan 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. Ketika seorang {i>file<i}, hasilnya berisi semua {i>output<i} perintah; ketika sebuah direktori, direktori akan berisi file baru untuk setiap sumber daya dalam {i>output<i}.--storage-key
: Menargetkan bucket Cloud Storage sementara untuk diekspor.--project
: ID project 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 Google Cloud Identity. Secara default,config-connector
menggunakan Kredensial default Google Cloud CLI.--on-error
: Mengontrol perilaku saat terjadi error yang dapat dipulihkan. Opsi adalah 'lanjutkan', 'halt', atau 'abaikan'.halt
: menghentikan eksekusi pada error apa pun (default)continue
: melanjutkan pemrosesan resource, cetak error ke STDERRignore
: lanjutkan memproses resource dan jangan mencetak error
--iam-format
: Menentukan jenis output resource IAM dengan ekspor Anda. Opsinya 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 cara Config Connector mengakuisisi resource Google Cloud yang ada
- Pelajari Inventaris Aset Cloud dan Mengekspor aset ke Cloud Storage.
- Pelajari resource yang didukung Config Connector.