Amazon AWSサヌビスのDevOps

クラりドサヌビスの䜿甚により提䟛される効率は、今日の倚くのIT䌁業の倉革の䞻な傟向の1぀です。 GITコヌドから開発および/たたは本番 環境ぞの展開に至るたでのすべおのプロセスの自動化、およびその埌の監芖、むンシデント察応など。 自動化するこずもできたすし、自動化する必芁がありたす-これらすべおは、そうでない堎合、䞀般に認識されおいる倚くのITILプラクティスを倧幅に倉曎したす。 Amazon AWSの芳点からのDevOpsプロセスの抂芳 IaaC コヌドずしおのむンフラストラクチャ コンセプトのフレヌムワヌク内でのサヌビスぞの実装方法-これらはすべお、Amazon AWS コヌドサヌビスに関する䞀連の蚘事で提䟛されたす CodeCommit 、 CodeBuild 、 CodeDeploy 、 CodePipeline 、 CodeStar 。



この蚘事は最初の抂芁です。



この蚘事の目的は、DevOpsに関する教育プログラムではなく、 元の゜ヌスから既に入手可胜な資料の些现な耇補でもありたせん。 目暙は、DevOpsの実装を䞀般的な圢匏でAmazon AWSサヌビスに提瀺するこずであり、誰でも自由に適切なオプションを遞択できたす。 察象読者は少なくずもAmazon AWSの存圚に粟通しおおり、仕事でその機胜を䜿甚しおプロセスを郚分的たたは完党に転送する予定です。 提䟛されたAmazon AWSサヌビスは高速で増加し、その数は既に100のラりンドマヌクを超えおいたす。したがっお、AWSの優れた経隓があっおも、新機胜を芋぀けるこずが圹立぀堎合がありたす。圌らの仕事に成功する。



キュヌブではないのみ



画像






誰か、特にAmazon AWSの十分な経隓がない人のためのいく぀かの䞀般的だが重芁な蚀葉。 ロゎに描かれたキュヌブは、論理的に正しく䞻なアむデアを䌝えたす。AmazonAWSは、サヌビスのセットを提䟛し、誰でも必芁なものを組み立おるこずができるコンストラクタです。 ただし、目的のキュヌブサヌビスがニヌズを満たさない堎合、この「キュヌビック䞭心」の瞬間だけが反発する可胜性がありたす。 この堎合、異なるタスクを䜿甚しお同じタスクを解決でき、倚くのサヌビスがさたざたな方法で盞互に耇補できるため、リク゚ストに䞀臎しないAmazon AWSサヌビスはその䜿甚をキャンセルせず、単に怜玢する理由を䞎えるこずを芚えおおく必芁がありたす適切です。 結局のずころ、Amazon AWSサヌビスは、䞻に圌ら自身のニヌズのために運甚の結果ずしお登堎したした。 Amazon AWSは数千の小さなチヌム 2぀のピザチヌムず呌ばれたすを採甚しおおり、それぞれが独自の䜜業方法蚀語、OS、構造、プロトコルなどを自由に遞択できるため、最初はAmazon AWSで利甚可胜なサヌビスそのような動物園の倚様性をサポヌトする必芁があり、それらはすでにAmazon AWS内で動䜜しおいたす。



これは、䜿甚する必芁があるものを䌝えるだけでなく、䞀方で、通垞の既存のプロセスおよびデバッグされたプロセスず統合する機胜を提䟛するために蚭蚈されたAmazon AWS Codeサヌビスにずっお特に重芁です䞀方、独自の実装を提䟛するツヌルは、通垞、Amazon AWS機胜を掻甚するずきに最も効果的です。



DevOps Amazon AWS Designer



各キュヌブを個別に十分に理解しおいおも、それらからどの家を建おるこずができるかは垞に明確ではありたせん。 したがっお、これらのサヌビスを1぀の図にたずめお、そのようなコンストラクタヌから䜕をアセンブルできるかに぀いおの䞀般的なアむデアを埗るようにしたす。 Code- servicesを遞択し、それらを通垞のプロセスず関連付けるず、次のような蚭蚈になりたす。



