こんにちは、GMOインターネットグループ株式会社 システム統括本部 ホスティング・クラウド開発部 アプリケーション共通チーム(AWS運用チーム)の井本です。弊社では、2023年よりオンプレミスからクラウド環境へとシフトする取り組みを実施しております。その中で得たAWS運用の知見や現在の取り組み、運用チームとしての今後の展望について本記事で紹介させていただきます。
はじめに
私は配属以来、AWS関連業務, 社内開発ツール(CICD CodePipeline 自動作成ツール等)の機能追加、DevSecOps, RPA活用プロジェクトなど、多くの業務を担当をさせていただき、成長機会をいただいております。
本記事では、中でも主業務として取り組んでいるAWS運用チームの取り組みについて、その知見や現時点における課題、中長期的な今後の展望とともに紹介させていただきます。
現在の取り組み
一般的に、運用では、すべて手作業で行う「運用開始フェーズ」、自動化・移譲を推進する「自動化・移譲フェーズ」、ある程度自動化・移譲が完了し、より生産性の高い業務に取り組む「安定フェーズ」に分けられると私は考えています。結論、弊社のAWS運用においては、現在「自動化・移譲フェーズ」にあり、すべて手作業で行っていた定常業務を、ツール導入により自動化したり、各チームへの移譲を進めている段階です。
具体的に、どのような定常業務があり、現時点での自動化・移譲の状況はどうなっているかをまとめてみました。
定常業務
AWS運用チームとしての現在の定常業務は下記となっております。
IAM Identity Centerの追加・編集・削除AWSアカウント権限追加AWSアカウント作成AWS予算管理 / コスト報告コストモニタリング / コスト削減施策AWSサービス稼働前各種申請TGW関連作業DNS(名前解決)設定Public HostZone登録CICD CodePipeline作成
なお、これらの定常業務は、すべてドキュメント化やレクチャーを適宜実施しており、AWS運用メンバー全員が対応できる状態となっております。
自動化・移譲への取り組み
自動化・移譲が完了している業務
AWSアカウント権限追加(一時的な権限付与)AWSサービス稼働前各種申請CICD CodePipeline作成
AWSアカウント権限追加(一時的な権限付与)については、aws-samplesにて公開されていますTemporary Elevated Access Management (TEAM)というソリューションを弊社の要件に合うようにカスタマイズし、私が11月にリリースさせていただいたGuardianというアプリケーションにて、自動化を実現しました。また、他業務については、各チームにレクチャーを行い、作業の移譲を実現しました。なお、CICD CodePipelineは、社内ツールに適宜機能追加をしており、GUI上の操作のみで作成できる仕組みとなっております。
自動化・移譲の余地がある業務
AWS予算管理 / コスト報告コストモニタリング / コスト削減施策TGW関連作業DNS(名前解決)設定Public HostZone登録
自動化・移譲予定のない業務
IAM Identity Centerの追加・編集・削除AWSアカウント権限追加(恒久的な権限付与)AWSアカウント作成
これらはすべて、セキュアに管理・操作を行う必要があり、自動化・移譲を実現しようとすると、かえって各方面への調整や作業コストが膨大になってしまうため、直近で自動化・移譲は予定しておりません。
現時点における課題
AWS運用チームでは、下記の3点に課題を抱えており、目下取り組んでおります。
「自動化・移譲の余地がある業務」の自動化・移譲セキュリティ統制(発見的統制)の整備コスト最適化
「自動化・移譲の余地がある業務」の自動化・移譲
コスト関連の業務については、現状はAWS運用チームが日次でモニタリングし、適宜、コスト削減施策を実施していますが、今後は各チームでコスト意識、およびコスト削減目標を持っていただき、移譲を進めていく予定です。また、TGW関連作業やDNS設定、Public HostZone登録については、社内ツールの機能追加を行い、自動化や移譲の実現を検討しております。
セキュリティ統制(発見的統制)の整備
セキュリティ統制としては、一般的に予防的統制と発見的統制があります。予防的統制には、ネットワークトラフィック保護(ACM),ネットワーク、ファイアウォール構成(セキュリティグループ, WAF), サーバー側の暗号化(KMS)などがあります。発見的統制は、セキュリティイベントに備えるというもので、AWS Config Rules, AWS Security Hub, Amazon GuardDutyなどを利用して整備を行うのが一般的です。
弊社では、予防的統制は既に整備が完了していますが、発見的統制については一部Amazon GuardDutyを導入しているものの、充分な活用は出来ていない状況です。そのため、まずはAmazon GuardDutyを活用して、継続的なデータ分析およびセキュリティ監視を行い、検出結果からその対応を進めていきたいと考えています。
コスト最適化
現状、NAT集約やNATとVPC-EPのコストを比較した通信経路の最適化、不要リソースの特定・削除、ECSにおけるスペック最適化など、順次コスト削減施策を実施しています。全商材共通で取り組む必要があるコスト削減施策としては、テスト環境停止(業務時間外)の自動化を残すくらいですが、今後も継続的にコスト削減施策を実施していくために、タグ付けによる可視化やクイックウィン最適化、アーキテクチャ最適化など、まずはAWS運用チームの中で知見を深める必要があると考えています。
中長期的な今後の展望
先述した課題への取り組みが完了すれば、AWSのリリースノートから新機能・サービスのキャッチアップを行い、各チームへの展開やソリューションの提供に取り組んでいきたいと考えています。また、AWS全般における知見を深め、GPTsなども有効活用しながら、各チームの技術的な支援にも注力していきたいと考えております。
さらに、弊社ではDevSecOpsの推進も行っているため、そのプロジェクトと連携しながら、ログアーキテクチャの見直しを実施し、アプリケーションスタックのあらゆるレベルでモニタリングとロギングの機能を持てる状態を実現させていきたいと考えています。
おわりに
いかがだったでしょうか。
以上が、AWS運用チームの取り組みになります。皆様に引き続き、安心して弊社のサービスをご愛顧いただけるよう、私自身、まだまだ駆け出しのエンジニアではありますが、日々奮闘していきたいと思います。