おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

セキュリティグループをつくるいろいろ

アカウントを新しく使いはじめる場合や、新しいサブネットを作成したときに、ベースのセキュリティグループをとりあえずセットアップしたいパターンはよくあると思う。 とりあえず、ログインするために、会社のIPからのアクセスを許可するとか。

以下のシナリオを考えてみる。

  • ELB + WEBサーバ (EC2)+ DB (RDS) の構成
  • Public Subnet, Private Subnetを定義
  • 会社のIPからのSSHアクセスを許可する

これを元に以下の構成を考える。

f:id:i_ogi:20140504193315p:plain

NATインスタンスがいないとか、いろいろあるけど、今回のテーマではないので割愛。

aws cliコマンドライン

まず空のセキュリティグループを作成して、そこにルールを追加する形になる。

gista4f525ebfea05615851c

  • aws ec2 create-security-group コマンドを叩いてセキュリティグループを作成。セキュリティグループIDを取得。
  • aws ec2 authorize-security-group-ingressコマンドでIngressのルールを追加

コマンド実行の戻りを変数に入れて、というのがシェルスクリプトだとちょっと面倒です。楽しようと、上では--queryでGroupIdのみ取得していますが、エラーが起きた時のハンドリングができていません。

セキュリティグループを参照したり、変数の嵐となってつらいので上では1個だけ作成しています。

スクリプト (botoの場合)

gist01f77d9a4959ac1b88f4

セキュリティグループをルールに含めたセキュリティグループをつくるのはスクリプト楽ですね。

botoのboto.ec2.securitygroupは、ingress (inbound)前提となっていて、egress (outbound)も使う場合は、 ec2.connectionのauthorize_security_groupauthorize_security_group_egressあたりを利用することになると思います。

他の各言語のAWS SDKなどでも、Create Security Groupして、そこに対してルールを追加する同様の感じとなります。

CloudFormation

CloudFormerで作成した例。CloudFormerについてはクラスメソッドさんのブログが分かり易い。

gist11554515

上のようなJSONを生成して、例えばAWS CLIでキックする。

aws cloudformation create-stack --stack-name generate-security-group --template-body file://generate-securitygroup.json

このJSONでは、VPC IDが決め打ちになっているが、もちろんVPC自体も作成できる。

問題点としては、リソース名 (Security Group Name)が、CloudFormationによる自動生成となること。タグで代替できるが、タグは重複を許容するのが、場合によってはあんまりよろしくない。 あと、CloudFormationスタックにセキュリティグループが紐付いているので、スタックを削除すると削除しちゃうので、適宜、Stack Policyを設定する。

まとめ

実際に運用する場合には、VPCと組み合わせて、

  • Public Subnet、Private Subnetを定義し、NATインスタンスを起動させる
  • 会社側のIP制限ルールのため、踏み台インスタンスを用意してElastic IPを付与したい

とかいろいろあると思う。

こうなってくると、登場人物が増えてくるのと、案件によって変わってきたりして、ちゃんとがっちり構築しようとすると厳しかったりするが、できるところから、ルールが決まっている部分について自動化しておくと、完全な自動構築までの道のりもクリアになる。

ハイレゾワイヤレススピーカーSRS-X9を購入

ソニー ワイヤレススピーカー SRS-X9 ついかっとなって、ソニーの新しいワイヤレススピーカーSRS-X9を購入した。

でかいかなと思ったけど、実際に見たらそうでもなかったので。 ざっくり感想を書いておく。

できること

  • USB接続で、iPhoneやウォークマン、PCの音源を再生できる。ウォークマンとPCはドライバとか入れたらハイレゾ音源が鳴らせる。
  • アプリを入れて、無線、優先LANでもPCから音が鳴らせる
  • AirPlayとBluetooth対応。AirPlayは、 Apple Lossless codec with 44100 HzなのでBluetoothより音質はいいけどハイレゾにはならない。
  • スマホアプリから、radikoとか流せて割とよい

音質

結局、マンションで聴く以上、そんなに大音量で聴けないわけだけど、低音の響きと高音の伸びがあって、まぁ値段相応かなと思う。

ネットワーク

  • 前に買ったPanasonicのやつもそうだが、AirPlayスピーカーがネットワークからよく見えなくなるのは、たまにある
  • 無線LANが5GHz帯に対応していない。PS4もそうだけど。

よくない点

  • 音楽プレーヤーやPCはだいたい繋がるのだが、PS4やテレビをつなげようと思うと、光デジタル入力が無く、アナログ入力しかなくて、これは微妙すぎる。

参考

ソニー ワイヤレススピーカー SRS-X9

ソニー ワイヤレススピーカー SRS-X9

あけましておめでとうございます

新年あけましておめでとうございます。 今年の年越しは羽田→北九州のスターフライヤー機上 (大阪あたり)で迎えました。 機長によるカウントダウンとおいしいアップルジュースが振る舞われましたが、急な出来事でいまいち盛り上がらず。。

社会人となって上京したのが2004年の春。エンジニアとして満10年にそろそろなり、今月には 0x20 歳ということで成人を迎えてしまいます。 インターネットにハマり、インターネットの会社でwebエンジニアとなり、10年前には考えられないようなことをやってますが、それが楽しい。

昨年末で某社を退職しました。年明けからすぐに新しい企業で、またいままでとは違う職種のエンジニアとして働きます。どうなることやら。 前職の同僚のみなさま、転職活動の折にお世話になったみなさま。感謝しております。引き続き仲良くしてください。あと、飲みに行きましょう。

以上、北九州から。

f:id:i_ogi:20140101022705p:plain