Help us understand the problem. What is going on with this article?

イベントレポート(Developers.IO 2019)

AWS関連のイベント、セミナーに参加してきましたので、自分に対する備忘も兼ねて要点を纏めておきたいと思います。

・参加イベント
【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS、機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数!

毎年開催されているクラスメソッド様のイベントです。
徐々に規模拡大されているようで、今年は1000人以上も参加者がいたそうです。
私は今の現場でCDKを使い始めたこともあって、CloudFormationやCDKなど、IoC関連のセッションをメインに聞いてきました。

各セッション内容纏め

1. AWSのすべてをコードで管理する方法〜その理想と現実〜(濱田孝治氏)

  https://dev.classmethod.jp/cloud/aws/aws-all-iac/

IaCを理解する

  • IACは状態を定義(CLIは処理を定義)
  • 手法 CloudFormation、Terraform、CDK
  • CloudFormationのテンプレートについて  ⇒JSONは古いので、YAMLに変える   リソース記述順は関係ない(Parameter、Resources、Outputsは必須)
  • CDKは入門編(Workshop)で学習可能

CLIで実行する

  • CLIでCloudFormationを実行する(運用効率化)  ⇒create-stack使わない、deployを使う   ⇒deployはチェンジセット必ず作成、チェックバリデーションもしてくれる    ⇒--no-execute-changesetを使う
  • 本当にあった怖い話  同じスタック名で作成してスタック消える  ⇒対策はチェンジセット見る
  • 実行はCLI、結果確認はGUIで良い

複数リソースを作成する

  • 典型的な一式を作ると1000行超える
  • スタックの分け方 ⇒VPCとセキュリティグループは分ける(セキュリティグループは変更多いのでIaCでなくてもよい)
  • スタック間でリソースを参照する方法  ⇒クロススタック参照   ⇒注意点は参照しているスタックがある場合、削除できない    ⇒例)ECSのTaskをServiceがクロススタック参照する形だと運用破綻
  • ダイナミック参照   ⇒SystemsManagerのパラメータストア    ⇒DBのパスワードなど
  • シェルで頑張る  ⇒ECRのURIなど(CloudFormationでoutputできない)

運用上のつらみ

  • スタックの作成が終わらない  ⇒EC2に割り当たっているセキュリティグループを削除しようとすると返ってこない   サービス定義が誤ったECSの作成
  • 新機能に対応しない
  • 循環参照
  • Conditionsに頼らない  ⇒条件分岐はテンプレートに適さない   ⇒テンプレートを分けるなどで対応する方がよい
  • CloudFormation以外でリソース更新される  ⇒スタック更新が正常に働かなくなる   ⇒Drift Detection(ドリフト検出)で対応    ⇒AWS Configで自動Drift検知も(cloudformation-stack-drift-detection-check)

パイプラインでインフラ構築

  • 実行場所
     ⇒個人のクライアントPC、適当なEC2インスタンス、リポジトリからのパイプライン実行

  • パイプライン実行例
     ⇒CodeCommitにテンプレート
      ⇒CodeBuild チェンジセットまで
       ⇒確認、問題なければCodeBuild スタック作成

1. Amazon CultureとAWSの設計思想 ~マイクロサービスアーキテクチャとアジャイル開発~

AWS亀田治伸 氏
https://dev.classmethod.jp/report/report-developers-io-2019-tokyo-amazon-culture/

AWS CDKの基本と実例

加藤諒氏

  • AWS構築の歴史
    1.手順書(AMC、LambdaのIAMロール自動作成など
    2.スクリプト
    3.プロビジョニングツール(CloudFormation、Terraform、DOMs、GoFormation、CDK)
    4.CDK

  • AWS CDKのメリット
    コードで書けると嬉しいのか?
    ⇒型があり、IDEの支援が受けられる
    CDKによる抽象化
    cdk.jsonに環境ごとのパラメータを設定できる(--context)

  • AWS CDKでテストを行うべき理由
    CDKは頻繁にアップデートされる
    CloudFormationコードが変更されたかの検知をしたい

  • テストの種類
    Snapshot Tests・・・生成されるCloudFormation差分を確認
    Fine-grained tests・・・意図したCloudFormationリソースが存在するか
    ValidationTest

最近のAuroraのアップデート使いこなし術 〜 ServerlessやMulti-Masterどんな時に利用する? 〜

大栗宗氏

Auroraとは

大量アクセスのスループットが向上する方針で開発

Aurora Serverless

DBインスタンスを意識せずに自動でスケーリングする形態
通常のAuroraより割高

最近のAuroraアップデート

・Custom Endpoint
バッチアクセスとスループットが求められるアクセスのリソース分離
・GlobalDatabase
リージョン外にレプリケーションする機能
・Aurora Serverless Data API
インターネットからAPIでAurora ServerlessにAPIアクセスする
IAM機能でセキュリティ担保
HTTPだがトランザクション可能
VPC Lambdaが高速になったため、利用用途がなくなってきている
・Multi-Master Cluster
楽観的な同時実行制御
書き込み競合は発生する

所感、自身の仕事に活かせたことなど

インフラのセッションにメインで参加してきましたが、
初心者でも分かるように丁寧に説明してくれています。
インフラエンジニア初心者にもお勧めできるイベントかなと思います。
来年もぜひ参加したいイベントです。
自身の仕事に活かせたこととしては下記が挙げられます。
・CloudFormationをCLIで実行(deployコマンド --no-execute-changeset付き)
・DBのパスワードなどはSSMのパラメータストアで定義する
・cdk.jsonに環境差分を書く
・Python自動テストの利用(これは要検討)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした