地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

DRのパターン

DRのパターン

バックアップ&リストア 定期的にバックアップを作成して遠隔地保管しておきます。 障害発生時にはバックアップからシステム復旧を行います。 パイロットライト 別の場所に低スペックのDBを起動してデータの同期を行います。 障害発生時には別の場所(リージョン)でアプリケーションを起動してDBのスペックを高めて対応します。 ウォームスタンバイ 別の場所にスペックを下げた同じ構成のシステムを動作させておきます。 障害発生時にはスペックを高めて、DNSを切り替えて対応します。 マルチサイトアクティブアクティブ 別の場所に同じ構成のシステムを常時起動させます。 障害発生時にはDNSを切り替えて対応します。

【AWS】samconfig.toml の parameter_overrides は配列で指定可能

version = 0.1
[default]
[default.deploy]
[default.deploy.parameters]
stack_name = "sam-app"
s3_bucket = "aws-sam-cli-managed-default-samclisourcebucket-1ru428utn0xc6"
s3_prefix = "sam-app"
region = "ap-northeast-1"
capabilities = "CAPABILITY_IAM"
parameter_overrides = "param1=\"abc\" param2=\"def\""
image_repositories = []

parameter_overridesが読みづらいが以下のように書くことができた

parameter_overrides = [
    "param1=abc",
    "param2=def"
]

【Go】AWS SSMのパラメータストアから情報を取得する

複合までしてくれる

package main

import (
    "fmt"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/ssm"
)

func main() {
    sess, err := session.NewSessionWithOptions(session.Options{
        Config:  aws.Config{Region: aws.String("us-east-1")},
        Profile: "default",
    })
    if err != nil {
        panic(err)
    }
    svc := ssm.New(sess)

    res, err := svc.GetParameter(&ssm.GetParameterInput{
        Name: aws.String("PARAMETER_NAME"),
    })