SlideShare a Scribd company logo
JAWS-UG
アーキテクチャ専門支部
ハイブリッド分科会 #9
EC2 Run Commandのいいところ
2016/11/1 Tue
Nobuhiro Nakayama
{
"name":"Nobuhiro Nakayama",
"company":"UCHIDAYOKO CO., LTD.",
"favorite aws services":[
"Directory Service", "IAM", "AWS CLI"
],
"certifications":[
"AWS Certified Solutions Architect-Professional",
"AWS Certified SysOps Administrator-Associate",
"Microsoft Certified Solutions Expert Server Infrastructure",
"Microsoft Certified Solutions Expert SharePoint",
"IPA Network Specialist", "IPA Information Security Specialist"
]
}
Code Deployを使うということ
• 「EC2を使うということ」
↓
• EC2インスタンスを管理しなければならない
↓
• EC2インスタンスは管理したくない
↓
• SSM(EC2 Run Command)を使ってはどうか?
2016/11/1 3
今日はCode Deploy回なので・・・
EC2 Run Commandとは?
• AWSのAPI経由でEC2インスタンスの中を操作できる!
2016/11/1 4
EC2 Run Commandを使うための準備
• エージェントのインストール
• Windowsはec2configがその役割を兼ねている
• Linuxは専用のエージェントが必要
• インスタンスプロファイル
• AmazonEC2RoleforSSM(マネージドポリシー)を利用すればOK
• その他の前提条件を充足すること
• インターネットへのアクセス など
• http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/remote-commands-prereq.html
2016/11/1 5
EC2 Run Commandでできること(1)
• AWSがデフォルトで提供しているオペレーション
• Windows / Linux共通
• 任意のコマンドやスクリプトの実行(Windowsの場合はPowerShell)
• インスタンス上の任意のスクリプトを実行することも可能
• エージェントの更新(Windowsの場合は、ec2config)
• Windows
• Windows Update(設定、スキャン、更新)
• アプリケーションのインストール
• インベントリの収集
• ドメインへの参加(DirectoryServiceを利用する前提)
• CloudWatchの設定(カスタムメトリック、CloudWatch Logs)
2016/11/1 6
EC2 Run Commandでできること(2)
• EC2 Run Commandで実行できることはドキュメントとして独自に定義可能
• 詳細はこちら
• http://docs.aws.amazon.com/ja_jp/ssm/latest/APIReference/ssm-plugins.html
• ドキュメントは他のAWSアカウントと共有できる
• AMIを同じ感じ
• パブリック/特定のAWSアカウントのみのいずれか
• オンプレのインスタンスも管理できる
2016/11/1 7
Demo
2016/11/1 8
EC2 Run Commandの何がいいのか?(1)
• AWSの機能を活用できる
• 証跡を残せる
• CloudTrailでAPIの呼び出し履歴を保存
• S3にコマンドの実行結果を保存
• 実行結果・ステータスの通知
• SNSでステータスに応じた通知 → 他のジョブとの連携(ピタゴラスイッチ)
• APIで自動化
• マネコンにCLIで実行するときのコマンドを表示してくれる
• OSにログインするための認証情報をやりとりする必要がなくなる
• IAMユーザなら、上記の機能で証跡を容易に残せる
• 業務の委託時の管理負担を軽減
2016/11/1 9
EC2 Run Commandの何がいいのか?(2)
• 【未確認】IAMによる権限制御
• 特定のドキュメントのみを実行できる権限を付与、などが可能(なはず・・・?)
• ARNの構文
• arn:aws:ssm:region:account-id:document/document_name
• https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ssm
• (使った結果として)作業の定型化/非定型作業の明確化
• 定型化、スクリプト化できる作業はEC2 Run Commandで実装可能
• 検討した結果、 EC2 Run Commandで実装できない作業があればそれは非定型業務?
2016/11/1 10
EC2 Run Commandの注意点
• コマンドの実行結果が長い場合、S3へ保存することが必須
• Management Consoleの場合、一定の長さで省略される
• 仮想マシン内では管理者権限で処理を実行(していると思われる)
• 特に「AWS-RunPowerShellScript」「AWS-RunShellScript」に対する許可を厳密に管理しよう
2016/11/1 11
ディスカッション
2016/11/1 12
ディスカッションメモ
• 「特定のパッケージのバージョンを取得する、みたいなことはできるのか」
• 「結果に応じて処理を分岐するようなことができるといいのでは?」
• 「状態を変えるような処理は行わないようにしたほうがいいのではないか?」
• 冪等性をどのように担保するのか
• 「劇薬にもなり得る」
• 情報収集に留めるべき
• 「Administratorやrootで動くのか?」
• →(たぶん)管理者権限で実行してる
• 「使う人の力量が試されるサービス」
2016/11/1 13

