Slide 1

Similar documents
AWS Deck Template

利用約款別紙 SkyCDP for AWS 基本サービス仕様書 この仕様書は SkyCDP for AWS の基本サービスに関する内容 方法について記述したものです 尚 SkyCDP for AWS オプションサービスをご利用のお客様は各 SkyCDP for AWS オプションサービスのご契約内容

Azure 活用シナリオ PHP ホームページを移行 1

Microsoft PowerPoint - Tutorial_2_upd.ppt

Cuoreテンプレート

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

1. アンケート集計サンプルについて ここでは Windows Azure と SQL Azure を使ってアンケートを実施し アンケート結果を Excel で集計するサンプルについて説明します アンケートは Windows Azure で運用し アンケート結果は SQL Azure に格納されます

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

PowerPoint プレゼンテーション

FileMaker Cloud App FileMaker Pro FileMaker Go FileMaker WebDirect App FileMaker Cloud Amazon Web Services (AWS) Marketplace AWS FileMaker Server File

内容環境... 3 対応 OS の変更... 3 関連アプリケーションの追加... 4 機能追加... 5 グラフ機能... 5 稼働率... 8 サービス一括削除 自動復旧エスカレーションコマンド AWS カスタムメトリックス監視 NRPE 任意監視... 11

リバースプロキシー(冗長構成)構築手順

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

PowerPoint プレゼンテーション

スライド 1

そこが知りたい!AWSクラウドのセキュリティ

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

(Microsoft PowerPoint Android\202\314\211\357.pptx)

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

intra-mart WebPlatform/AppFramework

Mobile Access簡易設定ガイド

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

PHP 分科会 '12/01 OpenSource 協議会 System i 2012/01/26

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

PowerPoint Presentation

ADempiere (3.5)

<Amazon Web Services 上 での     JobCenter 構築ガイド>

ESMPRO/ServerManager Ver. 6 変更履歴

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

VPN 接続の設定

PowerPoint プレゼンテーション

Office365 AL-Mail

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

Congress Deep Dive

miChecker導入手順書

[Unifinity]運用マニュアル

KS_GoogleApps_guide

利用者

FUJITSU Cloud Service for OSS 「ソフトウェア カフェテリア」 ご紹介資料

intra-mart Accel Platform

Mobile Access IPSec VPN設定ガイド

よくある問題を解決する~ 5 分でそのままつかえるソリューション by AWS ソリューションズビルダチーム

GXS-I WebIEAS オペレーション ガイド 版 : 第 1 版 2007 年 01 月 22 日 第 2 版 2011 年 12 月 02 日 第 3 版 2012 年 04 月 27 日 第 4 版 2013 年 06 月 17 日 ( 本書 ) GXS 株式会社 (c) 20

Webセキュリティサービス

~ アドレス収集くん ~ セキュリティ対策御説明資料

intra-mart e-Builder ver 5

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

ESET NOD32 アンチウイルス 6 リリースノート

目次 1. Azure Storage をインストールする Azure Storage のインストール Azure Storage のアンインストール Azure Storage を使う ストレージアカウントの登録... 7

汎用プロキシ利用案内 汎用プロキシ利用案内 目次 汎用プロキシ利用案内 はじめに 汎用プロキシとは 利用可能なポート 概要 動作環境 インストール Windows <I

ServerView Agents 補足情報

BOM for Windows Ver

Microsoft PowerPoint - 【Webnner】はじめてのHULFT-WebFT.pptx

HeartCoreインストールマニュアル(PHP版)

PowerPoint プレゼンテーション

KADIAS Mac OS X 用事前環境準備手順書

目次 1.TypeA ご利用ソフト更新ツール概要 更新ツール実行における注意点 更新ツール実行時の注意点 管理者権限について Prox y 認証 更新ツールの実行 トラブルシューティ

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

サーバセキュリティサービスアップグレード手順書 Deep Security 9.6SP1 (Windows) NEC 第 1 版 2017/08/23

Oracle Business Intelligence Standard Edition One のインストール

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

セキュアブラウザについて セキュアブラウザは デスクネッツを自宅や外出先などから安全に利用するためのツール ( アプリ ) です セキュアブラウザというアプリを使用してデスクネッツを利用します 通常のブラウザアクセスと同じようにデスクネッツをご利用頂けます 端末の紛失 盗難による情報漏えいを防ぐため

目次 第 1 章はじめに... 3 第 2 章ネットワーク設定 DNS の設定 アウトバウンド HTTPS 接続の許可 アウトバウンド SMTP/POP 接続の許可... 4 第 3 章 JDK への追加ライブラリインストール

Alibaba Cloud [ ナレッジドキュメント ] AWS S3 から AlibabaCloud OSS へのマイグレーション手順 AWS S3 からAlibaba Cloud OSS への マイグレーション手順 Ver SB Cloud Corp Al

Transcription:

AWS マイスターシリーズ ~AWS Elastic Beanstalk~ 2012 年 04 月 16 日 片山暁雄 ( @c9katayama ) ソリューションアーキテクト

