凡ジニアのtxt

エンジニアリングができないエンジニア

「Kubernetes on AWS 勉強用」CloudFormationでROLLBACK_COMPLETEになる

はじめに

Kubernetes on AWSを勉強していて、第2章のCloudFormationの設定登録においてテンプレートをアップロード後、ROLLBACK_COMPLETEになったので、メモ。

Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える | 会澤 康二, 佐藤 和彦 |本 | 通販 | Amazon

CloudFormationとは

AWS CloudFormation は Amazon Web Services リソースのモデル化およびセットアップに役立つサービス(以下、引用)になります。あらゆるAWSのリソースをIaC(Infrastructure as Code)として定義し、リソースの構築や管理の工程を簡単にできるものだと思われる。

docs.aws.amazon.com

エラー事象

CloudFormationに01_base_resources_cfn.yamlをアップロードして、設定を登録します。そうすると、以下のようにROLLBACK_COMPLETEになり、次へのステップが進めません。サンプルがあるyamlは以下、GitHubにあります。

https://github.com/kazusato/k8sbook

f:id:aki5151:20210806061527p:plain

eks_test > EventsのStatus Reasonを見ると、どうやらサンプルyamlのregionが自分の環境では使えない。先程のyamlを有効なregionとavailability zoneに変える必要があります。 f:id:aki5151:20210806061352p:plain

対応

 01_base_resources_cfn.yamlにあるTargetRegionAvailabilityZone1~3Defaultを有効なus-east-1a, us-east-1b, us-east-1c, us-east-1d, us-east-1e, us-east-1fに変更する必要があります。コメントアウトは、サンプルコードのデフォルト値になります。

AWSTemplateFormatVersion: '2010-09-09'

Parameters:
  ClusterBaseName:
    Type: String
    Default: eks-work

  TargetRegion:
    Type: String
    Default: us-east-1
#  Default: ap-northeast-1

  AvailabilityZone1:
    Type: String
    Default: us-east-1a
#  Default: ap-northeast-1a

  AvailabilityZone2:
    Type: String
    Default: us-east-1b
#  Default: ap-northeast-1c

  AvailabilityZone3:
    Type: String
    Default: us-east-1c
#  Default: ap-northeast-1d
...

変更したyamlをアップロードして設定を登録します。 f:id:aki5151:20210806063315p:plain StatusがCREATE_COMPLETEになっているので、これで次へのステップへ進めます。