~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services...

87
大村 幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Transcript of ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services...

Page 1: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

大村幸敬

Amazon Web Services ソリューションアーキテクト

~コード化の開始から頻出パターンまで~

Page 2: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Agenda

Page 3: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Who am I ?

大村幸敬(おおむらゆきたか)

• Solutions Architect @Amazon Web Services Japan

• エンタープライズのお客さまを担当

• Management Tools & DevOps 系サービスを担当

•好きなサービス: AWS CLI

Page 4: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 5: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

"Are you

Well-Architected?”Werner Vogels

Page 6: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

その運用は Well-Architected か?

アプリケーション• アジャイル開発で要件の変化に追従可能

インフラ• クラウドで初期投資なく迅速に変更可能

運用• 申請書と手順書と人海戦術で迅速に変更可能?

Page 7: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Well-Architected – Operational Excellenceの柱

原則

1. コードを使って運用する

2. 注記付きドキュメントを自動生成する

3. 頻繁に、小さく、可逆的に変更する

4. 運用手順を頻繁に見直す

5. 危険の事前予測と排除を行う

6. 全ての運用の失敗から学ぶ

Well-Architected Framework = AWS利用におけるベストプラクティスhttps://aws.amazon.com/jp/architecture/well-architected/

Page 8: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

コードを使った運用のポイント from AWS Well-Architected

1. コードで全ての構成を定義

2. イベントに対してスクリプトで対処

3. アプリケーションと同じ手法でコードを開発

sh

sh

Page 9: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

1. コードで全ての構成を定義

同じ環境を、迅速に、繰り返し作成可能

doc

sh sh sh sh

Page 10: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

2. イベントに対してスクリプトで対処

自動的に、同じ処理を、繰り返し実施可能

sh sh sh sh sh

sh sh sh

Page 11: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

3. アプリケーションと同じ手法でコードを開発

コードと作成した環境の品質を担保

sh

CI/CD*

sh

Page 12: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

コードを使った運用のポイント from AWS Well-Architected

1. コードで全ての構成を定義• 同じ環境を、迅速に、多数作成可能

2. イベントに対してスクリプトで対処• 自動的に、同じ処理を、繰り返し実施可能

3. アプリケーションと同じ手法でコードを開発• コードと作成した環境の品質を担保

sh

sh

Page 13: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 14: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

全ての構成変更はサービス利用者に影響

ver2.0 ?

*M/W = ミドルウェア

Page 15: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS環境に対するオペレーション方法

AWS

Page 16: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWSのプロビジョニングサービスのカバー範囲

EC2

OS

M/W

App

デプロイ

他のサービス

Page 17: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

デプロイ対象による管理範囲の違い

EC2

OS

M/W

App

Fargate

コンテナ

Lambda

App

デプロイ

デプロイ

デプロイ

AWS管理

ユーザ管理

Page 18: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

APIへのアクセスと OSへのアクセス

CLI / SDK

ブラウザ

AW

S A

PI

マネジメント

コンソール

HTTPS

HTTPS

AW

S IA

M

(認証と認可)

EC2リモートデスクトップ

ターミナルRDPSSH

OSへのアクセス方法はオンプレと同様

セキュリティグループ設定

VPC作成

EC2作成

S3バケットの作成S3オブジェクトへのアクセス

Page 19: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS 環境を管理するためのツール

Page 20: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLIとCFnを使ったAWS環境操作の流れ

sh

Page 21: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CloudFormation

作成 /変更/削除

AWS CloudFormationAWS リソースの作成 / 変更 / 削除

テンプレート スタック

- 作成するリソースの定義- JSON/YAML

- AWS リソースの集合

Page 22: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation 基本機能

••

••

••

Page 23: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI

aws <service> <operation>

$ aws ec2 describe-instances

$ aws s3 cp hogehoge s3://bucket/key/to/file

Page 24: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI 使いどころ

sh

Page 25: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI CloudFormation

Page 26: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 27: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation Tips

CI/CD*

* CI/CD = Continuous Integration / Continuous Deploy

Page 28: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation Tips

CI/CD

Page 29: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

テンプレートの基礎

Page 30: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

テンプレート開発のTips

Page 31: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

[IDE] AWS Cloud9

•ブラウザベース

• Syntax ハイライト

•キーワード補完