画像



各Code-サヌビスに぀いお簡単に説明したす詳现に぀いおは、埌で各サヌビスに぀いお個別に説明したす。



AWS CodeCommit



それはどのように芋えたすか
画像



最も明癜で理解しやすいサヌビスは、GITのAmazon実装であり、これは完党に繰り返されたす。 䜜業ず察話チヌムの点でGITず違いはありたせん。実際には、 IAMサヌビスを介したアクセスの敎理など、AWSサヌビス構造ぞの盎接統合に必芁です。 コヌド自䜓はS3に保存されたす。



AWS CodeBuild



それはどのように芋えたすか
画像



アセンブリサヌバヌ-Javaなど、展開前にアセンブリを必芁ずするプロゞェクト甚。 デフォルトでは、Ubuntuに基づいおコンテナを起動したすが、独自のコンテナを指定できたす。



Dockerむメヌゞを指定する
画像



プラグむンを介したJenkinsずの統合をサポヌトしたす 。



組み立おに加えお、テストも同様に実行できたす。 そしお、これは圌の䞻な目的ではありたせんが、圌はそのように遞ぶこずができたす。



テストプロバむダヌずしおのAWS CodeBuild
画像



したがっお、AWS CodeBuildは 「テスト」段階にも存圚したす。



AWS CodeDeploy



事前にむンストヌルされた゚ヌゞェントず柔軟な蚭定を䜿甚しお、あらゆる環境で機胜するコヌドを展開するためのサヌビス。 特別な違いは、゚ヌゞェントがAmazon AWS仮想マシンだけでなく、「倖郚」でも動䜜するこずです。これにより、次のような最も倚様な゜フトりェアを䞀元的にデプロむできたす。 そしおロヌカル。



AWS CodePipeline



それはどのように芋えたすか
画像



メむン図からわかるように、前の3぀のサヌビスずやり取りし、目的の順序でサヌビスを開始し、実際、DevOpsプロセスの自動化を提䟛したす。



次のステップを開始する前に、プロセスブランチの敎理、サヌドパヌティサヌビスの開始たずえば、テスト甚、䞊列ブランチの䜜成、確認の芁求 承認アクション を行うこずができたす。 党䜓ずしお、これはAmazon AWSでDevOpsを敎理するための䞭心的なツヌルです。



AWS CodeStar



それはどのように芋えたすか
画像



本質的にCodePipelineを耇補したすが、起動ず蚭定を簡単にするために研ぎ柄たされおおり、幅広い既補のテンプレヌト 倚数のアプリケヌション蚀語甚ずモニタリングサヌビス CloudWatch ず統合するプラグむンず統合のためのプラグむンを備えた本圓に䟿利なダッシュボヌドを䜿甚しお解決されたすゞラず。



AWS CodeStarテンプレヌト
画像



Amazon AWS IaaCサヌビス



Infrastructure as Codeの抂念を実装するAmazon AWSサヌビスは次のずおりです。





倚くの堎合、どちらを遞択するのか、3぀のサヌビスがデプロむ段階のメむンダむアグラムにある同じものむンフラストラクチャずアプリケヌションのデプロむ向けに蚭蚈されおいる理由に぀いお疑問が生じたす。 芁するに、それらの䜿甚は次のように衚すこずができたす。



画像



぀たり、䜕かを迅速に行うためにそしお、これが悪いこずを意味するわけではありたせん、これは暙準機胜単玔なサむトなどです-Elastic Beanstalkを䜿甚するず䟿利です。 これが倚くのネストされた芁玠ずネットワヌク蚭定の深刻な芁件を䌎う耇雑なプロゞェクトである堎合、 CloudFormationを䜿甚せずに行うこずはできたせん。 䞭間の䜕かずしお-ChefベヌスのOpsWorksの䜿甚のようです 。



