既存の Google Cloud リソースの名前別のインポートとエクスポート
このページでは、config-connector export
コマンドと、そのコマンドを使用して Google Cloud リソースを Config Connector の YAML ファイルにエクスポートする方法について説明します。YAML ファイルは、その後 Config Connector にインポートできます。
config-connector export
を使用して、既存の Google Cloud リソースをエクスポートできます。リソースのフルネームを config-connector export
に渡すと、config-connector
によって Config Connector にインポート可能な YAML マニフェストが生成されます。
Config Connector にインポートする Google Cloud リソースが同じ名前ですでに存在する場合は、そのリソースが Config Connector の管理下に置かれ、指定した YAML で管理されます。この場合、指定した YAML に不変フィールドの変更が含まれているか、構成にその他の問題がある場合を除いて、Config Connector はエラーを生成しません。
始める前に
始める前に、config-connector
ツールをインストールします。
エクスポートの例
この例では、Google Cloud CLI で PubSubTopic を作成し、Config Connector にインポートします。
sample-topic
という名前のトピックを作成します。gcloud pubsub topics create sample-topic
トピックが作成されたという確認を受け取ります。
Created topic [projects/PROJECT_ID/topics/sample-topic].
この出力の
PROJECT_ID
は、Google Cloud プロジェクトに置き換えられます。次のコマンドを使用して、トピックの Google Cloud リソース ID を取得し、環境変数に保存します。
TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
リソースを識別するため、
config-connector export
は完全なリソース名を使用します。次のコマンドを使用して、トピックのリソース名を環境変数に保存します。TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
次のコマンドを実行して、
config-connector export
を使用してトピックをエクスポートします。config-connector export ${TOPIC_RESOURCE_NAME}
出力は、YAML 形式の Config Connector リソースです。
--- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID name: sample-topic ...
この出力の
PROJECT_ID
は、Google Cloud プロジェクトに置き換えられます。このリソースを、
kubectl apply -f -
を使用して Config Connector に渡すことができます。リソースを直接渡すには、次のコマンドを実行します。config-connector export ${TOPIC_RESOURCE_NAME} | kubectl apply -f - --namespace CC_NAMESPACE
CC_NAMESPACE
は、Config Connector がリソースを管理する名前空間に置き換えます。Config Connector がリソースを取得します。
kubectl describe
で Config Connector がリソースを管理していることを確認します。kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
CC_NAMESPACE
は、Config Connector がリソースを管理する名前空間に置き換えます。
サポートされているリソース
次のコマンドを実行すると、config-connector
ツールのリソースのリストをリソース名の形式とともに出力できます。
config-connector print-resources
コマンドライン オプション
config-connector export
コマンドには次のオプションがあります。
config-connector export RESOURCE_NAME \
--output FILENAME \
--oauth2-token TOKEN \
--iam-format [policy | policymember | none] \
--filter-deleted-iam-members [true | false] \
--verbose
--output
: 標準出力を無効にする出力ファイルのパス(省略可)。ファイルの場合、結果にはすべてのコマンド出力が含まれます。ディレクトリの場合、出力リソースごとに新しいファイルがディレクトリに追加されます。--oauth2-token
: Google Cloud ID としての OAUTH2 トークン。デフォルトでは、config-connector
は Google Cloud CLI のデフォルト認証情報を使用します。--iam-format
: エクスポートにより出力される IAM リソースの種類を指定します。指定できる値は、policy
(デフォルト)、policymember
、none
のいずれかです。--filter-deleted-iam-members
: 削除された IAM プリンシパルを除外するかどうかを指定します。true
かfalse
を指定できます。デフォルト値はfalse
です。--verbose
: 詳細ロギングを有効にします。
次のステップ
- Config Connector が既存の Google Cloud リソースを取得する方法を確認する。
- Config Connector がサポートするリソースについて学習する。