タグ

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

  • CloudFormationでパスワードを自動生成してテンプレート内で利用する | DevelopersIO

    CloudFormationでパスワードを取り扱う場合、パスワードをどこに保存するか悩ましいです。 パラメータストアに保存しておいて参照するというのもよい方法ですが、 もっとサクッと作りたい!と、いうことで、CloudFormationでパスワードを自動生成する方法を紹介します。 CloudFormationでパスワードを取り扱う場合、パスワードをどこに保存するか悩ましいです。 たとえば、CloudFormationでIAM Userを作りたい場合、IAM Userのパスワードはどこに保存しましょう? CloudFormationテンプレート内にハードコーディングするのは、セキュリティの観点から好ましくありません。 パラメータストアのSecureStringに保存しておいて参照するというのは、よい方法だと思います。 [新機能]AWS CloudFormationでAWS Systems M

    CloudFormationでパスワードを自動生成してテンプレート内で利用する | DevelopersIO
  • [新機能]AWS CloudFormationでAWS Systems ManagerパラメータストアのSecureStringがサポートされました | DevelopersIO

    こんにちは。サービスグループの武田です。 AWSにはAWS Systems Managerパラメータストア(以下、SSMパラメータストア)という、設定データ管理と機密管理のための安全な階層型ストレージを提供するサービスがあります。SSMパラメータストアは、パラメータ値をString/StringList(平文)またはSecureString(暗号化されたデータ)として保存できます。 これまでAWS CloudFormationでは、SSMパラメータストアのString/StringListデータは参照できましたが、SecureStringデータは参照できませんでした。今回のアップデートで、CloudFormationでSSMパラメータストアのSecureStringがサポートされたので実際に使ってみました。ちなみにこの機能はDynamic referencesというらしいです。 AWS C

    [新機能]AWS CloudFormationでAWS Systems ManagerパラメータストアのSecureStringがサポートされました | DevelopersIO
    m4i
    m4i 2020/05/26
    CloudFromation]
  • Client VPN のセキュリティグループをいかに設定すべきか | DevelopersIO

    Client VPN エンドポイントにはセキュリティグループを関連付けられます。 このセキュリティグループはどのように設定するべきでしょうか?最初に私の考える結論を述べます。 結論 設定ミスによる予期せぬ通信を防ぐため、Client VPN エンドポイント専用のセキュリティグループを作成して適用しましょう。 (VPC に初期設定状態で存在する default セキュリティグループを使用しないようにしましょう。) 当該セキュリティグループにインバウンドルールは不要です。削除しましょう。 また、アウトバウンドルールはすべてのトラフィックを許可する設定にしておくのがオススメです。 セキュリティグループの役割について(おさらい) セキュリティグループは AWS の各種リソースに適用できる仮想ファイアウォールです。 インバウンドルールおよびアウトバウンドルールにプロトコル・送信元(送信先)などを設定

    Client VPN のセキュリティグループをいかに設定すべきか | DevelopersIO
    m4i
    m4i 2020/05/21
  • [アップデート]新IAM Policy Condition aws:CalledVia を学ぶ | DevelopersIO

    IAM PolicyのConditionにaws:CalledViaというキーが追加されました。どういったキーなのかご説明します。 一言でいうと 「特定のサービス経由で実行している/いない」という権限付与の条件が設定可能になりました。 具体例を出して説明します。 これまで: aws:CalledViaが無い世界 CloudFormation(以下CFn)を使って、VPCを作成したいとします。 CFnテンプレートは至極シンプルです。 AWSTemplateFormatVersion: "2010-09-09" Description: Create VPC Resources: VPC: Type: AWS::EC2::VPC Properties: CidrBlock: "192.168.0.0/16" EnableDnsSupport: "true" EnableDnsHostnames

    [アップデート]新IAM Policy Condition aws:CalledVia を学ぶ | DevelopersIO
    m4i
    m4i 2020/05/17
  • 踏み台サーバ不要?EC2 Run Commandだけでインスタンス管理するためのシェルスクリプトを書いてみた | DevelopersIO

    踏み台サーバ不要?EC2 Run Commandだけでインスタンス管理するためのシェルスクリプトを書いてみた 西澤です。EC2 Run Commandはとても便利なのですが、AWS Management Consoleからコマンド実行するのはイマイチだし、CUIでやるには覚えないといけないコマンドが多くて辛いなと思っていたので、シェルスクリプトで一発で実行できるようにしてみました。その内容について簡単にご紹介したいと思います。 AWS CLI を使用した Amazon EC2 Run Command のチュートリアル - Amazon Elastic Compute Cloud EC2 Run Commandとは? あまり有名なサービスでは無いので、SSMやRun Commandを聞いたことが無い、という方は、まずこちらをご覧ください。概念的なところは、GUIも利用しながら操作した方が理解

    踏み台サーバ不要?EC2 Run Commandだけでインスタンス管理するためのシェルスクリプトを書いてみた | DevelopersIO
    m4i
    m4i 2017/08/20
  • AWS WAFを利用してCloudFrontのELBオリジンへ直接アクセスを制限してみた | DevelopersIO

    はじめに AWSチームのすずきです。 ELBの前段にCloudFrontを設置した環境では、CloudFrontとオリジンのELB間の通信はインターネット経由で行われます。 ELBのIPやDNS名を知った利用者による、CloudFrontを経由しないELBへの直接アクセスが望ましくない場合には、 CloudFrontのカスタムヘッダを利用したアクセス制限が可能です。 今回、AWS WAFを利用し、CloudFrontのカスタムヘッダを利用したアクセス制限を行う機会がありましたので、紹介させていただきます。 追記 2019年3月のアップデートにより、ALBのリクエストルーティングで同等の設定が可能となりました。併せてご確認ください。 CloudFront専用のALBをリクエストルーティングで設定してみた 環境 CloudFrontはカスタムオリジンとしてAWS東京リージョンのELBを指定 E

    AWS WAFを利用してCloudFrontのELBオリジンへ直接アクセスを制限してみた | DevelopersIO
  • AWS事業部の採用方針について | DevelopersIO

    主にクラスメソッドメンバーズにおけるサポートサービスとフートシリーズ(運用保守オプション)を担当するグループです。運用保守、システム監視、セキュリティ監視、継続的コンサルティングと、システム稼動後のお客様インフラを24時間365日体制で安定した状態に保つために日々お客様とやりとりしています。 このように、一つの部の中に担当業務が違う複数のグループがありますが、部全体のビジョンはただ一つ、「AWSに関する圧倒的な量のノウハウを用いて、AWSインフラを安く早く構築し、AWSのことをまるっとお任せしてもらうことで、お客様のビジネスに貢献する」です。そして同じビジョンを掲げたチームとして、採用方針もグループ毎に分けず、部として統一しています。 今回はAWS事業部の採用方針をご紹介します。 AWS事業部の採用方針 AWS事業部の採用方針は以下の3つです。 技術が好きな人を採る クラスメソッドはエンジ

    AWS事業部の採用方針について | DevelopersIO
    m4i
    m4i 2017/04/28
  • 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
  • 【速報】TerraformがCloudFrontに対応しました | DevelopersIO

    はじめに こんにちは、中山です。 先程Terraformのv0.6.15がリリースされましたね! CHANGELOGはこちらです。さまざまなアップデートが含まれるのですが、やはりCloudFrontへの対応に目を引かれました。 aws_cloudfront_distribution とaws_cloudfront_origin_access_identity がCloudFront用のリソースです。以前のバージョンでもaws_cloudformation_stackリソースを使用すればCloudFrontの作成も可能でしたが、やはりリソースという形で対応してくれるとうれしいですね。 という訳で、早速使ってみたのでレポートしてみます。 インストール まずはTerraformをインストールしましょう。 $ brew update $ brew cask install terraform バー

    【速報】TerraformがCloudFrontに対応しました | DevelopersIO
  • [CloudFront + S3]特定バケットに特定ディストリビューションのみからアクセスできるよう設定する | DevelopersIO

    皆さんこんにちは、yokatsukiです。 静的コンテンツの配信性能を高めるために、S3とCloudFrontを組み合わせて、CloudFrontからコンテンツを配信する形態は、Cache Distributionパターンとしてよく知られています。しかし、設定がよく理解できていないために、CroudFront以外に、S3コンテンツへ直接アクセスできるようになっていませんか?しかし具体的な設定方法をネットで調べても、(2014年9月初めの時点では)署名付きURL等のやや複雑な説明ばかりで、「配信できているからいいや」と設定をおざなりにしている方、多いと思います。 今回は、S3バケット上のコンテンツを、特に署名や期限等の複雑な設定を設けず、シンプルにCloudFrontのみからアクセスできるように設定する方法を紹介します。上記Cache Distributionパターンのシンプルな一例と考えて

    [CloudFront + S3]特定バケットに特定ディストリビューションのみからアクセスできるよう設定する | DevelopersIO
  • s3fsよりも高速に使えるgoofysを試してみた | DevelopersIO

    西澤です。S3バケットを直接マウントしてファイルシステムのように使いたいケースがありますが、s3fsはややパフォーマンスに難があります。Goで書かれていてs3fsよりも高速に動作することを売りにした"goofys"というツールを見つけたので、早速試してみることにしました。 s3fs-fuse/s3fs-fuse · GitHub GitHub - kahing/goofys: a Filey System for Amazon S3 written in Go 前提パッケージのインストール 今回はAmazon Linux(Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type)環境で検証を行いました。golangとfuseパッケージが前提として必要となりますので、下記のようにインストールします。 $ sudo yum install golang

    s3fsよりも高速に使えるgoofysを試してみた | DevelopersIO
    m4i
    m4i 2016/02/23
  • 特定のS3のフォルダにのみアクセス権のあるIAMユーザーを使ってCyberduckから参照する | DevelopersIO

    特定のS3のフォルダにしかアクセス権を与えたくない場合、 ポリシーを作成してIAMユーザーに付与し、そのユーザーからフォルダを参照しますが、 マネジメントコンソールから入るとトップページを表示する権限がないので以下のメッセージが表示され目的のフォルダにアクセスできません。 そのため今回は、S3のフォルダおよびそこにしかアクセス出来ないポリシーを作成し、そのポリシーを付与したIAMユーザーのクレンデンシャル情報を使ってCyberduckからアクセスする方法を紹介します。 手順 手順は以下になります。 フォルダの作成 ポリシーの作成 IAMユーザの作成 Cyberduckの設定 1.フォルダの作成 S3のコンソールから「バケットを作成」ボタンをクリックし、バケット名とリージョンを選択してバケットを作成します。 この時にバケット名の命名ルールに準じていないとバケットが作成出来ないので注意しましょ

    特定のS3のフォルダにのみアクセス権のあるIAMユーザーを使ってCyberduckから参照する | DevelopersIO
    m4i
    m4i 2015/12/24
  • AWSのDockerデプロイサービスを比較する | DevelopersIO

    項目ごとにコメントしてみます。 Dockerサポート/AMIの制限 EC2インスタンスでは仮想マシンのroot権が握れるので、AMI(Amazon Machine Image)があれば好みのLinuxディストリビューションにDockerをインストールして利用できます。商用サポートを期待するのであれば、CoreOSやRHEL Atomic Hostを検討するのも良いでしょう。 ECSの場合はECSエージェントを実行していれば任意のディストリビューションで良いようですし、ECSエージェント自体Dockerコンテナで実行するので、ほぼ縛りなしと見なしてよいと思います。一方Beanstalkは、専用AMIからの起動が前提になっているのでディストリビューションはAmazon Linux一択です *1。そもそも「Dockerを利用するモチベーションとしてLinux環境に依存したくない」というのもよくあ

    AWSのDockerデプロイサービスを比較する | DevelopersIO
    m4i
    m4i 2015/06/03
  • S3のGUIクライアントを利用するのに必要なIAM Policy | DevelopersIO

    こんにちは。望月です。 今日はS3とIAM Policyについて、小ネタを書いておきます。 S3を利用するためのIAM Policy S3にはManagement Consoleの他にもCyberduckやCloudBerry Explorer等、様々なGUIクライアントが存在します。 当社の標準では、「アカウントのrootユーザ(アカウントが発行された後すぐに利用できるユーザ)は絶対に使用せず、ユーザ毎にIAM Userを作成する」というのが標準になっているので、用途ごとにIAM User(or IAM Role)を発行して、必要な権限を割り当てていくことになります。 その中でよくお客様から上がる要望の中に、「S3の特定のバケットのみを操作できるユーザで、S3をGUIクライアントから操作したい」というものがあります。その時にまず最初に思いつくのは、以下のようなPolicyです。 { "S

    S3のGUIクライアントを利用するのに必要なIAM Policy | DevelopersIO
    m4i
    m4i 2015/04/20
  • AWSのアカウント開設後にすべき事をまとめてみた | DevelopersIO

    はじめに AWSチームのすずきです。 クラウドサービスのAWS、有効なクレジットカードと電話番号があれば、10分ほどでその利用が開始できます。 AWS アカウント作成の流れ この様に簡単に取得できるAWSのアカウントですが、その管理が不適切な場合、意図せぬ事故の原因となることがあります。 今回、AWSを安全に安心して利用するため、AWSアカウントを開設後に実施すべき設定についてまとめてみました。 AWS環境が、弊社クラスメソッドメンバーズを初めとする請求代行サービスを利用されている場合、一部当てはまらない項目もありますのでご注意ください。 目次 ルートアカウントの保護 MFA(多要素認証)の導入 アクセスキーとシークレットキーの確認 IAM(Identity and Access Management)設定 IAMグループ作成 IAMユーザ作成 IAMユーザの認証設定 IAMのパスワードポ

    AWSのアカウント開設後にすべき事をまとめてみた | DevelopersIO
    m4i
    m4i 2015/03/14
  • IAMによるAWS権限管理 – プロジェクトメンバーへの権限付与方針に潜む闇 | DevelopersIO

    よく訓練されたアップル信者、都元です。今日もIAMです。 先日のエントリで、プロジェクトメンバーにはIAMユーザを配布しましょう、というプラクティスを示しました。ではそのIAMユーザの権限はどの程度与えれば良いのでしょうか、というのが今日のテーマ。先に断っておきますと、このエントリーは結論が出ません。非常に難しいです。では、いきましょう。 AWSは「よくあるポリシー」としていくつかのテンプレートを提供してくれています。 Administrator Policy Read Only Access Policy Power User Policy ... 上記の他に、UI上で様々なポリシーテンプレートが利用できるようになっています。これらの権限をいくつか見ていきましょう。 プロジェクトメンバー全員にAdministratorAccess権限を与えると… AdministratorAccessと

    IAMによるAWS権限管理 – プロジェクトメンバーへの権限付与方針に潜む闇 | DevelopersIO
    m4i
    m4i 2014/02/27
  • Amazon EC2(Linux)のswap領域ベストプラクティス | DevelopersIO

    ども、大瀧です。 Linuxのメモリ管理で欠かせないのがswapですよね。EC2のディスク管理には独特な仕様があるのでその辺りを踏まえつつ、EC2(Linux)でどのようにswap領域を用意するのが良いのかまとめてみたいと思います。 理屈をこねながらの解説になるので、先にエントリーの結論を。 公式AMIにはswap領域が含まれない m1.small、c1.mediumには900MBのスワップ領域がおまけでついてくる(Amazon Linux AMIであれば、Cloud-initによって自動マウントされる) swap領域には、インスタンスストア(別名Ephemeral Disk)を使うべし では、それぞれ見ていきます。 公式Linux AMIの初期構成にはswapパーティションが無い Amazonから提供される公式のLinux AMIのブートディスクには、swapパーティションが含まれてい

    Amazon EC2(Linux)のswap領域ベストプラクティス | DevelopersIO
  • AWS ELBの社内向け構成ガイドを公開してみる 負荷分散編 – Cross-Zone Routingを踏まえて | DevelopersIO

    ども、大瀧です。 最近、お客さまからの問い合わせからElastic Load Balancing(ELB)の負荷分散について調べ社内資料としてまとめる機会がありました。せっかくなので、ブログ記事として公開してみます。内容は随時アップデートしますので、ツッコミ・ご指摘があればぜひお願いします! 負荷分散の仕組み ELBは、クライアントのリクエストを受け付けEC2インスタンスにトラフィックを転送するために、2種類の負荷分散を組み合わせて動作します。 スケーラビリティと冗長性のために、ELBはロードバランサの機能を提供するノードを複数動作させるはたらきがあり、クライアントから複数のノードへアクセスを分散させるためにDNSラウンドロビン、ノードからEC2インスタンスへのトラフィック転送を分散させるためにLeast Connsという手法を用いています。 DNSラウンドロビン DNSラウンドロビンはそ

    AWS ELBの社内向け構成ガイドを公開してみる 負荷分散編 – Cross-Zone Routingを踏まえて | DevelopersIO
  • 【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO

    よく訓練されたアップル信者、都元です。今回のお題は久しぶりにVPCです。 この記事は、アップデート版が存在します。最新情報は【AWSVPC環境構築ノウハウ社内資料 2014年4月版を参照してください。 VPCを利用する理由 弊社で構築するAWSのサーバ環境は、一部の例外を除いて全てVPCを利用しています。 突然ですが、筆者はあまり大規模なシステムに携わった経験がありません。大規模なプロジェクトだと「数百数千台のサーバがラッキングされ、それが論理的なネットワークで区切られていて」「複数のデータセンターが冗長化された専用線で結ばれて」等、正直ちょっと想像つかない世界があるんだと思います。よくわかんないですが。 (c)John McStravick. (CC BY 2.0 Licensed) 逆に、小さなシステムであれば、月々数万円でレンタルサーバを借りて「1台のマシンの中にWebサーバとDB

    【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO
  • 【AWS】RDS for MySQLで共有テーブルスペースに構成変更する際の所要時間を実測してみた | DevelopersIO

    今回の課題 こんにちは植木和樹です。RDS for MySQLを使用していたところ以下のような見慣れないメッセージが通知されてきました。 DB Instance XXXX-XXXX has a large number of tables and has the parameter innodb_file_per_table set to 1, which can increase database recovery time significantly. Consider setting this parameter to 0 in the parameter group associated with this DB instance to minimize database downtime during reboots and failovers. あわせてメッセージには下記URL