aws black belt online seminar 2017 amazon ec2 systems manager

67
Amazon EC2 Systems Manager AWS Black Belt Online Seminar 2017 アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 舘岡 守 2017.02.22

Upload: amazon-web-services-japan

Post on 12-Apr-2017

7.075 views

Category:

Technology


3 download

TRANSCRIPT

Amazon EC2 Systems ManagerAWS Black Belt Online Seminar 2017

アマゾン ウェブ サービス ジャパン株式会社ソリューションアーキテクト 舘岡 守2017.02.22

自己紹介舘岡 守(たておか まもる)インダストリソリューション部ソリューションアーキテクト

• 主に中〜大企業のお客様を担当、AWSの導入を支援

• 前職は某AWS専業インテグレーター(CIer)• 好きなAWSのサービス:CloudWatch、AWSサポート

2

AWS Black Belt Online Seminar へようこそ!

質問を投げることができます!Adobe ConnectのQ&Aウィンドウから、質問を書き込んでください。(書き込んだ質問は、主催者にしか見えません)今後の機能拡張予定や、GAの時期、リージョン展開の予定などに関するご質問はお答えできませんのでご了承ください。Twitterへツイートする際はハッシュタグ #awsblackbelt をご利用ください。

①Q&Aウィンドウ右下のフォームに質問を書き込んで

ください

②吹き出しマークで送信してください

3

AWS Black Belt Online Seminar とは• AWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです

【火曜 12:00~13:00】主にAWSのソリューションや業界カットでの使いどころなどを紹介(例:IoT、金融業界向け etc.)

【水曜 18:00~19:00】主にAWSサービスの紹介やアップデートの解説(例:EC2、RDS、Lambda etc.)

※最新の情報は下記をご確認下さい。オンラインセミナーのスケジュール&申し込みサイトhttps://aws.amazon.com/jp/about-aws/events/webinars/

4

本資料では2017年2月22日時点のサービス内容および価格についてご説明しています。最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。

資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。

内容についての注意点

AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.

価格は税抜表記となっています。日本居住者のお客様がサービスを使用する場合、別途消費税をご請求させていただきます。

5

アジェンダ• システム運用の課題• Amazon EC2 Systems Manager

– Amazon EC2 Systems Managerの構成要素– Amazon EC2 Systems Managerで出来る事

• 利用イメージ• 料金• まとめ• FAQ

6

アジェンダ• システム運用の課題• Amazon EC2 Systems Manager

– Amazon EC2 Systems Managerの構成要素– Amazon EC2 Systems Managerで出来る事

• 利用イメージ• 料金• まとめ• FAQ

7

一般的なシステム運用に必要なこと

• システムが正常に稼働しているか• リソースに過不足が発生していないか• 問題はいつ誰がどのように修正したか• 権限は適切に設定されているか• セキュリティの問題は発生していないか• ルールに従った作業実施、記録されているか• 意図した構成が保たれているか  etc…

8

運用に必要なツールが増える事での運用負荷増

• 監視用の3rdパーティツール• インベントリを管理するドキュメント• ユーザー、権限を管理するドキュメント• システムへの変更を記録するドキュメント• セキュリティパッチングツール、スクリプト• リモートアクセス用の踏み台サーバー

9

AWSでも既存の運用が可能

• 既存の運用ルールをAWSに適用する事は可能– WikiやExcelが悪という訳ではない– ドキュメントへの情報記録、管理は必要になる– 運用コストはあまり減らない

• 一部のツールは代替も可能– CloudWatchでの監視、AWS Configでの変更管理、etc…

10

Amazon EC2 Systems Managerを使うことで

• 運用コストを減らしてビジネスに注力

• 運用の品質安定、標準化が可能

• オンプレミス、クラウドの管理を一元化

• セキュアなオペレーションを実現

11

アジェンダ• システム運用の課題• Amazon EC2 Systems Manager

– Amazon EC2 Systems Managerの構成要素– Amazon EC2 Systems Managerで出来る事

• 利用イメージ• 料金• まとめ• FAQ

12

Amazon EC2 Systems Managerとは

13

Amazon EC2、またはオンプレミスで実行されるWindows、Linuxに対してシステムの自動構成と継続的な管理を可能にする一連の機能

Amazon EC2Amazon EC2

