こんにちは「やま」です。
前回、MS Copilotを利用したOfficeをご紹介していましたが、今回はお休みしてAWSサービスのについてお話したいと思います。
(MS CopilotのPowerPoint編、Outlook編は次回に記載します)
AWSの業務効率化コンピューティング・ストレージ・データベース・分析・ネットワーキングなどのカテゴリがあります。その中からコンピューティングサービスのAmazon コンテナサービスについて下記のお話したいと思います。
・AWSのコンテナの効率化とメリット
・AWSのコンテナに触れてみる
まずは、AWSの「コンテナ」とは、
簡単に説明するとアプリケーションとその実行に必要な全ての要素をパッケージ化する技術です。例えると、引っ越しの時に使う「コンテナボックス」のように、必要なものを一箱にまとめて、どこでも同じように使えるようにする仕組みです。
・従来: 「動かない?え、環境が違うから?」
・コンテナ: 「どこでも動くから安心!」
AWSは、この便利なコンテナを簡単に使えるようにするサービスを提供しています。
AWSのコンテナの効率化とメリット
Amazonが提供する主要なコンテナ関連サービスは、以下の通りです。それぞれ異なるユースケースに最適化されています。
サービス名 | 主な特徴 | 主要なユースケース |
Amazon ECS | コンテナの実行、管理 | マイクロサービス(複数の独立した機能)、バッチ処理 |
Amazon ECR | コンテナイメージの管理 | イメージの保存と管理やデプロイ |
Amazon EKS | Kubernetesサポート | Kubernetes環境、マルチクラウド |
AWS Fargate | サーバーレス基盤 | インフラ管理を軽減したい場合 |
Amazon App Runner | アプリケーションデプロイ専用 | 小規模なウェブアプリケーション |
AWS Batch | バッチ処理の実行 | 科学計算、画像・動画処理、大規模データ解析 |
AWS Copilot | CLIベースのコンテナアプリケーション開発ツール | 開発者向けの簡易的なコンテナ運用 |
では、AWSのコンテナを利用することによって実現できる効率化とメリットは。
1. 開発業務の効率化
環境構築が「ボタン」ポチポチで完了。時間の削減。
メンバーが同じ開発環境を使用するので、「私の環境では動くのに」という問題が解消。
作成したコードを他のプロジェクトで簡単に再利用が可能。
CI/CD(継続的インテグレーションと継続的デリバリー)の自動化による開発とテストの生産性の向上。
2. デプロイメント作業の効率化
リリース作業が自動化ができるので、手作業や作業立会の短縮。
また、デプロイが自動化なので作業工程が減るため、人的ミスが軽減。
問題が発生した場合、数分で以前のバージョンに戻せる。
3. テスト・品質管理の効率化
自動テストが常に同じ環境で実行されるため、テスト結果の信頼性が向上。
新機能のテストに必要な環境を数分で用意可能。
(環境準備に最低でも数時間必要だった作業が数分)
本番環境で発見されたバグを開発環境で同じ条件で再現可能。
4. コストの効率化
- リソースの自動最適化により、インフラ費用を削減。
- 開発・テスト環境の使用状況を可視化し、未使用環境の無駄なコストを削減。
- リソース使用状況の詳細な分析により、ムダな支出を特定して対策可能。
(必要な分だけの支払いでコストを最適化。)
上記以外に、運用、セキュリティ、インフラ管理、などの効率化が望めます。
AWSのコンテナを触れてみる
Amazon ECS、Amazon ECR、AWS Fargateを利用して自分で作成したDockerイメージを ECRというAWSが提供するイメージレジストリ(Docker hubなもの)にアップロードし、ブラウザからAWSへアクセスし「Hello World」を表示する簡単な動きをご紹介します。
1、ローカルPCにてDockerのイメージを作成
![](https://static.wixstatic.com/media/8cd6b3_2f44eb2778044a18b51fd58894fea379~mv2.png/v1/fill/w_980,h_272,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/8cd6b3_2f44eb2778044a18b51fd58894fea379~mv2.png)
念のため、作成したイメージがブラウザで見れることを確認のため下記のコマンドを実行。
![](https://static.wixstatic.com/media/8cd6b3_a57dab17f8be431abbca774a3a5467af~mv2.png/v1/fill/w_980,h_23,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/8cd6b3_a57dab17f8be431abbca774a3a5467af~mv2.png)
Hell worldがみれました!!
![](https://static.wixstatic.com/media/8cd6b3_7490b68fd95547ea945aa88aaa251b59~mv2.png/v1/fill/w_364,h_144,al_c,q_85,enc_auto/8cd6b3_7490b68fd95547ea945aa88aaa251b59~mv2.png)
2、Amazon ECRのリポジトリを作成
リポジトリを作成しプッシュコマンド機能にて、DockerからAWSへアップロード
![](https://static.wixstatic.com/media/8cd6b3_12a8a667a106462eb0a1731dbf60dd0b~mv2.png/v1/fill/w_980,h_244,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/8cd6b3_12a8a667a106462eb0a1731dbf60dd0b~mv2.png)
AWSへアップロード完了
![](https://static.wixstatic.com/media/8cd6b3_365998d4c66a4e31b02240419afe7009~mv2.png/v1/fill/w_980,h_402,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/8cd6b3_365998d4c66a4e31b02240419afe7009~mv2.png)
3、Amazon ECSの作成
クラスタ(サービス設定含む)の作成とタスクの定義を作成
(クラスタとタスク定義の設定の時にサーバレス機能のAWS Fargateを指定)
![](https://static.wixstatic.com/media/8cd6b3_4bd854e7831646bbaf9c4355f2698d0b~mv2.png/v1/fill/w_980,h_539,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/8cd6b3_4bd854e7831646bbaf9c4355f2698d0b~mv2.png)
![](https://static.wixstatic.com/media/8cd6b3_8128f67fc19642d2876436d72f0fb5a4~mv2.png/v1/fill/w_980,h_211,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/8cd6b3_8128f67fc19642d2876436d72f0fb5a4~mv2.png)
4、Amazon ECSに接続
設定が完了したので、下記のアドレス「http://54.238.219.219」にアクセス!!
![](https://static.wixstatic.com/media/8cd6b3_afd9276cbf924a2f915bf29c9fc7fd1b~mv2.png/v1/fill/w_980,h_317,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/8cd6b3_afd9276cbf924a2f915bf29c9fc7fd1b~mv2.png)
Hello worldが表示されました!!
![](https://static.wixstatic.com/media/8cd6b3_21119a4c3a714515be8ed70a9bba5769~mv2.png/v1/fill/w_908,h_402,al_c,q_90,enc_auto/8cd6b3_21119a4c3a714515be8ed70a9bba5769~mv2.png)
簡単な画面ですが、ボタンをポチポチするだけで、コンテナを作成できてサーバレスのWEB画面を作成しました。
今回は、「Hello world」の画面を表示させるだけでしたが、アプリやバッチの処理を実行したりできます。
また、コンテナはOSが不要なので楽に開発し動かすことが可能となります。
まとめ
今回、AWSのコンテナに絞った効率化とメリットをご説明しましたが、コンテナ技術は、今のシステム開発に欠かせないツールになっています。AWSのコンテナを導入することで、開発や技術の向上、コストの削減、そしてビジネスの成長の加速が可能だと思います。
YouTubeにAWSの設定方法が掲載されておりますので、初心者の方でも勉強がしやすくなっています。まずは、触れてみて実感してみてはいかがでしょうか。
Opmerkingen