Developers Summit 2018 「AWSのフルマネージドな環境でCI/CDをやってみよう!AWS Cloud9からAWS Fargateへの継続的デプロイをご紹介」を聞きました
2018/02/17
※写真は展示のAmazon Echoです。
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容やご意見ではないことを、ご承知おきください。
スピーカーはAWSJ DevOps スペシャリスト ソリューション アーキテクトの福井さん。
目次
AWS Cloud9
なんでCloud9を作ったのかという話から。
ソフトウェア開発には「実行」、「リリース」、「区政」の3つの柱がある。
今までは開発環境はローカルで構築/設定してはじめてコーディングをしていた。
多くのプロジェクトをやるのも大変だった。
チーム開発が多くなってきたのでコラボレーション(コードレビューなど)出来ることも重要になった。
従来のIDEがサーバーレスに追いついてない。
なので、ブラウザのみで開発できるCloud9が生まれた。
- ブラウザのみで開発出来る
- 環境を作らなくていい(AMIに必要なリソースがあらかじめ入っている)
- すぐにコーディングを開始できる
- リアルタイムに共同コーディング
- サーバーレスアプリケーションの開発を容易に
- AWSサービス(例えばEC2)に直接ターミナルアクセス
- 2018年2月現在で5リージョンで使える(Cloud9は別リージョンでも東京リージョンのLambdaを使うことは可能)
- 課金はEC2への課金でCloud9は無料
AWS Fargate
コンテナはアプリケーションをパッケージングして配布できる。
Immutable Infrastructure(一度サーバーを構築したらその後はサーバーのソフトウェアに変更を加えない、不変)。
「アプリケーション開発に集中したい」の声が多く、コンテナ管理、インスタンス管理を不要にしたい、との声からFargateが生まれた。
なのでECSのようにEC2を気にしなくて良くなった。
課金はメモリ/CPUに対しての秒単位課金。
SLAはECS同様に99.99%。
AWS Code5兄弟
CodePipelineでCodeCommit , CodeBuild , CodeDeployをつないで使える。
CodeCommit
リポジトリ無制限、5ユーザーまで無料。
最初は素のGitだったけど、プルリクとか差分表示とか色々出来るようになってますね。
なので、プライベートリポジトリはCodeCommitを使ってます。
CodeBuild
YAM(buildspece.yaml)Lを書くとコンテナを立ち上げてその手順でビルドしてくれる。
結果はCloudWatchに出力される。
課金は実行した分単位の課金。
CodeDeploy
AutoScallingと連携できるので常に新しいコードでEC2インスタンスを起動することが出来る。
EC2へのデプロイは無料。
CodePipeline
CodeCommit . CodeBuild , CodeDeployを実行している。
CodeStart
CodePipelineの構成とダッシュボードを提供してくれる。
ほぼ追加料金無料。
デモ
Cloud9からFargateまでのPHPアプリケーションデプロイ自動処理でした。
Cloud9からCodeCommitにコミットしてプッシュ。
CodePipelineがCodeCommitの変更を検知してCodeBuildを実行。
CodeBuildはビルドしてECRにプッシュしてデプロイフェイズに入る。
新しいコンテナが起動し終わると古いコンテナが消えるBlueGreenの動きをする。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Systems Manager Session ManagerでLinuxインスタンスのRun Asサポートを有効にする
AWS Systems Manager Session Managerの設定画面 …
-
-
ある意味マネジメントコンソールで生成された署名付きURL
マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …
-
-
S3オブジェクトロックを試しました
S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定した …
-
-
「Amazon EKS Workshop」の環境準備とクラスター作成
今はアーカイブになっている1つ前のEKS Workshopの環境準備記録です。 …
-
-
AWS Managed Microsoft ADを構築してユーザー追加まで
事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …
-
-
EC2 Auto Scalingグループでインスタンスの更新を実行
このブログのAMI、起動テンプレートを更新して、EC2 Auto Scaling …
-
-
「JAWS-UG大阪 re:Invent re:Cap LT大会 サンバが始まったら強制終了」の起案記録
2025/1/16に「JAWS-UG大阪 re:Invent re:Cap LT …
-
-
AWS Summit 2016 Tokyoに参加してきました (Day2)
馬込は非常に良い天気です。 泊まっている部屋が2Fでしたので窓を明けると歩いてい …
-
-
S3リクエストメトリクスをプレフィックスを指定して有効化
検証でどのリクエストがどれぐらい発生しているのか、さっと知りたくなったので、特定 …
-
-
Java SE 7 Silver模擬テストの結果気になる問題をメモ 2015/2/13
違う種類の模擬テスト1回目。 90問中77問正解。 正解率85%。 まだまだ不安 …