2011/11/22 リリース! IAM を使用して Elastic Beanstalk のアクセス制御が可能に! アプリケーション毎に操作権限を付与可能 http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/index.html?aws HowTo.iam.html

2012/3/20 リリース! PHP and Git Deployment for AWS Elastic Beanstalk PHP5.3 Git リポジトリ

Agenda AWS Elastic Beanstalkの概要しくみ HostManager 開発 デプロイ各種設定他サービスとの連携その他 Tips まとめ Copyright 2011 Amazon Web Services

AWS Elastic Beanstalk の概要

AWS Elastic Beanstalk とは Beanstalk = 豆の木 アプリケーションが実る幹 のイメージ Web アプリケーションの実行環境を構築 管理するサービス 使用可能な言語 :Java(OpenJDK6),PHP 5.3 コンテナとして Tomcat6 7 Apache(PHP) をサポート

AWS Elastic Beanstalk とは 利用出来るAPIの制約 処理時間の制約はない ServletおよびPHPの機能はすべて利用可能 ライブラリやフレームワークの制約もない Java:Warでデプロイ PHP:ZIP or Git デプロイ ロードバランサー オートスケーリング ロードバランサーとオートスケーリングが標準装備 詳細な条件設定が可能 実行環境の設定 サーバスペック VM 設定など 40 項目以上の設定が可能

AWS Elastic Beanstalk とは Webアプリケーションのバージョン管理 WARやZIPの世代管理が可能 アプリのロールバック ロールフォワードが容易 複数環境の構築が可能 本番 テストなど目的別に構築可能 開発 管理ツールを提供 AWS Management Console コマンドラインツール Eclipseプラグイン

開発 管理ツール AWS Management Console AWS Toolkit for Eclipse

しくみ

アプリケーション管理の論理構成 Application Environment URL Environment Configuration Environment URL Environment Configuration Environment URL Environment Configuration Version WAR/ZIP WAR/ZIP WAR/ZIP WAR/ZIP WAR/ZIP Configuration Template

用語説明 Application トップレベルの論理単位 Application の中に Environment や Version が入る デプロイするアプリケーション (WAR/ZIP ファイル ) と混同しやすいので注意 Environment ConfigurationTemplate を元に構成される WAR をデプロイする環境 環境毎に URL が付与される URL は XXX.elasticbeanstalk.com 各環境毎に EC2 ELB などが立ち上がる ログも環境毎に取得できる (1 時間おきに S3 へ送信可能 )

用語説明 Version Web アプリケーションのバージョン管理 アプリケーションファイルの履歴管理が可能 S3 上でファイルを保持 Version で管理した WAR/ZIP ファイルを 各 Environment と紐付け

テクニカルアーキテクチャ Environment URL この環境が自動で構成される ElasticLoadBalanceing Management Console SNS S3 HM HM CloudWatch eclipse EC2 AutoScaling EC2 Security Group

HostManager

HostManager 各 EC2インスタンス上で動作 Rubyで実装 /opt/elasticbeanstalk/srv/hostmanager/lib/ OS 起動と同時に起動 動作に必要なパラメータは userdata を通じて入手 プロセス起動と監視 Tomcat Apache Thin(HostManager 用 Webサーバ ) の起動 Bluepill というアプリでプロセスを監視 プロセスが落ちると プロセスを再起動 HostManager

HostManager Web アプリケーションの生存確認 ELB からの通信を受け取り Web サーバ内部で Web アプリの生存を確認して返答 /_hostmanager/healthcheck EC2 HostManager 指定 URL を確認

HostManager WAR/ZIP 入れ替え アプリサーバ再起動 設定反映などの処理 各処理の指示が入った HTTP 通信を受け取り 指定の処理を実行 通信は AES-256 で暗号化 Java->war ファイル入れ替え PHP->htdocs に zip 展開 /_hostmanager/tasks 暗号化データを POST 処理を実行 HostManager

開発 デプロイ

開発 AWS Toolkit for Eclipse http://aws.amazon.com/jp/eclipse/ Eclipseマーケットプレースから AWS で検索 Eclipse IDE for Java EE Developers 3.6 or higher

開発 機能 AWSサービスのエクスプローラー Webアプリ作成ウィザード Beanstalkの環境構築 環境設定 Webアプリケーションのデプロイ Tomcatのリモートデバッガー Environmentのイベント ログビューア

デプロイ Java -> Eclipse もしくは Management Console PHP -> Git もしくは Management Console

Eclipse:WAR ファイルのデプロイ プロジェクト右クリック >Run As >Run on Server

デプロイ先の Environment を選択

Finish を選択

Version 管理時のラベルを入力 S3 にアップロード開始完了後に自動でデプロイ

イベントログでデプロイ完了を確認

Git Git をインストール AWS の開発キットをダウンロード http://aws.amazon.com/code/6752709412171743 AWSDevTools-OneTimeSetup で git に機能を追加 ローカルにリポジトリを作成 AWSDevTools-RepositorySetup を使い リポジトリを初期化 AWS の情報を設定 git aws.config コマンド AccessID エンドポイント 対象の Beanstalk App など http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deplo y_php.html