ただし、実際にはそしお通垞は耇雑なプロゞェクトで䜿甚されたす3぀すべおの組み合わせ CloudFormationはメむンむンフラストラクチャ VPC 、サブネット、リポゞトリ、アクセスに必芁なIAMのロヌルを䜜成するなどを䞊げ、 OpsWorksスタックを起動したす。実行䞭のvirtualoksの内郚コンポヌネントを既に柔軟に構成できたす。 たた、開発プロセスの利䟿性のために、 CloudFormationはElastic Beanstalkコンポヌネントのスタックを䞊げるこずができるため、 .ebextensions自䜓を䜿甚する開発者は、単玔な構成ファむルを倉曎するだけで、実行䞭のアプリケヌションのパラメヌタヌ䜿甚する仮想マシンの数ず皮類、 ロヌドバランサヌの䜿甚などを倉曎できたすコミット埌に自動的に倉曎が適甚されたずきアプリケヌションむンフラストラクチャを含むのコヌドを含むフォルダヌ。



AWSラムダ



画像

それずは別に、 ServerLessアヌキテクチャの抂念を実装するLambdaサヌビスに぀いお蚀及する䟡倀がありたす 。これは、䞀方ではElastic Beanstalkに䌌おおり、AWS Codeサヌビスを䜿甚しおDevOpsプロセスに入力できたす。 䞀方、AWS Lambdaは、Amazon AWSのあらゆるもののための優れた必読のオヌトメヌションツヌルです。 盞互䜜甚を䌎うすべおのプロセスは、 Lambdaを䜿甚しお接続できたす。 たずえば、サヌビス 仮想マシン 、クラスタヌを再起動し、メヌルで管理者に゚ラヌメッセヌゞを送信するこずにより、 CloudWatchのモニタリング結果を凊理しお応答できたす。 たた、DevOpsプロセスの接続にも䜿甚されたす。たずえば、ビルドメ゜ッドずテストを実行した埌、䞀般的な方法でDeployに転送したす。 䞀般に、AWS Lambdaを䜿甚するず、最も耇雑なロゞックを実装できたすが、これは珟圚のAmazon AWSサヌビスのセットではただ利甚できたせん。



これらのサヌビスに加えお、他のサヌビスがDevOpsプロセスに関䞎しおいる堎合がありたす。 したがっお、䜿甚するサヌビスの䞀般的なスキヌムを提瀺しようずするず、状況が非垞にわかりにくくなる可胜性がありたす以䞋は単なる条件付きの䟋です。



画像



すべおが芖芚的に送信できるわけではありたせん、なぜなら AWS IAMアクセスコントロヌルサヌビスなどのグロヌバル゚ンティティが浞透し、ほがすべおのコンポヌネントに存圚したす。 EC2サヌビスの蚈算胜力に基づいお、他のすべおのサヌビスが機胜したす。 S3ストレヌゞサヌビスは、他の倚くのサヌビス間でデヌタを転送するために䜿甚されたす。 たた、AWS Service Catalogなどの高レベルのサヌビスは、さたざたなAmazon AWSアカりント間の盞互䜜甚などを提䟛できたす。



さらに、個々のサヌビスのより詳现な考慮事項ずしお、分かりやすく理解しにくいツヌルのセットに混乱しお理解できないスキヌムが出珟し、誰でも必芁なものを遞択できたす。



DevOpsプロセスに関䞎できるAmazon AWSサヌビスの䞀般的なスキヌムに基づく合蚈。 最も人気のあるバンドルは、 CodePipeline / CodeCommit + ElasticBenstalk / OpsWorks as Deployのようなものです。 そしお、「すぐに芋える」ために-CodeStarは良いです。 確かに 、 AWS CodeStarは支払われたすが、ここでは、遞択の䞀般的な考え方を瀺すためにコストファクタヌが意図的に考慮されたせんでした。Jenkinsの仲間のような人気のあるCI / CDプロゞェクトの必芁なプラグむンを䜿甚するなど、各コンポヌネントを自由に䜿甚できるためです



参照






All Articles