More Related Content

PDF
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
PDF
JAWS-UG CLI専門支部 #58 KMS入門
PDF
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
PDF
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
PDF
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
PPTX
Aws certificate managerを使ってみたよ
PDF
ACMで作成するSSL証明書の活用
PDF
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
JAWS-UG CLI専門支部 #58 KMS入門
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
Aws certificate managerを使ってみたよ
ACMで作成するSSL証明書の活用
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

What's hot (17)

PDF
まる見え、AWS!! - JAWS UG 2015 -
PDF
JAWS-UG 情シス支部 #3
PDF
Ops jaws meetup#3
PPTX
20161212 岩本
PDF
Sophos UTM 9のAutoscalingを試してみた
PDF
JAWS-UG CLI専門支部 #17 IAM Managed Policy入門
PPTX
20150326 よくわかる AWS OpsWorks
PDF
JAWS-UG CLI #37 AWS CodeCommit入門
PDF
Serverless Meetup Tokyo #1 オープニング
PDF
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
PDF
20130518 大規模mt環境の実装on aws
PDF
Application Lifecycle Management in a Serverless World
PDF
Morning Session - AWS Serverless Ways
PPTX
re:Inventで発表された新サービス「Config Rules」の可能性
PDF
JAWS-UG CLI専門支部 CLIカンファレンス2016 ハンズオン
PDF
10分でできる!vpsサービスAmazon lightsailを使いこなす
PDF
ChefとOpsWorksで EC2 楽チンクッキング!
まる見え、AWS!! - JAWS UG 2015 -
JAWS-UG 情シス支部 #3
Ops jaws meetup#3
20161212 岩本
Sophos UTM 9のAutoscalingを試してみた
JAWS-UG CLI専門支部 #17 IAM Managed Policy入門
20150326 よくわかる AWS OpsWorks
JAWS-UG CLI #37 AWS CodeCommit入門
Serverless Meetup Tokyo #1 オープニング
Amazon s3へのデータ転送における課題とその対処法を一挙紹介
20130518 大規模mt環境の実装on aws
Application Lifecycle Management in a Serverless World
Morning Session - AWS Serverless Ways
re:Inventで発表された新サービス「Config Rules」の可能性
JAWS-UG CLI専門支部 CLIカンファレンス2016 ハンズオン
10分でできる!vpsサービスAmazon lightsailを使いこなす
ChefとOpsWorksで EC2 楽チンクッキング!
Ad

Viewers also liked (19)

PDF
JAWS-UG CLI専門支部 #49 Redshift入門
PDF
JAWS-UG 東京 #25 CLI専門支部紹介
PDF
JAWS-UG CLI #34 LT AWS Directory Serviceで Microsoft ADがリリース されたので利用してみた
PDF
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
PDF
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
PDF
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
PDF
JAWS-UG CLI #19 LT - VM Import by AWS CLI
PDF
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
PDF
JAWS-UG CLI #32 - AWS Directory Service 入門
PDF
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
PDF
はじめてのAWS CLI
PDF
JAWS-UG初心者支部#2 AWSでアカウント作ったら最初にやるべきこと
PDF
クラウドネイティブ化する未来
PDF
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
PDF
初心者向けWebinar AWSでDRを構築しよう
PDF
ビッグデータサービス群のおさらい & AWS Data Pipeline
PDF
初心者向けWebinar AWSで開発環境を構築しよう
PDF
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
PDF
AWSの課金体系
JAWS-UG CLI専門支部 #49 Redshift入門
JAWS-UG 東京 #25 CLI専門支部紹介
JAWS-UG CLI #34 LT AWS Directory Serviceで Microsoft ADがリリース されたので利用してみた
AWS Summit Tokyo 2015 - JAWS-UG 東京 LT大会 JAWS-UG 初心者支部について
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
JAWS-UG CLI #19 LT - VM Import by AWS CLI
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
JAWS-UG CLI #32 - AWS Directory Service 入門
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
はじめてのAWS CLI
JAWS-UG初心者支部#2 AWSでアカウント作ったら最初にやるべきこと
クラウドネイティブ化する未来
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
初心者向けWebinar AWSでDRを構築しよう
ビッグデータサービス群のおさらい & AWS Data Pipeline
初心者向けWebinar AWSで開発環境を構築しよう
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
AWSの課金体系
Ad

