Kubernetesを学ぶ意味とは――AWS EKSでクラスタを構築してみよう:マネージドサービスで始めるKubernetes入門(1)(1/4 ページ)
本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリケーションを公開する方法を紹介。第1回目は、いまからKubernetesを学ぶ意味と、AWS EKSでクラスタを構築する方法について。
「Kubernetes」を学ぶ意味とは?
顧客ニーズの変化と、分散化指向への対応
昨今、AI(人工知能)やIoT(Internet of Things)、ディープラーニングなどの先端技術をビジネスに活用する事例が増えています。その結果、「人々の生活」や「顧客ニーズ」に変化が起き、そうした先端技術の活用がますます求められる状況です。
これらの変化に対し、開発部門も新しいことにチャレンジできるよう、変化する必要があります。以下のキーワードは、昨今、開発という観点で重要視されるようになった技術や言葉の一部ですが、読者の皆さまも何らかの形で見聞きしたことがあるのではないでしょうか。
- 「継続的な機能改善や追加」
- 「素早く柔軟なリリース」
- 「柔軟で高速な複数アプリケーションの開発、デプロイ」
- 「マイクロサービス」
- 「コンテナ技術」
- 「サーバレス」
こうした技術や手法そのものを学び、活用できるようになるのも大切ですが、重要なのは、思想の根底にある「分散化」を理解することでしょう。今後さらに続く変化に対応する技術的観点として重要なのが「分散化」であり、「Kubernetes」は先述した技術や言葉を実現するのに必要な1つの手段です。Kubernetesを学ぶ意味は、これからの変化に対応する上で重要な観点になる「分散化指向」を体験して、大きな技術的変化の入り口に立てることだと、筆者は考えています。
本連載は、「Amazon EKS」を使用してKubernetesの基本的な使用方法を理解することを目標にします。Amazon EKSとは、Amazon Elastic Kubernetes Service(以後、EKS)の略で、端的に言うと、「Amazon Web Services」(AWS)で利用できるマネージドKubernetesサービスです。Kubernetesの導入方法は、多岐にわたりますが、マネージドサービスを利用する利点は、Kubernetesの導入や運用管理の一部を任せられることにあります。
Kubernetes本体が頻繁にバージョンアップされ、各コマンドの挙動や仕様も細かく変化するため、Kubernetesのバージョンは2019年11月5日時点でのAWSのドキュメント「eksctlの開始方法」の記載に合わせ「1.14」としています。
EKSクラスタを構築するために必要な前準備
本連載では、EKSを使用してEKSクラスタ(Kubernetesクラスタ)を作成しますが、そのために必要な前準備を行います。
EC2インスタンスの用意
EKSクラスタへの命令やEKSクラスタを作成するための環境として「Amazon EC2」(Amazon Elastic Compute Cloud)を1つ使用します(以後、EC2)。SSHでEC2に接続できるようなインスタンスを作成しましょう。今回作成するEC2の環境は、以下の通りです。OSなど、使い慣れたものを使用しても問題ありません。ただし、後述するコマンドなどは、OSに合わせて置き換えてください。
- OS:CentOS 7 (x86_64) - with Updates HVM
- インスタンスタイプ: t2.medium
- ストレージサイズ:16GB
EC2インスタンスを作成する
EC2ダッシュボード
(1)AWSのコンソールにログインし、EC2ダッシュボードに移動します
(2)リージョン(地域)が希望のリージョンか確認します。筆者は、「東京」リージョンを使用しています
(3)「インスタンスの作成」ボタンをクリックします
ステップ 1:Amazon マシンイメージ(AMI)
(1)画面左にある「AWS Marketplace」を選択します
(2)検索フォーム欄に、「CentOS」と入力します
(3)検索結果の一番上に「CentOS 7 (x86_64) - with Updates HVM」が表示されました。右端にある「選択」ボタンをクリックします
ステップ1で選択したAMIに間違いがないかを確認する画面が表示されます。確認して「Continue」ボタンをクリックします。
ステップ 2:インスタンスタイプの選択
(1)タイプ列の「t2.medium」を選択します
(2)「次のステップ: インスタンスタイプの詳細の設定」ボタンをクリックします
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Kubernetesの自前運用は難しい? はてなの撤退事例
はてなのMackerelチームはKubernetesクラスタを自前で構築して運用していたが、撤退を選択したという。なぜ、Kubernetesの運用を諦めて撤退を選んだのか。はてなのMackerelチームでSREを務める今井隼人氏が語った。 - 「コンテナって何? どう使える?」――ソフトウェア開発の課題を解決するコンテナ技術
「コンテナ技術」やコンテナ実行環境の「Docker」、大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。第1回は「コンテナ技術」や「Docker」が、現代のソフトウェア開発に求められるようになった理由を解説します。 - 「Kubernetes」とは何か――コンテナ型仮想化の本番利用に向けた課題
本連載では、サービスの開発、提供のアジリティ向上の一助となることを目的として、企業における「Kubernetes」の活用について解説する。初回は、Kubernetesを使う上で前提となる「Docker」についておさらいし、Kubernetesの概要や起源、現状などを紹介する。