Systems Manager

EC2 Systems Managerの構成要素

Run Command Maintenance Window

Inventory

State Manager Parameter Store

Patch Manager

Automation

Deploy, Configure,and Administer

Track andUpdate

Shared Capabilities

Run Command

� リモートから任意のコマンド実行が可能� ソフトウェアのインストール、パッチング、アップデート� ユーザーの追加・削除、サービスの起動・停止、状態取得

� JSONベースのドキュメントでコマンド、タスクを定義� 定義済みのドキュメントも提供、コミュニティ版もあり� 実行結果はS3に保存可能、実行状態に合わせてSNSを使って通知� SSH、RDPの接続ポートを閉じる事でセキュアに運用

管理作業をリモートから実行

15

State Manager

� 事前に定義しておいた状態にOSを設定� JSONベースのドキュメントを使用してポリシーを定義� 構成を適用するEC2、オンプレサーバーを個別、タグで管理� 企業全体の構成ポリシーへの準拠を支援� 例:ウィルス対策ソフト、マルウェア対策ソフトの定義ファイル更新

OSとアプリケーションの設定を定義、状態を維持する

16

Automation

� Amazon Machine Images(AMI)の作成と管理に最適化� AMIからEC2を起動 � パッチ適用 � 更新されたAMIを作成

� JSONベースのドキュメントでワークフローを定義� 企業で管理する「ゴールデンイメージ」管理をサポート

シンプルなワークフローを使って一般的なタスクを自動化

17

Parameter StoreIT資産の集中管理

18

� ログイン、DB接続情報などを一元管理� Run Commnad、State Manager、Automation 等から参照可能

� Management Consoleからも参照、更新が可能� AWS CLI、各種SDKからも参照、更新が可能

� 細かい権限管理で必要な人に必要な情報を提供� Parameter Storeに格納した情報はKMSで暗号化� 企業の機密情報の分散管理、メンテナンスを簡素化

Maintenance Window

� システムの中断を許容できる時間を指定� OSのアップデート、各種ドライバの更新、ソフトウェアのインストール etc…

� 組み込み済みのコマンド、Run Commandの実行が可能� メンテナンス実行の時間を明確に決めておく事で可用性と信頼性向上� 考え方はRDSのMaintenance Windowと同様

事前に設定した時間でメンテナンスを実施

19

Inventory

� EC2、オンプレの各種インベントリ情報を収集、管理� AWSが定義する収集テンプレートを利用可能� JSON形式で取得したいデータを定義する事でカスタマイズも可能� AWS Configを有効にする事でインベントリ情報の変更履歴を追跡� ソフトウェアのライセンス使用状況確認、ソフトウェアバージョンの管理

が簡素化される事でのセキュリティ脆弱性の早期発見

ソフトウェアインベントリの情報収集

20

Patch Manager

� Patch Baselineを使ってカスタムパッチポリシーを定義� 例:クリティカルなパッチが提供された場合には1日後に適用

� パッチ適用は指定したMaintenance Window内で実施� 実施されたパッチングの結果はレポートされる

� インストールされたパッチ、スキップ、失敗したパッチ等

� 重要なアップデートやゼロデイ脆弱性への対応を自動化、時間を短縮

ベースラインを定義してWindowsのパッチを適用

21

SSM Agent

� インストールタイプのエージェント� AWSの各種サービスAPIと通信が発生� AWSから提供している以下のAMIにはインストール済み

� 2016年11月以降に提供しているWindows AMI(2003-2012R2、2016)

� Amazon Linuxは別途インストールが必要� Source CodeはGithubで公開

� https://github.com/aws/amazon-ssm-agent

管理対象に常駐し、各種サービスからの要求を実行

22

EC2 Systems Managerの利用

• 前提環境条件の確認• IAM Roleの作成• SSM Agentのインストール• Systems Managerのセットアップ• Happy Operation!!

23

EC2 Systems Managerの前提環境条件• サポートされているOS

– Windows(32bit、64bit)• Windows Server 2003〜2016(R2含む)

– Linux(32bit)• Amazon Linux 2014.09、2014.03 以降• Ubuntu Server 16.0.4 LTS、14.04 LTS、または 12.04 LTS• Red Hat Enterprise Linux (RHEL) 6.5 以降• CentOS 6.3 以降