Similar to JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ (20)

PDF
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
PPTX
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
PDF
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
PDF
AWS運用自動化への第一歩 
PDF
Scaling on AWS - Feb 2016
PPTX
Architectingforhighavailability 170629010328
PDF
AWS as code_and_test
PDF
AWS - Windowsアップデート re:Invent & Windows Server 2016
PDF
Architecting+for+high+availability
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
PPTX
アウトプットはスキルアップもするしトクもする
PDF
JAWS DAYS 2015
PDF
AWS Black Belt Online Seminar - Amazon Lightsail
PDF
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
PDF
AWS White Belt Guide 目指せ黒帯!今から始める方への学び方ガイド
PDF
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
PDF
Eight meets AWS
PDF
Aws tools for power shellをつかいこなそう
PDF
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
PDF
May the FaaS be with us!!
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
AWS運用自動化への第一歩 
Scaling on AWS - Feb 2016
Architectingforhighavailability 170629010328
AWS as code_and_test
AWS - Windowsアップデート re:Invent & Windows Server 2016
Architecting+for+high+availability
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
アウトプットはスキルアップもするしトクもする
JAWS DAYS 2015
AWS Black Belt Online Seminar - Amazon Lightsail
AWS勉強会 in 北海道札幌 at smokeymonkey #cmdevio
AWS White Belt Guide 目指せ黒帯!今から始める方への学び方ガイド
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Eight meets AWS
Aws tools for power shellをつかいこなそう
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
May the FaaS be with us!!

More from Nobuhiro Nakayama (14)

PDF
New features of AWS Systems Manager
PDF
AWSのセキュリティを考える!「AWS Well-Architected Tool」活用術セミナー セキュリティの柱を解説
PDF
Well-Architected Framework Security Pillar Deep Dive ~セキュリティからはじめるより良い設計~
PDF
PCI DSSにおける認証認可 インフラ編
PDF
AWS Well-Architected Tool 活用術セミナー セキュリティ編
PDF
【勉強会資料】ネットワークアクセス制御(管理編) for PCI DSS
PDF
【勉強会資料】Systems Managerによるパッチ管理 for PCI DSS
PDF
「AWSアカウントの現状を把握できてますか?それ、Dome9でよく見えますよ。」 Developers.IO 2019 Security
PDF
Parameter store 20190226
PDF
Well Architected Tool 使い方セミナー(コスト最適化編)
PDF
re:Growth 2018 Tokyo:Amazon FSx for Windows File Server はみんなが夢見たファイルサーバーなのか
PDF
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
PPTX
JAWS-UG Hybrid #1 Code Commitに光をあててみた
PDF
JAWS-UG CLI #33 LT - AWS Directory Serviceを LDAP Serverとして 利用してみた
New features of AWS Systems Manager
AWSのセキュリティを考える!「AWS Well-Architected Tool」活用術セミナー セキュリティの柱を解説
Well-Architected Framework Security Pillar Deep Dive ~セキュリティからはじめるより良い設計~
PCI DSSにおける認証認可 インフラ編
AWS Well-Architected Tool 活用術セミナー セキュリティ編
【勉強会資料】ネットワークアクセス制御(管理編) for PCI DSS
【勉強会資料】Systems Managerによるパッチ管理 for PCI DSS
「AWSアカウントの現状を把握できてますか?それ、Dome9でよく見えますよ。」 Developers.IO 2019 Security
Parameter store 20190226
Well Architected Tool 使い方セミナー(コスト最適化編)
re:Growth 2018 Tokyo:Amazon FSx for Windows File Server はみんなが夢見たファイルサーバーなのか
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
JAWS-UG Hybrid #1 Code Commitに光をあててみた
JAWS-UG CLI #33 LT - AWS Directory Serviceを LDAP Serverとして 利用してみた

JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ

  • 1. JAWS-UG アーキテクチャ専門支部 ハイブリッド分科会 #9 EC2 Run Commandのいいところ 2016/11/1 Tue Nobuhiro Nakayama
  • 2. { "name":"Nobuhiro Nakayama", "company":"UCHIDAYOKO CO., LTD.", "favorite aws services":[ "Directory Service", "IAM", "AWS CLI" ], "certifications":[ "AWS Certified Solutions Architect-Professional", "AWS Certified SysOps Administrator-Associate", "Microsoft Certified Solutions Expert Server Infrastructure", "Microsoft Certified Solutions Expert SharePoint", "IPA Network Specialist", "IPA Information Security Specialist" ] }
  • 3. Code Deployを使うということ • 「EC2を使うということ」 ↓ • EC2インスタンスを管理しなければならない ↓ • EC2インスタンスは管理したくない ↓ • SSM(EC2 Run Command)を使ってはどうか? 2016/11/1 3 今日はCode Deploy回なので・・・
  • 4. EC2 Run Commandとは? • AWSのAPI経由でEC2インスタンスの中を操作できる! 2016/11/1 4
  • 5. EC2 Run Commandを使うための準備 • エージェントのインストール • Windowsはec2configがその役割を兼ねている • Linuxは専用のエージェントが必要 • インスタンスプロファイル • AmazonEC2RoleforSSM(マネージドポリシー)を利用すればOK • その他の前提条件を充足すること • インターネットへのアクセス など • http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/remote-commands-prereq.html 2016/11/1 5
  • 6. EC2 Run Commandでできること(1) • AWSがデフォルトで提供しているオペレーション • Windows / Linux共通 • 任意のコマンドやスクリプトの実行(Windowsの場合はPowerShell) • インスタンス上の任意のスクリプトを実行することも可能 • エージェントの更新(Windowsの場合は、ec2config) • Windows • Windows Update(設定、スキャン、更新) • アプリケーションのインストール • インベントリの収集 • ドメインへの参加(DirectoryServiceを利用する前提) • CloudWatchの設定(カスタムメトリック、CloudWatch Logs) 2016/11/1 6
  • 7. EC2 Run Commandでできること(2) • EC2 Run Commandで実行できることはドキュメントとして独自に定義可能 • 詳細はこちら • http://docs.aws.amazon.com/ja_jp/ssm/latest/APIReference/ssm-plugins.html • ドキュメントは他のAWSアカウントと共有できる • AMIを同じ感じ • パブリック/特定のAWSアカウントのみのいずれか • オンプレのインスタンスも管理できる 2016/11/1 7
  • 9. EC2 Run Commandの何がいいのか?(1) • AWSの機能を活用できる • 証跡を残せる • CloudTrailでAPIの呼び出し履歴を保存 • S3にコマンドの実行結果を保存 • 実行結果・ステータスの通知 • SNSでステータスに応じた通知 → 他のジョブとの連携(ピタゴラスイッチ) • APIで自動化 • マネコンにCLIで実行するときのコマンドを表示してくれる • OSにログインするための認証情報をやりとりする必要がなくなる • IAMユーザなら、上記の機能で証跡を容易に残せる • 業務の委託時の管理負担を軽減 2016/11/1 9
  • 10. EC2 Run Commandの何がいいのか?(2) • 【未確認】IAMによる権限制御 • 特定のドキュメントのみを実行できる権限を付与、などが可能(なはず・・・?) • ARNの構文 • arn:aws:ssm:region:account-id:document/document_name • https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ssm • (使った結果として)作業の定型化/非定型作業の明確化 • 定型化、スクリプト化できる作業はEC2 Run Commandで実装可能 • 検討した結果、 EC2 Run Commandで実装できない作業があればそれは非定型業務? 2016/11/1 10
  • 11. EC2 Run Commandの注意点 • コマンドの実行結果が長い場合、S3へ保存することが必須 • Management Consoleの場合、一定の長さで省略される • 仮想マシン内では管理者権限で処理を実行(していると思われる) • 特に「AWS-RunPowerShellScript」「AWS-RunShellScript」に対する許可を厳密に管理しよう 2016/11/1 11
  • 13. ディスカッションメモ • 「特定のパッケージのバージョンを取得する、みたいなことはできるのか」 • 「結果に応じて処理を分岐するようなことができるといいのでは?」 • 「状態を変えるような処理は行わないようにしたほうがいいのではないか?」 • 冪等性をどのように担保するのか • 「劇薬にもなり得る」 • 情報収集に留めるべき • 「Administratorやrootで動くのか?」 • →(たぶん)管理者権限で実行してる • 「使う人の力量が試されるサービス」 2016/11/1 13