• Linux シェル環境

• AWS CLI & IAM Roleセットアップ済み

•各種開発ツール

Page 32: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

[Parameters] AWS Systems Manager - Parameter Store

aws ssm put-parameter --name /MySystem/Prod/DB/User --type String --value myuser

aws ssm get-parameter --name /MySystem/Prod/DB/User{

"Parameter": {"Name": "/MySystem/Dev/DB/User","Type": "String","Value": "ohmurayu","Version": 1

}}

Page 33: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

[Parameters] AWS Systems Manager - Parameter Store

• 自身で設定した値を使用

• AWSが提供する値を使用

Parameters: MyAMIID:

Type : AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>Default: /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2

# Default: /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-Base

注:SecureStringは2018/6/1時点で未対応

Parameters: Env:

Type: AWS::SSM::Parameter::Value<String>Default: /MySystem/Prod/DB/User

Page 34: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

[Test] 各種ツールによるコードのチェック

••

••

cfn-python-lint + VS Code

cfn_nag

$ cfn_nag_scan -i public_alb.yaml------------------------------------------------------------public_alb.yaml------------------------------------------------------------| WARN W2|| Resources: ["PublicAlbSecurityGroup"]|| Security Groups found with cidr open to world on ingress.

This should never be true on instance. Permissible on ELB

Failures count: 0Warnings count: 1

https://github.com/awslabs/cfn-python-lint

https://github.com/stelligent/cfn_nag

Page 35: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation Tips

CI/CD

Page 36: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

スタック分割の例 – サンプルシステム

Page 37: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

スタック分割 - 基本方針

Page 38: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

スタック分割の例 – スタック構成

Page 39: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation Tips

CI/CD

Page 40: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CI/CD* for CloudFormation

アプリケーション開発と同じやり方で環境全体を開発

* CI/CD = Continuous Integration / Continuous Deploy

sh

Page 41: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CloudFormation Validation Pipeline

https://aws.amazon.com/jp/answers/devops/aws-cloudformation-validation-pipeline/

Page 42: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CloudFormationValidation Pipeline

Page 43: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI Tips

SA

ML

Page 44: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI Tips

SA

ML

Page 45: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI の利用開始

••

••

$ pip install awscli --upgrade --user

$ aws help

Page 46: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI オペレーションTips•

•$ complete -C '/usr/local/bin/aws_completer' aws

$ aws help$ aws ec2 help

Page 47: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI Tips - query

~/.aws/cli/alias

list-sgs = ec2 describe-security-groups ¥--query "SecurityGroups[].[GroupId, GroupName]" --output text

$ aws ec2 describe-security-groups ¥--query "SecurityGroups[].[GroupId, GroupName]" ¥

--output text

sg-bf8289da defaultsg-bf9256c6 op-ad-sgsg-c4f005bd rdp-httpsg-cb5953ae yu-http…