Git でデプロイ ローカルリポジトリにソースをコミット次のコマンドでデプロイ git aws.push 自動生成されたgitリポジトリにソースが入るコミット後 リポジトリの中身が丸ごとzipになりS3へ格納 バージョン付けされる Hostmanagerがzipをデプロイ Apacheのhtdocs 以下を削除 -> 展開 DEMO

AWS ManagementConsole Deploy a Different Version を選択

Version ラベルを入力 WAR ファイルを選択

Event ログで確認

デプロイ ステージ毎に環境を分けることが可能 本番用 テスト用 開発用 URL スワップ機能とバージョン機能を利用する Environment デプロイするアプリは自由に選択出来る Version URL Environment Configuration WAR/ZIP URL を入れ替えることで テスト済みの環境をそのまま公開できる Environment URL Environment Configuration Environment URL Environment Configuration WAR/ZIP WAR/ZIP WAR/ZIP WAR/ZIP

Java で Git デプロイ 一応出来ます ただし git リポジトリに war を展開した形で配置する必要あり WEB-INF/classes にクラスファイルを並べる必要あり

各種設定

各種設定 Environment 毎に設定が可能 サーバ設定 インスタンスタイプ セキュリティグループ キーペア 監視間隔 AMI オートスケール設定 最小 / 最大サーバ数 配置 AZ スケール時のトリガーロードバランサ HTTP/HTTPSポート ヘルスチェック設定 セッションStickey

各種設定 ( つづき ) サーブレットコンテナ設定 (Java) ヒープサイズ ( 最小 / 最大 /permgen) Tomcat 起動引数 リモートデバッグ有無 環境変数 HTTPサーバ設定 (PHP) ドキュメントルート位置 メモリ URL Fopen Zlib 圧縮 Display Erroes Max Exection Time

各種設定 ( つづき ) ログ設定 S3 へのバックアップ ( 毎時 ) イベント通知 トピック設定 宛先設定

設定方法 Eclipse,Console いずれでも設定可能 DEMO

他サービスとの連携

他サービスとの連携 AWS の他のサービスとの連携は可能 Relational Database Service(RDB サービス ) Oracle,MySQL Simple DB( キーバリューストア ) ElastiCache(memcached) Simple Email Service( メール送信 ) CloudFront( コンテンツ配信 ) Simple Queue Service( キューイング )

他サービスとの連携 DB のエンドポイントや SimpleDB のドメインなどの引き渡し Userdata が使えないため 現状では環境変数で設定

さらに密に連携する AMI の ID を設定できるため Beanstalk の AMI を元に作り込む 常に使うアプリケーションはインストールしておく Tomcat PHP のライブラリ配置も必要であれば行う OS 起動時に Chef/puppet を起動するようにスクリプトを仕込む

その他 Tips

その他 Tips SSH でログイン可能 障害時の詳細調査 アプリケーションのインストール デフォルト構成で使用 手間 パラメータ調整他サービスとの連携 柔軟性 テンプレートカスタマイズ SSH 接続

その他 Tips 1 つの Tomcat 上の複数 WAR 管理は不可 手動でのデプロイは可能だが 管理対象外 セッションクラスタリングはデフォルト OFF サーバのスケールアップ InstanceType を変更すると 新しいインスタンスタイプのサーバを起動後 ELB 設定を切り替えて古いサーバをシャットダウンしてくれる SSL も利用可能 API 経由で SSL 証明書を登録後 Environment の ELB 設定を実施

料金 Elastic Beanstalk 自体の利用は \0 Environment 構築に伴って利用した AWS サービスに対して課金 利用サービス単位コスト計算コスト Amazon EC2 t1.micro instance 1 $0.02/hr * 24 hours * 30 days $14.40 Elastic Load Balancer 1 $0.025/hr * 24 hours * 30 days $18.00 ELB Data Processing 15GB $0.008/GB * 15GB $0.12 Elastic Block Store volume 8GB $0.10/GB * 8GB $0.80 S3 Storage for WAR File 1GB $0.14/1GB + $0.01 PUT,GET $0.15 Bandwidth In and Out 15GB Inbound is free, 15 GB out * $0.12 $1.80 月額 $35.27

制約事項 cloud-init が使用不可 CloudFromationとの密接な連携はこれから AMI 作り込みか カスタムスクリプトで Amazon VPC(Virtual Private Cloud) は未対応 現在米国東部 (US-EAST) でのみ利用可能 しばし しばしお待ちを

まとめ

まとめ Beanstalk で 容易に Java/PHP 実行環境の構築が可能 ステージ毎の環境構築が可能 Eclipse/Git を使用して 実装 設定 デプロイがシームレスに AWS の他サービスとも連携 必要に応じて パラメータ設定 カスタム AMI の利用が可能

Elastic Beanstalk で 大きな実 ( アプリケーション ) を 育てよう!