タグ

ブックマーク / dev.classmethod.jp (17)

  • SoftwareDesign2018年1月号「使えるシェルスクリプトの書き方」特集が面白かった件 | DevelopersIO

    AWSを日常的に触っていると、シェルスクリプトを書く機会が山のようにあります。あるんだけれど、どうにも考え方が特殊というか、他の一般的なプログラミング言語とは扱い方が違うというか、使いこなせて無い感を強く持ってました。 そんな折、SoftwareDesign2018年1月号でシェルスクリプト特集があったので、渡りに船とばかり購入して読んでみたところ、むっちゃええ感じの特集だったのでここに紹介いたします。 普段からシェルスクリプト書いているんだけれど、「これで良いんかなぁ」というモヤモヤ感をお持ちの方には有用なヒントが満載の特集だと思いますYO __ (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     シェルスクリプトダワッショイ |_|_| し'´J 以下、コマンド例は、bashを前提としています。 第1章「使えるシェルスクリプトにするために」 最初の章では、「使えるシェ

    SoftwareDesign2018年1月号「使えるシェルスクリプトの書き方」特集が面白かった件 | DevelopersIO
  • cloud-initでシェルスクリプトとcloud-configを同時に使う | DevelopersIO

    はじめに Amazon EC2ユーザガイドにもある通り、EC2をLaunchするときに指定できるUser-Dataは、シェルスクリプトとcloud-init形式(cloud-config)で書くことが出来ます。ただし、この2つをそのまま同時に書くとエラーになってしまいます。例えばUser-Dataに #!/bin/bash echo "User-Data Script" >> /home/ec2-user/test.txt #cloud-config runcmd: - echo "Cloud-Config" >> /home/ec2-user/test.txt のように両方の形式を併記すると、後に書いたほうがエラーになります。以下は/var/log/cloud-init.logの出力の抜粋です。 Aug 26 06:59:35 cloud-init[1615]: util.py[DEBU

    cloud-initでシェルスクリプトとcloud-configを同時に使う | DevelopersIO
  • Amazon Linuxのcloud-initの実行順番を確認する | DevelopersIO

    はじめに まずはおさらいです。 cloud-initでシェルスクリプトとcloud-configを同時に使うで書いた通り、User-Dataにはシェルスクリプトとcloud-init形式(cloud-config)が併記できます。 またAmazon Linuxのcloud-initの動きについて調べてみたに書いた通り、EC2がLaunchする時のcloud-init起動スクリプトの実行順序は以下のようになります。 cloud-init-local cloud-init cloud-config 各種サービスの起動 cloud-final で、じゃあ各起動スクリプトで読み込まれているcloud-initのモジュールは実際にはどういう順番で実行しているのか、確認してみました。 確認してみる User-Dataの内容は以下。シェルスクリプト、per-once、per-boot、per-insta

    Amazon Linuxのcloud-initの実行順番を確認する | DevelopersIO
  • cloud-initのデフォルト挙動を徹底的に調べてまとめてみた -結果ソースコードを読んだ- | DevelopersIO

    コンニチハ、千葉です。 AWSを利用していればcloud-initをご存知の方が多いと思います。ただ、「cloud.cfg上から説明して!」とか言われたら困ると思います。 なにせ、ぐぐってもあまり情報がありません。公式のドキュメントを読んでも設定方法やモジュール名は書いているのですがモジュールがデフォルトでどんな挙動するのか読み取れませんでした。なので、ソースコード(主にコメントw)頑張って読んでまとめました。 初期構築等で設定だけしたいのであれば、このページを見ればいけると思います。 cloud-initの実行タイミング ふわっと、初回起動みたいに覚えている方もいると思います。実際には初回起動以外にも実行タイミングがあります。 一生に?1回だけ実行されるもの インスタンスごとに実行されるもの(AMI作成し、そこからインスタンスを作成した時) 起動時に毎回実行されるもの ソースで、「fre

    cloud-initのデフォルト挙動を徹底的に調べてまとめてみた -結果ソースコードを読んだ- | DevelopersIO
  • CloudFormation超入門 | DevelopersIO

    AWSでインスタンスやVPC環境を作成するとき、コンソール上で作ろうとすると、似たような環境を何度も作ったり、大量に作ったりする時、非常に手間になってしまいます。 しかし、AWSにはそんな手間を一気に解消してくれるCloudFormaionという便利サービスがあります。 今回は、初めての人向けの超入門ということで「CloudFormationってどないやねん」という方向けに、まずは使ってみようというコンセプトで書いてみようと思います。 CloudFormation って何? 誤解を恐れつつ一言で言えば、「自動的にAWS上で作りたいものを作ってくれる」サービスです。というか、そういう環境を用意してくれるサービスです。 少し補足すると、自分が作りたい環境を定義したファイルを作って、その定義書を読み込んで自動で環境を作ってくれます。 今回は超入門ということで詳細な説明は割愛したいと思います。 A

    CloudFormation超入門 | DevelopersIO
  • 新入社員のためのWAF(Web Application Firewall)入門 | DevelopersIO

    佐々木です。クラスメソッドも4月から新しい仲間が増えました。今日はWAF(Web Application Firewall)の基的な知識を整理してみました。 基礎知識 WAFとは WAF(Web Application Firewall)とは、Webアプリケーションの脆弱性を狙う悪意ある通信(攻撃)から、Webアプリケーションを保護するものです。来論で言えば、Webアプリケーションに脆弱性があるのであればWebアプリケーションを修正するのが正しい対応です。しかし未知の脆弱性があったり、修正コストが大きくWebアプリケーションでの対応が難しい場合や、緊急度が高くすぐに防御しなければならないが修正が間に合わない場合も、残念ながらあります。ユーザーとWebアプリケーションの間にWAFを入れることで、悪意ある通信を防ぐことが出来ます。 ファイアウォールとは ファイアウォールは、IPヘッダやTC

    新入社員のためのWAF(Web Application Firewall)入門 | DevelopersIO
    abcb2
    abcb2 2017/01/15
  • Amazon Linuxのcloud-init Tips集 | DevelopersIO

    はじめに 皆さん、User-Dataを使っていますか?複数のEC2に同様の設定を適用してLaunchしたい時には便利な機能です。 このUser-Dataにはシェルスクリプトを直接書くか、あるいはcloud-init形式で記載することが出来ます。これは1行目が"#!"で始まっていればシェルスクリプト、"#cloud-config"で始まっていればcloud-init形式として処理されます。なおAmazon Linuxに導入されているcloud-initは元々のcloud-initをカスタマイズしたものであり、独自拡張がされていたり、一部のディレクティブが使えなかったりするので注意が必要です。 今回、このcloud-initを使った初期設定を色々と調べたので、まとめてみました。 Tips 設定及びログの確認 repo_update, repo_upgrade yum_repos package

    Amazon Linuxのcloud-init Tips集 | DevelopersIO
    abcb2
    abcb2 2015/04/30
  • Amazon SESを使って国内携帯キャリア対応のデコメールを送る | DevelopersIO

    デコメール? みなさんデコメールと聞いてどんなイメージをお持ちでしょうか?私の中では、スマホ以前のガラケーの仕組みだと思っていました。しかし、色々調べていると、そんなことはなく、今でも現役の仕組みであることが分かったのです。今回は、そんな気付きについて皆さんに共有すると共に、Amazon SESを使ったキャリアメール配信について解説をしたいと思います。 テキストメールを送る 通常、メールはテキストで送られてきます。この形式であれば、キャリアの差異も少なく、スマホでもガラケーでも受信することができます。まずは簡単なテキストメールのサンプルをご紹介します。 import java.util.Arrays; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.ClasspathPropertiesFileCred

    Amazon SESを使って国内携帯キャリア対応のデコメールを送る | DevelopersIO
  • Oracle JDK 8 & Groovy2.2をAmazon EC2(Amazon Linux AMI)にインストールする | DevelopersIO

    Oracle JDK 8 & Groovy2.2をAmazon EC2(Amazon Linux AMI)にインストールする 今回は基的な環境構築、EC2(Amazon Linux AMI)にOracle JDK 8とGroovyの最新バージョンを導入する際の実践メモです。ライセンス周りの進め方で既存エントリと若干異なる手法でのご紹介です。 目次 Amazon EC2(Linux)を起動 OpenJDKをアンインストール(1.7.0) Oracle JDKをインストール(1.8.0) Groovyをインストール(2.2.2) GroovyスクリプトをEC2サーバ上で実行 Amazon EC2(Linux)を起動 今回の検証用にEC2(Amazon Linuxベース)を1台用意します。2014年03月度版のものが最新なのでそれをチョイス。後の設定はよしなにな感じでひとまず用意します。 用意

    Oracle JDK 8 & Groovy2.2をAmazon EC2(Amazon Linux AMI)にインストールする | DevelopersIO
    abcb2
    abcb2 2015/01/11
  • re:Invent 2014で発表された11個のAWS新サービスを140文字でまとめる #reinvent | DevelopersIO

    はじめに こんにちは、虎塚です。 今日は、re:Invent 2014で発表された11個の新サービスの概要を、それぞれ日語140文字以内にまとめてご紹介します。この記事を読めば、10ツイート程度の文章で、新サービスの概要をまとめて知ることができます(!?) なお、元ネタの記事はこちらです。新サービス・新機能が11個まとめられています。 New Services and Features Announced in Las Vegas 原文では英語ブログにリンクが貼られていますが、AWS語ブログにリンクしました。 セキュリティとコンプライアンスのための新サービス このカテゴリでは、3つの新サービスが発表されました。いずれもAWSの既存サービスをセキュリティとコンプライアンス面から補完するサービスです。リソースの可視性や監査に寄与するとともに、AWSを利用する組織内で標準化されたプロダクト

    re:Invent 2014で発表された11個のAWS新サービスを140文字でまとめる #reinvent | DevelopersIO
    abcb2
    abcb2 2014/11/20
  • https://dev.classmethod.jp/articles/cve-2014-3566-poodle-issue/

  • EC2でCentOSを起動する時はKeyPairの指定に注意 | DevelopersIO

    こんにちは。望月です。 Marketplace提供のCentOS6.5関連でちょっとハマったので、メモ書きしておきます。 ハマった内容 最近Packerをよく利用してAMIを作成しているのですが、CentOSに対してPackerを利用してAMIを作成した後、そのAMIを起動してもSSHで接続ができなくなりました。 どう頑張っても接続できなかったので、一度素のCentOSを起動し、ログインして調査していました。すると、/etc/rc.localに以下の記述があることを発見しました。 # Get the root ssh key setup ReTry=0 while [ ! -f /root/.ssh/authorized_keys ] && [ $ReTry -lt 10 ]; do sleep 2 curl -f http://169.254.169.254/latest/meta-da

    EC2でCentOSを起動する時はKeyPairの指定に注意 | DevelopersIO
    abcb2
    abcb2 2014/10/03
    やられました。
  • 【AWS】CloudFormationの作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO

    はじめに こんにちは植木和樹です。5月にクラスメソッドに入社してから毎日CloudFormationと戯れる日々を過ごして来ました。クラスメソッドのAWSエンジニアにとってCloudFormationが必須技術になりつつあるので、これまでに溜め込んだノウハウ社内向け資料としてまとめてみました。せっかくなのでこれからCloudFormationを始める方向けに公開してみようと思います。 スタックに関するノウハウ スタック内リソースの「破棄」タイミングを合わせる CloudFormationというとEC2やRDSをバッチ的に「構築」する機能に着目しがちです。しかし当然のことながら一度作ったスタックをDELETEすることもあります。その際に削除して欲しくないリソースもまとめて消されてしまうことを想定しておきましょう。 たとえばEC2を作成したスタックの中に、EIP(グローバルIP)が含まれていた

    【AWS】CloudFormationの作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO
  • [開発環境] Android Studioをインストールしてみる | DevelopersIO

    Google I/O 2013 画像多めです 日2013/05/16の日時間午前1時から、Google I/Oの基調講演がLive中継されていました。眠い目をこすりつつ見ていたわけですが、その中でAndroid Studioという非常に気になる開発ツールがあったので興奮気味に目が覚めました。IntelliJをベースにしたAndroid開発環境のようです。ライブレンダリング、多言語によるレイアウトを同時に確認できたり、今までADTではなかった機能が盛り沢山のようです 今日からダウンロード可能なのでさっそくインストールしてみます 環境 OS:Mac OSX 10.8.3 インストール まずは、今日からダウンロードできるアーリーアクセス版を取得します。こちらからダウンロード 規約に同意してダウンロード Application以下にコピー Android Studio おおおお!ほんとにInt

    [開発環境] Android Studioをインストールしてみる | DevelopersIO
  • クローズド環境のGitHub欲しいよね! GitBucket編|アドカレ2013 : CFn #13 | DevelopersIO

    よく訓練されたアップル信者、都元です。アドベントカレンダー2013「AWS CloudFormationビッグバンテンプレート」、日は13日目です。ああ、今日って13日の金曜日なんすねー。 さてさて、昨日はしんやさんのOpenPNE編でした。 GitHubクローン GitHubが流行ってしばらく経ち、世の中にはOSSのGitHubクローンがうまれました。その中でもGitLabは有名ですね。しかし日はGitLabではなく、Scalaで書かれたGitHubクローン「GitBucket」をAWS環境に一発構築してみましょう。 ちなみに、GitBucketの作者様は@takezoenさんという方です。日製です。また、私の好きなデータアクセスフレームワーク「Mirage SQL」も@takezoenさん作です。私がエンジニアの道に引き込まれたのも@takezoenさんの書いたが一因だと思いま

    クローズド環境のGitHub欲しいよね! GitBucket編|アドカレ2013 : CFn #13 | DevelopersIO
  • 【AWS】Amazon S3をFTP/SFTPサーバーのように使ってみた | DevelopersIO

    今回の課題 こんにちは植木和樹です。日のお題は「現在運用しているFTP/SFTPサーバーをAmazon S3でリプレースしたい」です。 外部関係業者とのファイルのやりとりにFTP/SFTPサーバーを使っているケースは数多くあると思います。社内にあまったパソコンにLinuxをインストールしてFTPサーバーを自前で運用していることもあるかもしれません。しかしデータのバックアップやハードウェアの故障などで手を取られている担当者の方がいらっしゃるのではないでしょうか。 そんな時はAmazon S3。99.999999999% の堅牢性と、99.99% の可用性を提供するストレージサービスです。 しかしFTPは長い運用実績の歴史があるサービスです。FTPで求められる様々な運用ニーズにS3はどこまで応えられるでしょうか?今回はその点を検証してみました。 FTPに求められる要望 以下にいくつかの代表的

    【AWS】Amazon S3をFTP/SFTPサーバーのように使ってみた | DevelopersIO
  • node.jsのいろいろなモジュール22 – mochaでテストを書こう | DevelopersIO

    mochaとは mocha(モカ)は、javascriptの単体テストでよく使用されているテストフレームワークです。 node.jsやブラウザから実行ですることもできます。また、非同期のテストも可能になってます。 なお、mocha自体はアサーション機能は持っていません。なので、値の検証は標準のassertとかchaiとかshouldを使用します。 TDDやBDDスタイルでテストを記述でき、テスト結果もいろいろな形式で出力できます。 今回はmochaの基的な使用方法について紹介します。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 Node.js : v0.8.15 npm : 1.1.66 適当なディレクトリを作成し、そこでnpmを使用してmochaをインストールします。 mochaコマンドを使用するので、gオプションつきでインストールし

    node.jsのいろいろなモジュール22 – mochaでテストを書こう | DevelopersIO
  • 1