$ aws ec2 describe-security-groups{

"SecurityGroups": [{

"Description": "HTTPS+HTTP+ssh","GroupName": "default","IpPermissions": [

{"FromPort": 80,

$ aws list-sgssg-bf8289da defaultsg-bf9256c6 op-ad-sg…

Page 48: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI Tips

SA

ML

Page 49: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI アクセス経路

• オンプレミスからVPCエンドポイントへのアクセス可否はAWSサービスと接続形態により異なる

Page 50: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS CLI Tips

SA

ML

Page 51: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI 認証&認可 - AWS認証情報

Page 52: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI 認証&認可 - 認証情報へのアクセス

Page 53: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 54: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI & -

Page 55: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI & -

[profile admin-org-account]aws_access_key_id = AKIDF...aws_secret_access_key = 1rHl...

[profile admin-team-account]source_profile = admin-org-accountrole_arn = arn:...:role/admin-team-account

~/.aws/config

$ aws s3 ls --profile admin-team-account

Page 56: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AssumeRoleWithSAML

LDAP identity store Identity provider (IdP)

role

awsprocesscreds-saml

CLI 認証&認可 – SAMLフェデレーションアクセス

SAML Idp(ADFSやOkta)にログインしてCLIに認証情報を渡すツール

https://github.com/awslabs/awsprocesscreds

Page 57: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

~/.aws/config

[profile saml]credential_process = awsprocesscreds-saml -e 'https://corp.example.com/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices' -u username -p adfs -a arn:aws:iam::123456789012:role/ADFS-Dev

AWS CLI

$ aws s3 ls --profile saml

{“AccessKeyId”: “ADIF...”,“SecretAccessKey”: “2rFt...”,“Version”: 1

}

コマンド実行 awsprocesscreds-saml

awsprocesscreds-saml

アクセスキー

CLI 認証&認可 - フェデレーションアクセス

Page 58: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI & – MFA

[profile normal-access]aws_access_key_id = AKIDF...aws_secret_access_key = 1rHl...

[profile mfa-access]source_profile = normal-accessrole_arn = arn:...:role/mfa-access-rolemfa_serial = arn:...:mfa/mfa-of-user

~/.aws/config $ aws s3 ls s3://public-bkt/ --profile normal-access ...

$ aws s3 ls s3://restrict-bkt/ --profile mfa-access Enter MFA code for arn:...:mfa/mfa-of-user...

{"Version": "2012-10-17","Statement": [ {

"Effect": "Allow","Principal": {"AWS": {"arn:aws:iam::...:user/normal-user"}},"Action": "sts:AssumeRole","Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}

}]}

Page 59: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 60: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

-

Page 61: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 62: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 63: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Organizationsアカウント払い出し (CLI)

organizations create-account

organizations list-create-account-status

iam create-role iam put-role-policy

organizations list-rootsorganizations list-organizational-units-for-parent

organizations list-parentsorganizations move-account

Page 64: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 65: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Page 66: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

複数アカウントへの展開 - CloudFormation StackSet

StackSet

管理者アカウント

Region

Stack

ターゲットアカウントA

Stack

アカウント C アカウント D アカウント E …

Region

Stack Stack

アカウント C アカウント D アカウント E …

ターゲットアカウントB

ターゲットアカウントA

ターゲットアカウントB

Page 67: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation StackSet - テンプレートの選択

Page 68: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CloudFormation StackSet - 適用範囲の指定

Page 69: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 70: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

AWS Management Tools

Page 71: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

EC2 CloudWatch Event

Status = Pending

Lambda

Page 72: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

Page 73: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 74: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 75: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

JSON/YAML変換は cfn-flip

$ cfn-flip vpc.json > vpc.yaml

Page 76: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

テンプレートエンジンを使用したテンプレート作成

Page 77: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 78: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

更新頻度と役割分担によってスタックを分ける(Cross Stack Reference)

②別のスタックから参照可能な値がエクスポートされる

①Exportを使って他のスタックから参照したい値をエクスポート例:セキュリティグループID

③ImportValue関数を使って値を参照する

Page 79: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

テンプレート分割とスタック分割

Page 80: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

テンプレート分割とスタック分割Nested Stacks(テンプレートの分割)

Cross Stack References(スタックの分割)

推奨ユースケース

テンプレートの再利用。1つのスタックを管理するために複数のテンプレートを使用する。

共用リソースのシェア。個別のスタックを個別のライフサイクルで独立管理できる。

利点 管理が容易。1つのスタックで全てを管理する。作成順序と依存関係が記述できる。

利害関係の分離。DBやVPCの共用。障害時影響範囲の限定。

考慮点 更新やロールバックの影響範囲が大きい。カスタムリソース名を持つテンプレートの再利用に注意。

リプレースアップデートになると物理IDが変化するため、参照側のスタックの更新が必要。個別スタックの作成順序を管理する必要あり。

Page 81: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~
Page 82: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

専用CLI

Page 83: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI S3 -

Amazon S3 bucketAWS CLI

Thread pool

Disk

Thread 1

Thread 2

Thread 3

IO Thread

IO Queue

Page 84: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

CLI S3 -

[default]region = ap-northeast-1s3 =

max_concurrent_requests = 20multipart_chunksize = 16MBmultipart_threshold = 64MBmax_queue_size = 10000

~/.aws/config

Page 85: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~

max_concurrent_requests = 4

Amazon S3 bucketAWS CLI

Thread pool

Disk

Thread 1

Thread 2

Thread 3IO Thread

IO Queue

Thread 4

Page 87: ~コード化の開始から頻出パターンまで~ · 大村幸敬 Amazon Web Services ソリューションアーキテクト ~コード化の開始から頻出パターンまで~