Go以AWS提供的SDK aws-sdk-go-v2
來建立Direct Connect Connection。
範例環境:
- Go 1.19
事前要求
參考「AWS 建立IAM管理使用者及credentials」設定供應用程式存取AWS需要的credentials。
參考「Golang 建立AWS Direct Connect API client」建立Direct Connect API client。
建立Diret Connect Connection
呼叫directconnect.Client.CreateConnection
傳入參數directconnect.CreateConnectionInput
來建立Direct Connect Connection。
directconnect.CreateConnectionInput
的屬性Location
、Bandwidth
、ProviderName
等可參考在AWS Console建立Direct Connect Connection的選單值。
main.go
package main
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/directconnect"
)
func main() {
ctx := context.TODO()
client := NewDirectConnectClient(ctx)
connectionName := "demo-connection-001"
location := "CHT51" // Chunghwa Telecom, Taipei, TWN
bandWidth := "1Gbps"
providerName := "Chunghwa Telecom"
params := &directconnect.CreateConnectionInput{
ConnectionName: &connectionName,
Location: &location,
Bandwidth: &bandWidth,
ProviderName: &providerName,
}
output, err := client.CreateConnection(ctx, params)
if err != nil {
panic(err)
}
fmt.Println(*output.ConnectionId) // dxcon-fg5kq63s
}
func NewDirectConnectClient(ctx context.Context) *directconnect.Client {
cfg, err := config.LoadDefaultConfig(
ctx,
config.WithRegion("ap-northeast-1"),
)
if err != nil {
panic(err)
}
return directconnect.NewFromConfig(cfg) // Create an Amazon Direct Connect service client
}
測試
執行Go應用程式輸出以下結果。
dxcon-fg5kq63s
在AWS Console檢視剛由Go程式建立的Direct Connect Connection。
沒有留言:
張貼留言