
関連するソリューション

マネージドサービス(運用・保守)
サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト 松岡 政之
あけましておめでとうございます。
CSS
部エバンジェリストの松岡です。
昨年
6
月にこちらのコラムに執筆を始めてまだ半年程ですが、ご質問をいただけるなど私にとって実りのある期間となりました。
お付き合いいただきました皆様に感謝を申し上げます。
本年も様々なトピックをまったりお届けできればと考えておりますので、引き続きお付き合いいただけば幸いです。
さて、
2019
年に入り今年もコンシューマ技術の見本市である
CES
が開催されました。
今年は
8k
のテレビやデジカメ、
1TB
の
SD
カード、
dynabook
の復活など気になる話題でもちきりです。
本稿のタイトルに関連する
Amazon
については、スマートスピーカー「
Amazon Echo
」の頭脳である
Amazon Alexa
を使用した様々な製品(タブレット、自動車、ヘッドフォン
etc...
)が各社から発表されています。
そんな中、私が個人的に注目していたのは
CPU
に関する発表です。
Intel
からは現行の第
9
世代
Core i
プロセッサの追加のラインナップや
10nm
プロセス製品の量産予定などが発表されましたが、個人的に注目したいのが高性能プロセッサと省電力の
Atom
プロセッサを同一パッケージ内に
3D
に積層した
Lakefield
(開発コードネーム)です。
異なる性能のコアを使用することはスマートフォンではすでに一般的(例:
Android
で
8
コアと宣伝しているものは高性能
4
コア+省電力
4
コアの組み合わせ)ですが、パソコンでも実現すれば高性能でバッテリー持ちのいいノートパソコンが実現するはずです。
現状ではパソコンの
OS
側が想定していない構成のため、まだスケジューリング(コアへのプロセスの割り振り)の面などで課題はありそうですが今後に期待が出来そうな技術です。
一方、
AMD
からは
Zen 2
アーキテクチャ(昨年藤井七段が注目していることで少し話題となったことが記憶に新しいですね)を用いた第
3
世代
Ryzen
プロセッサ(開発コードネーム:
Matisse
)の概要発表とテスト中の
ES
品のデモンストレーションが行われました。
製品の登場は今年の夏ごろになるとのことです。デモンストレーションでは
8
コア
16
スレッドの
Ryzen
プロセッサでまだ
ES
品であることを強調しつつ
CINEBENCH
(画像のレンダリングの速度を評価するベンチマーク)を使用し、
Core i9-9900K
と比べて
30%
程省電力で性能では上回ることを実演しました。
壇上で掲げられた実物製品では
14nm
プロセスの
I/O
ダイと
7nm
プロセスの
8
コア
chiplet
が確認できますが、
chiplet
が偏った位置に配置されており不自然に隙間があけてあります。
ここからは想定になりますが、この隙間の用途として、一つは
GPU
を配置して
8
コアの
APU
とするもの、そしてもう一つは
chiplet
をもう一つ配置して
16
コアとするものが考えられます。
Intel
がさらに高性能な
CPU
を出してきた場合の対抗手段としてさらにそれを超える高性能な
16
コアとして準備をしていそうです。また、
Matisse
では
APU
の計画はないとの話ですが、通例
APU
は異なるコードネームで開発されるので
Zen2
を用いた
APU
の計画自体はあるのではないかと私は考えています。(今年中には出ないと思いますが
…
)
CES 2019
では他にも様々な分野の革新的な製品が発表されていますので、気になる方はぜひ情報を覗いてみてはいかがでしょうか。
前置きが長くなってしまい一体何のコラムだったか忘れてしまいそうですが、本題の
AWS
の自動化の話題に入ります。
AWS
の自動化というと真っ先に
Lambda
が思い浮かびそうですが、今回は
CloudFormation
を取り上げます。
CloudFormation
はロールや
VPC
、
EC2
などの
AWS
内のリソースについて、テンプレートと呼ばれるスクリプトを準備し、スタックという実行セットのようなものを作成することで、自動的に構成してくれるサービスです。
スタックの作成時にパラメータを入力するように作ることもできるため、例えばユーザ作成のテンプレートを作成しユーザ名等のパラメータを入力して実行するだけで、組織の方針に沿ったユーザが自動的に作成されるといったことを実現することができます。
CloudFormation
を使うメリットはいくつかあると思いますが、私は以下の
4
つが主なものだと考えています。
①繰り返し実施される日々の運用作業を自動化することによる作業時間の軽減
②煩雑な作業を自動化することによるヒューマンエラーの排除
③リソース変更の管理
④リソース間依存関係の管理
まず、
①②
について例を挙げて見てみましょう。
例として以下のような環境を想定します。(企業としては一般的な環境かと思いますがいかがでしょうか?)
・
IAM
ユーザには接続元
IP
アドレスを制限するポリシーを割り当てることが必須である
・
IAM
ユーザには直接サービスを利用するポリシーを割り当てることは禁止である
・プロジェクトが立ち上がるたびに各プロジェクト用の開発・本番等の用途に応じたロールが作成され、各ロールに対して必要なサービスの利用権限が割り当てられる
・
IAM
ユーザには利用可能なロールを引き受けることが出来るポリシーを割り当てる
・利用者は
IAM
ユーザでログイン後、利用目的に応じてロールを切り替えてサービスを利用する
上記を実現するためには、ユーザ追加の申請があるたびに、
IAM
ユーザの作成、
IP
アドレス制限ポリシーの割り当て、ロール引き受けポリシーの作成・割り当て等複数の作業を実施する必要があります。
これを、テンプレートを作成して自動化することで、必要な作業はユーザ名等のパラメータの指定とスタックの作成のみになります。
また、ポリシーの作成などが自動化されることでタイプミス等によりポリシーが反映されていないといった問題を防ぐこともでき、まさに一粒で二度美味しいといえるでしょう。
また、作成したスタックを削除することで、そのスタックによって作成されたリソースをすべて削除して元通りにしてくれるため、ユーザ削除作業についても負荷を軽減することができます。
続いて
③
について、
CloudFormation
を使うことでなぜリソース変更を管理しやすくなるか説明します。
CloudFormation
には変更セットという機能があります。
これは、一度作成されたスタック(およびそれによって作成されたリソース)に対して、パラメータやテンプレートを変更した差分を作成できる機能です。
変更セットを作成した時点ではすぐには実行されず明示的に実行する必要があるため、変更作業前の再鑑作業も行いやすくなります。
※変更履歴を追いたい場合は
AWS Config
の利用をお勧めします。
ここで
1
点注意なのですが、
CloudFormation
を使って作成したリソースは極力直接変更を加えず、できるだけ
CloudFormation
の変更セットを使用して変更するようにして下さい。
その理由として、リソースの依存関係によっては、手動で加えた変更が原因で変更セットの実行やスタックの削除に失敗してしまう場合があるためです。
念のため、ドリフトの検出という機能でスタックと現在のリソース状態の乖離状態を確認することができるので、変更セットの実行やスタックの削除をする前にスタックと現在のリソースとの乖離がないか確認しておいた方がいいかもしれません。
最後にメリット
④
についてですが、
CloudFormation
にはデザイナーという機能があります。
これは、テンプレートを入力することで作成されるリソースの依存関係を自動的に図にしてくれる機能です。
テンプレートの作成時にスクリプトのみを眺めていてもイメージが湧きづらいかと思いますので、ぜひデザイナーを活用してみてください。
また、構文レベルのエラーはチェックをしてくれるため、スタック作成前には一度デザイナーで開いてみるのがいいと思います。
逆に、
CloudFormation
でもう一歩だなと思う点が一つあります。
それは、テンプレートや変更セットを実行した結果のエラーチェックを事前に行うことができない点です。
前述にて変更セットを作成できることをメリットとしてあげましたが、構文等にエラーがなければ実行した結果エラーになる変更セットでも作成できてしまいます。
そのため、設定しようとしている内容が正しいかは
CloudFormation
を使った場合でも変わらずしっかり確認の上作業を行ってください。
今回は
CloudFormation
をお勧めする内容を記載しましたが、実際の使い方については
AWS
のユーザーズガイドや実際に触っている方の技術ブログなどで詳しく解説されているため、こちらでは割愛します。
外部サイト:
※
AWS CloudFormation
ユーザーズガイド
AWS
上での自動化を実現するには
CloudFormation
のほかにも
Lambda
や
CloudWatch Events
など様々なサービスがありますが、今回はその中でも一番根っこの部分であるリソースの作成・管理についてクローズアップしてみました。
「
AWS
は設定するものが多くて煩わしい!」と敬遠していた方、「運用しているけどそろそろ管理がつらくなってきた」という方、
CloudFormation
で自動化してみてはいかがでしょうか。
それではよいクラウドライフを!
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。