......などという書き出しから始まる小ネタの覚え書きを見つけた頃に、夏がやって来ました。水出し麦茶を作り置く事は忘れないのに......こんにちは、AWS事業本部のShirotaです。喉元過ぎれば小ネタ忘れる。そんな訳で、7月最後は埋もれていた小ネタを掘り返して浄化させてあげようと思います。(もう8月ですが、このブログを書き始めたのは7月だったのです)人間は不運(ミス)と踊(ダンス)っちまう生き物である突然ですが、人間はミスをする生き物です。言う言葉が定義されているくらい、ミスをする生き物なのです。そんなWikipediaの「ヒューマンエラー」のページには以下の一文が記載されていました。起こりうる、人間に任せる完璧な対応策はないといった観点に基づいた対策を講じる必要がある。完璧なものは作れないけど、そこを目指して立ち向かう人類のこの姿勢。予防策として以下の項目が記されてます。予防策としては下記のものなどがある。啓発や注意喚起するもの、注意力や意識が散漫になることを防ぐもののほか、「人間は間違える」ことを前提とした対策が考案されてきた。休息ガム・コーヒーなど眠気覚ましになるものを喫食する。ダブルチェック絶対にミスが許されない重要な業務については、1人の人間に任せるのではなく、必ず、2人以上の人間を配置し、二次チェックあるいは三次チェックといった厳重なチェック体制を設けている場合がある。極論を言えば、これをしても間違える時は間違えます。コーヒーを飲んでも私が爆睡して「あああああ」などと入力された画面が見つかるのですから。そんな事をしてしまう人間の介在を極力減らす事、そうする事で確率を極限まで減らしていく事は可能です。CloudFormationを用いた作業。テンプレートを作ってしまえば、同じ設定のリソースの作成が何度でも作れる。インフラをコード管理する上での利点だと思います。今回はもっと欲張りさんになってみたいと思います。作るシェルスクリプトを作ってみました。CloudFormationのスタックのクイック作成リンクについて軽くお話したいと思います。CloudFormationスタックのクイック作成リンクとは簡単に説明すると、ブラウザに入力するだけでスタック作成ページに飛ぶリンクです。stack]ボタンを押すだけでスタックの作成が開始されます。共有された人がこちらの想定するパラメータが入ったスタック作成ページに飛べるところにあります。この便利なクイック作成リンク、構造はとても分かりやすく出来ています。以下で、具体例を挙げながらURLの構造について解説します。今回、例として「AWSが提供しているCloudFormationのサンプルテンプレートを用いたクイック作成リンク」を以下に記載しました。EC2インスタンス」です。このテンプレートを用いると、デフォルトVPCのデフォルトサブネット内にEC2インスタンスが起動します(サブネットの指定が特に無い為)。EC2インスタンスにはEIPとSSH接続の為のセキュリティグループがアタッチされる為、起動後すぐにEC2インスタンスにSSH接続する事が可能となっています。クイック作成リンクを使ってみるこのテンプレートを使用する際には、以下のパラメータを決定及びリソースを作成しておく必要があります。作成するEC2インスタンスのインスタンスタイプ作成するEC2インスタンスで用いる秘密鍵SSH接続元となるIPアドレス(CIDR)秘密鍵を作成した上で、実際に上記のクイック作成リンクを使ってみます。後は右下のボタンを押すだけでスタックが作成出来ますスタックを作成して、実際にEC2インスタンスを作ってみました。SSH接続出来る状態で起動していましたクイック作成リンクを作ってみるでは、実際にクイック作成リンクを作ってみましょう。用意されているゴール(クイック作成リンク)に向けて、前提として必要な情報を入れていくシェルスクリプトを用意してみました。セキュリティグループに登録するSSH接続の接続元のグローバルIPアドレスは、AWSが提供しているグローバルIPアドレスを取得出来るサイトからcurlコマンドを用いて取ってきて、MyIPという変数に格納しています。このシェルスクリプトを実行する際に、引数として秘密鍵の名前を用いる事で秘密鍵を指定できるようにしました。他のインスタンスタイプにしたい場合は引数をもう一つ用意して、指定できる形にしてあげましょう。パラメータ部分に記載のあるタイプのみ選択出来るという制約付きにはなってしまいます。EC2インスタンスになってしまいます。構築出来るリソースの自由度を上げたい場合は、自分でCloudFormationのテンプレートを作り、S3にアップロードして使いましょう。実際に、上のシェルスクリプトを実行してみると以下のようにURLが生成されます。SSH接続用のコマンドも作ってみるEC2インスタンス作成用のクイック作成リンクを教えると同時に、SSH接続のコマンドを教える必要がある事もあるかもしれません。その際に、SSH接続のコマンドを作れるシェルスクリプトを作ってみました。CLIを使用しています。CLIのインストールと設定を行っておいて下さい。設定シェルスクリプトシェルスクリプトは、以下になります。ec2-user@$EC2EIP"秘密鍵を置いているディレクトリから秘密鍵ファイルのフルパスを取ってきて変数に格納する為、クイック作成リンクのシェルスクリプト同様、引数に秘密鍵の名前を用います。CLIを用いています。Outputsから作成したEIPの情報を得られます上記のシェルスクリプトを実行すると、以下のようにSSH接続用のコマンドが生成されます。実際に、生成したコマンドを使ってみました。~]$本末転倒にならない程度に楽していこうスタック作成リンクは、実際に人にAWSリソースの作成依頼をする際に便利です。URLの構造も分かり易く、テンプレートの用意さえ出来れば様々な場面で使えると思います。今回は、スタック作成リンクを作成するシェルスクリプトを作ってみました(ややこしい!)が、これを作成する方に手間が掛かっていては効率化の観点で微妙になってしまいます。その為、今回は小ネタという形で紹介させて頂きました。EC2インスタンスを構築するきっかけ、ひいてはCloudFormationに触れるきっかけ等になれば幸いです。291,943今年の初詣はいつになることやら。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。