– Linux(64bit)• Amazon Linux 2015.09、2015.03 以降• Red Hat Enterprise Linux (RHEL) 7.x 以降• CentOS 7.1 以降

24

EC2 Systems Managerの前提環境条件• インターネットへのアクセスが出来る事

– SSM Agentが各種APIへアクセスするため– VPCにNAT-Gatewayを設置するのも方法の1つ– インターネットからの接続は必要なし

25

Amazon EC2Amazon EC2

Systems Manager

Internet

IAM Roleの作成

• IAM Roleを作成して権限を付与• SSM Agentが各種APIをコールする権限

– 例:Automationであれば ec2:CreateImage 等– 用途によって権限を分ける

• AWS管理ポリシーを活用– AmazonSSMFullAccess、AmazonSSMReadOnlyAccess等

• カスタムポリシーも作成可能

26

AmazonSSMAutomationRoleの権限例

27

            "Effect": "Allow",            "Action": [                "lambda:InvokeFunction"            ],            "Resource": [                "arn:aws:lambda:*:*:function:Automation*"            ]        },        {            "Effect": "Allow",            "Action": [                "ec2:CreateImage",                "ec2:DeleteSnapshot",                "ec2:DeregisterImage",                "ec2:DescribeImages",                "ec2:StartInstances",                "ec2:StopInstances",                "ec2:TerminateInstances",                "ec2:DescribeInstanceStatus",                "ec2:RunInstances”....省略

IAM Role for EC2が起動済みのEC2にも対応!

28 https://aws.amazon.com/jp/blogs/security/new-attach-an-aws-iam-role-to-an-existing-amazon-ec2-instance-by-using-the-aws-cli/

EC2 Systems Managerの利用加速起爆剤に!

SSM Agentのインストール(Windows on EC2)

• AWS提供のWindows AMIはインストール済み– 2016年11月以降のAMIから起動したWindowsは導入済み– 2016年11月以前のAMIから起動したWindowsは更新が必要

• SSM Agentを更新する– EC2Configでの更新を推奨– Run CommandでAWS-UpdateEC2Configを実行– Windows Server 2016の場合はAWS-UpdateSSMAgentを実行

29

SSM Agentのインストール(オンプレWindows)• IAMサービスRoleの作成

– SSMサービスにアクセスするためにAssumeRoleが必要

– セッショントークン生成• PowerShellであれば Register-IAMRolePolicy• AWS CLIであれば attach-role-policy

– セッショントークンをコピーしてエディタ等に保存• AWS Tools for Windows PowerShell のインストール

– https://aws.amazon.com/jp/powershell/ 左記URLからダウンロード

30

{  "Version": "2012-10-17",  "Statement": {    "Effect": "Allow",    "Principal": {"Service": "ssm.amazonaws.com"},    "Action": "sts:AssumeRole"  }}

SSM Agentのインストール(オンプレWindows)

• アクティベーション– Management Consoleからアクティベーションを作成

• アクティベーションの説明や有効期限を設定

31

SSM Agentのインストール(オンプレWindows)

• アクティベーション– Management Consoleからアクティベーションを作成

• アクティベーションコードとアクティベーションIDをコピー保存

32

ココをコピー

SSM Agentのインストール(オンプレWindows)

• アクティベーション– オンプレ側のWindowsで以下のコマンドを実行

33

$dir = $env:TEMP + "\ssm"New-Item -ItemType directory -Path $dircd $dir(New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-region.s3.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe")Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=code", "ID=id", "REGION=region") –Wait # 実際は1行Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")Get-Service -Name "AmazonSSMAgent"

赤い太文字部分にそれぞれRegion、コピー保存したcodeとIDを貼り付け

SSM Agentのインストール(Linux on EC2)

• SSM Agentをダウンロード、インストール– リポジトリ(S3)からダウンロード

• https://amazon-ssm-region.s3.amazonaws.com/latest/$arch/amazon-ssm-agent.rpm• region部分は利用するRegionに置き換えること• $arch部分もお使いのディストリビューションに合わせて置き換えること

– 各種パッケージコマンドでインストール• sudo yum install -y amazon-ssm-agent.rpm• sudo dpkg -i amazon-ssm-agent.deb

– コマンド詳細は以下のURLを確認• http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/sysman-install-ssm-agent.html

34

SSM Agentのインストール(オンプレLinux)

• オンプレWindowsとほぼ同様の手順– IAM Roleの作成– SSM Agentのパッケージインストール– Management Consoleからアクティベーション作成– アクティベーションコード、IDをコマンドに貼り付けて実行

35

sudo amazon-ssm-agent -register -code "code" -id "id" -region "region"sudo start amazon-ssm-agent

Systems Manager Document• Systems Managerの動作はDocumentで定義する• Documentはバージョニング、共有が可能• 定義済みのDocumentの使用、カスタマイズDocument作成可能

– 例:Software Inventory を収集するDocument

36

タイプ 使用用途コマンドのドキュメント Run Command

State Managerポリシードキュメント State Manager自動化ドキュメント Automation

Systems Manager Document

37

Maintenance Window

• 設定は3ステップ– Maintenance Windowで実行する繰り返し日時を指

定する– メンテナンス対象のターゲットを指定する– 実行するタスクを指定する

38

Maintenance Window

• 実行する日時を指定– スケジュールビルダー、cron形式、rate形式で作成可能– 例:毎週日曜日、AM1:00から実行(cron形式)

• cron(0 1 * * MON *)– 例:2時間おきに実行(rate形式)

• rate(2 hour)

• 実行時間も細かく指定可能– Duration等で実行時間を制御

39

Maintenance Window

• メンテナンス対象のターゲットを指定

• 管理対象のインスタンス、またはタグで指定– 複数のインスタンスを個別指定可能

• 現時点では複数のタグには対応していない– Environment = Production & Role = App のようなフィルタ

40

Maintenance Window

• 実行するタスクを指定する

• 実行するコマンドのDocumentを指定– 例:AWS-RunShellScript

• Documentに定義された項目を入力する– 実行するコマンド– 実行ディレクトリ– タイムアウト etc…

41

Parameter Store

42

• タイプ、値の形式で入力• リスト形式はカンマ区切

りで入力可能• KMSを使った暗号化もサ

ポート• アップデート、変更履歴• 例:DB接続パスワード

Parameter Store• Run Command、Automation、State Manager等から参照可能

– 例:AWS CLIから参照する場合(赤字部分は編集)

• KMSで暗号化していた値を参照する場合– 例:AWS CLIから参照する場合(赤字部分は編集)

43

aws ssm get-parameters --name helloWorld

aws ssm get-parameters --names helloWorld --with-decryption

Inventory

• OSやアプリケーション、メタ情報等を収集• 定義済みのDocumentを利用可能

– WindowsアップデートのプログラムID、適用時間– インストールされているAWS CLIのバージョン確認

• 情報のカスタマイズ収集も可能– インストールされているMySQLのバージョン、PHPのバージョン– OpenSSLのライブラリバージョン

44

Inventory

45

• Managed Instanceから関連付け• 対象のInstanceを選択して有効• 情報を収集する時間は最短で30分• 有効化するパラメーターを選択• 必要に応じてS3へ出力(課金)

Inventory

• カスタマイズする場合には事前にDocumentを作成– Documentを新規作成してDocument TypeをPolicyに– JSON形式でコンテンツを入力– 作成後は権限を適切に設定する

• デフォルトでは誰も参照できない設定になっている

• Managed Instanceで関連付け– 「インベントリの設定」ではなく「関連付けの作成」

46

State Manager

• 定義された状態に保つプロセスを自動化– スタートアップ時にソフトウェアのインストール– Windowsドメインに参加– ライフサイクルを通じてソフトウェアを更新 …etc

• 他サービスと同様に状態をDocumentで定義

• CloudTrailで全ての変更をログ保存

47

State Manager• Documentを作成(PowerShell実行とMySQLダウンロード、インストールの例)

48

…省略  "mainSteps": [      {         "action": "aws:runPowerShellScript",         "name": "runShellScript",         "inputs": {            "runCommand": [               "ipconfig"            ]         }      },      {         "action": "aws:applications",         "name": "installapp",         "inputs": {            "action": "Install",            "source": "http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.6.22.0.msi"         }      }   ]}

State Manager• State ManagerからAssociationを作成• 先程作成したDocumentを選択• ターゲット、スケジュールを設定

49

Automation

• 手順化された作業を自動化– マスターイメージ(AMI)に対するメンテナンスを自動化– AMIからEC2を起動、パッチ当て、EC2からAMIを作成

• IAM Roleに別途権限付与を考慮– AWS管理ポリシー AmazonSSMAutomationRole を付与

50

Patch Manager

• Windowsのパッチ適用を自動化– インスタンスをスキャン、未適用のパッチを確認、インストール– パッチ公開から適用まで待たせる日数を指定可能– 分類や重要度によるフィルタが可能

• [分類]重要な更新プログラム & [重要度]緊急 など– 個別でパッチ適用拒否する事も可能

• Linuxのパッチについては現時点ではサポート外

51

Patch Manager

• Patch Baselineで適用する(しない)ルールを定義

• パッチが提供されてから待たせる日時を指定

• 対象OSバージョンを指定

52

Patch Manager

• 作成したBaselineをMaintenance Windowで指定– Targets → Register new targetsから設定– インスタンス個別、タグ指定、Patch Groupで指定

53

Happy Operations!!

54

アジェンダ• システム運用の課題• Amazon EC2 Systems Manager

– Amazon EC2 Systems Managerの構成要素– Amazon EC2 Systems Managerで出来る事

• 利用イメージ• 料金• まとめ• FAQ

55

利用イメージ (1)• EC2、ハイブリッド環境のシステム管理

– Run Commandのみでコマンド実行、セキュアな管理– 情報はInventoryで収集、Maintenance Windowで自動パッチング

56

Amazon EC2Amazon EC2

Systems Manager

利用イメージ (2)• 認証情報の保存、取り出し

– Parameter Storeを使ってバッチ処理

57

Amazon EC2Systems Manager

AmazonECS

AWS Batch AmazonEC2

Amazon RDS

S3

https://aws.amazon.com/jp/blogs/news/managing-secrets-for-amazon-ecs-applications-using-parameter-store-and-iam-roles-for-tasks/タスクIAMロールとパラメータストアを利用したAmazon ECSアプリケーションの秘密情報管理

EC2 Systems Managerの料金

• EC2 Systems Manager自体の料金は無料– オンプレミス、EC2ともに台数による追加料金無し– 起動しているEC2は別途料金発生(CloudFormationと同じ)

• S3、CloudTrail、AWS Configを利用すると発生– 料金体系は各サービスに準ずる

58

よくある質問

• EC2Configとは何が違いますか?– A. EC2ConfigはWindowsの設定をするサービス、SSM AgentはRun

CommandやEC2 Systems Managerと連携します。

• Patch ManagerはWSUSの機能を持っていますか?– A. 持っていないのでご用意ください。

59

Amazon EC2 Systems Managerを使うことで

• 運用コストを減らしてビジネスに注力

• 運用の品質安定、標準化が可能

• オンプレミス、クラウドの管理を一元化

• セキュアなオペレーションを実現

60

参考資料• Amazon EC2 Systems Manager

– https://aws.amazon.com/jp/ec2/systems-manager/• よくある質問

– https://aws.amazon.com/jp/ec2/systems-manager/faqs/ • Amazon EC2 Systems Manager ドキュメント

– http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/systems-manager.html

– http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/systems-manager.html • WindowsとLinuxでドキュメントが分かれているので注意

 

61

Q&A

[導入に関しての問い合わせ] http://aws.amazon.com/jp/contact-us/aws-sales/

[課金・請求内容、またはアカウントに関するお問い合わせ]https://aws.amazon.com/jp/contact-us/

62

オンラインセミナー資料の配置場所• AWS クラウドサービス活用資料集

– http://aws.amazon.com/jp/aws-jp-introduction/

• AWS Solutions Architect ブログ– 最新の情報、セミナー中のQ&A等が掲載されています– http://aws.typepad.com/sajp/

63

公式Twitter/FacebookAWSの最新情報をお届けします

@awscloud_jp検索

最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!

もしくはhttp://on.fb.me/1vR8yWm

64

AWSの導入、お問い合わせのご相談• AWSクラウド導入に関するご質問、お見積り、資料請

求をご希望のお客様は、以下のリンクよりお気軽にご相談くださいhttps://aws.amazon.com/jp/contact-us/aws-sales/

※「AWS 問い合わせ」で検索してください65

ご参加ありがとうございました

67

68