網頁

2023/2/12

Golang 建立GCP Interconnect Cloud Router

Go以Google API Client Libraries來建立GCP Interconnect Cloud Router。



事前要求

參考「GCP 設定本機應用程式存取憑證 Application Default Credentials」設定credential。


下載API modules

在專案根目錄執行以下命令下載需要的google-api-go-client modules。



建立Cloud Router

呼叫compute.RouterService.Insert輸入project id、region、compute.Router參數來建立Cloud Router。

compute.Router參數屬性如下:

  • compute.Router.Name - 輸入cloud router的名稱。
  • compute.Router.Network - 輸入套用的VPC的uri(full resource name)。
  • compute.Router.BGP - 輸入compute.RouterBgp
    • AdvertiseMode - 輸入BGP advertisement mode,這邊為DEFAULT
    • Asn - ASN號碼,預設為16550

main.go

package main

import (
    "context"

    compute "google.golang.org/api/compute/v1"
)

func main() {
    ctx := context.Background()
    service, err := compute.NewService(ctx)
    if err != nil {
        panic(err)
    }
    routersService := compute.NewRoutersService(service)

    projectId := "project-id-1"
    region := "asia-east1"
    router := &compute.Router{
        Name:    "demo-cloudrouter-002",
        Network: "projects/project-id-1/global/networks/demo-vpc-001",
        Bgp: &compute.RouterBgp{
            AdvertiseMode: "DEFAULT",
            Asn:           int64(16550),
        },
    }

    call := routersService.Insert(projectId, region, router)
    _, err = call.Do()
    if err != nil {
        panic(err)
    }
}

github


測試

執行Go應用程式後,在GCP console查看新建的Cloud router如下。




沒有留言:

張貼留言