タグ

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

  • AssumeRole(スイッチロール)で一時クレデンシャルを取得して環境変数にセットするワンライナー | DevelopersIO

    こんにちは、CX事業部の若槻です。 今回は、AWS CLIでAssumeRole(スイッチロール)により一時クレデンシャルを取得して環境変数AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKENにセットしてAWS接続時の認証に利用可能とするワンライナーを作ってみたのでご紹介します。 前提 AWSプロファイルが次の通り設定済みであること。(Assume先プロファイルのmfa_serialは必要な場合のみ) [default] region=ap-northeast-1 output=json [profile <Assume先プロファイル名>] region = ap-northeast-1 mfa_serial = arn:aws:iam::xxxxxxxxxxxx:mfa/hoge role_arn = arn:aws:iam

    AssumeRole(スイッチロール)で一時クレデンシャルを取得して環境変数にセットするワンライナー | DevelopersIO
  • お世話になってたディレクトリ移動だけでAWSのクレデンシャルを切り替える仕組みがM1 Macで動かなかったので替わりのスクリプトを書いた | DevelopersIO

    私がこのDevelopers IOでも屈指の良エントリだと思っているのが、以下の佐伯さんのエントリです。 ディレクトリ移動をするだけでAWSのクレデンシャルを切り替えてくれるので、複数のAWSアカウントに対してCLIベース(私はTerraformを使うことが多い)で作業をするような方にはとてもおすすめです。一度お試しください。 M1 Macでは動かなかった 最近開発環境をM1 Macに変えました。するとこの仕組みが動作しませんでした。 環境情報 MacBook Pro (13-inch, M1, 2020) チップ: Apple M1 OS: MacOS Big Sur (バージョン11.6.2) 原因 上記仕組みはdirenvとassume-roleという2つのツールを組み合わせて実現されているのですが、assume-roleがM1に対応していないようです。 % assume-role

    お世話になってたディレクトリ移動だけでAWSのクレデンシャルを切り替える仕組みがM1 Macで動かなかったので替わりのスクリプトを書いた | DevelopersIO
  • AWS Organizations に所属するメンバーアカウントの Cost Explorer 情報を AWS CLI で一括取得する方法 | DevelopersIO

    困っていた内容 AWS Organizations に所属する複数のメンバーアカウントの Cost Explorer 情報をマネージメントコンソール上ではなく、 AWS CLI で一括取得する方法を教えて欲しいです。 どう対応すればいいの? 管理アカウントで、AWS CLI の get-cost-and-usage コマンドを使用することで、Organizations のメンバーアカウントの料金を取得することが可能です。 get-cost-and-usage — AWS CLI 1.20.15 Command Reference get-cost-and-usage --time-period <value> --granularity <value> [--filter <value>] --metrics <value> [--group-by <value>] [--next-pag

    AWS Organizations に所属するメンバーアカウントの Cost Explorer 情報を AWS CLI で一括取得する方法 | DevelopersIO
  • そのワイルドカード必要ですか?CloudFront の CNAME でワイルドカード指定時の制限を理解する | DevelopersIO

    みなさん、CloudFront は利用されてますか?CloudFront を独自ドメインでアクセスする場合、CNAME の設定が必要となりますよね。通常は実際に使用するドメイン名(例えば、www.example.com)のように指定すると思いますが、よく解らずにワイルドカードを使っていることはないでしょうか?ワイルドカード指定でもアクセスそのものに問題はないので、あまり気にせず使用されているケースは少なくないかもしれません。今回は、CNAME にワイルドカードを指定した場合の制限について、ご紹介したいと思います。 CNAME の例 まず、基のおさらいとして、ワイルドカードを使わない例です。 アカウント A で CNAME に example.com を指定していたとします。この場合、別のディストリビューションで同じドメイン名 example.com を設定することは出来ません。図では別の

    そのワイルドカード必要ですか?CloudFront の CNAME でワイルドカード指定時の制限を理解する | DevelopersIO
  • CloudFrontで代替ドメイン名を付け替えるときの注意点〜事前にCNAMEレコードの更新が必要なケース | DevelopersIO

    CloudFrontでCNAMEsを付け替えようとしたところ、重複していないのにCNAMEAlreadyExistsエラーが現れました。ドメイン名が設定するディストリビューション以外の*.cloudfornt.netを指しているとエラーとなるようです。 はじめに 清水です。先日、Amazon CloudFrontでディストリビューションに設定している代替ドメイン名(Alternate Domain Names (CNAMEs))を別のディストリビューションに付け替える作業を行いました。この作業自体、例えば代替ドメイン名はすべてのCloudFrontディストリビューションで重複が許されないことなどから、特にダウンタイムなく付け替え作業を行う場合はいくつかポイントとなる点があります。 *1 しかしダウンタイムは許容できること、また同じAWSアカウント内の付け替えであること *2 などの理由から

    CloudFrontで代替ドメイン名を付け替えるときの注意点〜事前にCNAMEレコードの更新が必要なケース | DevelopersIO
  • CloudFrontのCNAMEAlreadyExistsエラーを回避しつつCNAMEを付け替える | DevelopersIO

    CloudFrontディストリビューションはCNAMEが重複するとCNAMEAlreadyExistsエラーが発生します。 このエラーを回避しながら、ディストリビューション間でCNAMEを付け替える方法を紹介します。 Amazon CloudFrontのディストリビューションはCNAMEの重複が許可されていません。 CNAMEAlreadyExists:CNAMEAlreadyExistsException: One or more of the CNAMEs you provided are already associated with a different resource. 記事では、CloudFrontディストリビューションのCNAMEの重複エラーを回避しつつ、ディストリビューション間でCNAMEを付け替える方法を紹介します。 付け替えパターンは2種類 CNAMEの付け替え方

    CloudFrontのCNAMEAlreadyExistsエラーを回避しつつCNAMEを付け替える | DevelopersIO
  • [iOS][OS X] 「Network Link Conditioner」を使って iOS 端末または Mac の通信速度をシミュレートする | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 記事では「Network Link Conditioner」の使用方法を紹介します。このツールを使えば iOS 端末や Mac の通信速度を遅くしたり、通信が繋がらない状況を試したりすることができます。 環境 OS X El Capitan 10.11.4 Xcode 7.3.1 iPhone 5s iOS 9.3.1 iOS 実機の場合 開発用デバイスであれば、「設定アプリ」に「デベロッパ」項目があるのでこれを選択します。 「NETWORK LINK CONDITIONER」セクションの「Status」セルを選択します。 テーブルの1つ目のセクションの「Enable」セルのスイッチで、回線速度のシミュレーションの有効/無効を切り替えられます。2 つ目のセクション内の任意のセルをタップすると、シミュレーションで使用するプロファイ

    [iOS][OS X] 「Network Link Conditioner」を使って iOS 端末または Mac の通信速度をシミュレートする | DevelopersIO
    harigel
    harigel 2020/03/18
  • [AWS]マネージメントコンソールにIP制限をしつつ、一部利用できない機能も利用できるようにする | DevelopersIO

    コンニチハ、千葉です。 AWSマネジメントコンソール利用時に、コンプライアンス要件によりIP制限をしたい場合があります。 しかし、マネジメントコンソールにIP制限すると、思わぬエラーが発生し操作できなくなる場合があります。 こちらのドキュメントにも記載があります。 aws:SourceIp 条件キーは、リクエストの送信元である IP アドレスに解決します。リクエストが Amazon EC2 インスタンスから送信された場合、aws:SourceIp はインスタンスのパブリック IP アドレスに評価されます。 引用元 つまり、APIリクエストの種類は2種類あり ユーザー側からのリクエスト AWSがユーザーの変わりにリクエスト 2はCloudFromationのようなAWS環境を自動構成するようなサービスで、ユーザーが作成した定義に従ってCloudFormationサービスがEC2のようなサービ

    [AWS]マネージメントコンソールにIP制限をしつつ、一部利用できない機能も利用できるようにする | DevelopersIO
  • できた!S3 オリジンへの直接アクセス制限と、インデックスドキュメント機能を共存させる方法 | DevelopersIO

    CloudFrontをS3 オリジンで利用するとき、「CloudFrontをバイパスしたアクセスを制限」「インデックスドキュメントを返す」という要望は少なくないのではないでしょうか?出来そうで出来なかった共存を Lambda@Edge で解決! ちょっと伝わりにくいタイトルですが、やりたいことは以下の2つです。 CloudFront の S3 オリジンには直接アクセスさせない(CloudFront をバイパスした S3 へのアクセスをブロック) オブジェクト指定のないアクセス(末尾"/"の URL アクセス)にはインデックスドキュメントを返す(サブディレクトリも含む) 画にするとこういうことです↓ 「CloudFront をバイパスさせない」という点でまず考えるのは、オリジンアクセスアイデンティティでかと思います。そして、「オブジェクト指定のないアクセスにインデックスドキュメントを返す」と

    できた!S3 オリジンへの直接アクセス制限と、インデックスドキュメント機能を共存させる方法 | DevelopersIO
  • よくわかる認証と認可 | DevelopersIO

    よく訓練されたアップル信者、都元です。「認証 認可」でググると保育園の話が山程出て来ます。が、今日は保育園の話ではありません。そちらを期待した方はごめんなさい。こちらからお帰りください。 さて、先日のDevelopers.IO 2016において、マイクロWebアプリケーションというテーマでお話させて頂きました。一言で言うと OAuth 2.0 と OpenID Connect 1.0 のお話だったのですが、これらを理解するにあたっては「認証」と「認可」をはっきりと別のものとしてクッキリと認識する必要があります。 まず、ざっくりとした理解 認証と認可は密接に絡み合っている一方で全く別の概念です。正直、理解は簡単ではないと思います。 まず「認証」は英語では Authentication と言います。長いので略して AuthN と書いたりすることもあります。意味としては 通信の相手が誰(何)であ

    よくわかる認証と認可 | DevelopersIO
  • [iOS 11] Xcode 9で“だいぶまとも”に!新機能をまとめてみた | DevelopersIO

    Xcode 9の新機能をご紹介 ついにXcode 9がリリースされました!この記事ではXcode 9で何ができるようになったのか、何が変わったのか個人的に気になった部分をメインにご紹介します。 ※記事中のスライド画像についてはWWDCのものを引用しています。 目次 全体的なパフォーマンス向上 Source Editor リファクタリングがSwiftに対応 & 機能強化 Rename Extract Method Extract Variable issueをワンクリックでFixできるようになった フォントサイズの増減がより簡単になった コードの折りたたみ & 展開 が 良くなった Markdownをサポート 新しいビルドシステム 新しいビルドシステムを使う方法 Group作成時にフォルダを作成 GitHub連携が強化された リポジトリをクローンしてみた Xcode上でブランチを作成し、プッ

    [iOS 11] Xcode 9で“だいぶまとも”に!新機能をまとめてみた | DevelopersIO
  • iOSのシステムサウンドを確認する | DevelopersIO

    作成中のアプリでシステムサウンドを鳴らす必要があったのでメモ。iOSには予めいくつかシステムサウンドが内蔵されています。システムサウンドをプログラムから再生するには、AudioToolbox.frameworkに定義されるAudioServicesPlaySystemSound関数を利用します。この関数は引数として予め定義されているサウンドIDを指定します。サウンドIDの対応表は以下の通り。(わからないものもありますが、知ってる方是非教えてください!) システムサウンドリファレンス ID 名前 ファイル名(iPhone/iPod Touch) カテゴリー 備考 1000

  • Ansible inventoryパターン | DevelopersIO

    Ansibleではinventoryに対象ホストを定義します。 適用したいインフラ構成が複数ある場合、playbook毎にグループ化してください。 グループ化した場合、変数はそれぞれのgroup varsに定義できます。 詳しくは、前回のエントリーを参照してください。 inventoryの構成方法には幾つかのパターンがあります。 対象とするシステムの規模や特徴にあわせて選択しましょう。 なお、パターンを整理するにあたって、Ansibleのインベントリファイルでステージを切り替えるを参考にしました。 ベーシックパターン 開発環境・検証環境・番環境といった目的毎に環境を作る必要がなく、ひとつの環境(番環境)のみの場合は、inventoryファイルもひとつで十分です。 hostsという名前のファイルを作成し、inventoryを定義しましょう。 構成は次のようになります。 . ├── gro

    Ansible inventoryパターン | DevelopersIO
  • Apacheによるバーチャルホスト構築レシピ mod_vhost_alias/mod_lua編 | DevelopersIO

    ども、大瀧です。 小規模なWebサイトの運用は、「お金はかけられないけど、ハードウェア障害などでサイトが落ちると困る」というように、運用コストが問題になりやすいITシステムではないでしょうか。そんなシステムへのソリューションとして、運用コストを削減できるクラウドの利用とWebサーバー集約は案件として最近よく耳にします。 AWSでのWebサイト集約はAmazon S3のStatic Website Hostingが挙げられますが、BASIC認証に対応しておらず企業や会員向けサイトなどでは要件が満たせないことがあります。そこで今回は、EC2でApache httpd(以下Apache)を実行し、Webサーバーの集約としてバーチャルホストを構築するレシピをご紹介します。 Apacheのバーチャルホストのキホンと限界 Apacheのネームベースのバーチャルホストは、NameVirtualHostデ

    Apacheによるバーチャルホスト構築レシピ mod_vhost_alias/mod_lua編 | DevelopersIO
  • [iOS 7] UIViewにtintColorが追加されました! | DevelopersIO

    iOS7よりUIViewのプロパティにtintColorが追加されました! 今までなんでなかったんでしょうね!というわけで実際に動作を確認してみましょう。 tintColor 適当にSingle View Applicationプロジェクトを作成し、Storyboardに以下のコンポーネントを配置してみましょう。 UIBarButtonItem(UINavigationBar) UIButton UISegmentedControl UISlider UIProgressView UIStepper UIBarButtonItem(UIToolbar) 配置が完了したら、UIViewを選択してアトリビュートインスペクタを開き、tintColorを変更してみましょう。 すると、配置したコンポーネントの色が変わったはずです!結構便利!ただし、実行してみると・・・ UISegmentedCont

    [iOS 7] UIViewにtintColorが追加されました! | DevelopersIO
  • [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO

    Adaptive なアプリを作ろう iPhone 6 / iWatch が発表され、iOS に新しい画面サイズのデバイスが仲間入りしました。おそらく今後も新しい画面サイズの iOS デバイスが登場してくるでしょう。このことから、各画面サイズに応じたアプリにすることはもはや必須要件と言えるでしょう。 このことはもちろん Apple も考慮しており、iOS 8 から Adaptive という概念が導入されました。Adaptive とは適応性という意味です。つまり画面サイズが小さくても大きくても、それぞれの画面サイズにうまく適応させて設計していきましょうという考えかたです。 ということで、稿では iOS 8 からのマルチサイズに適応させる方法について解説します。 Size Class これまで iPhone / iPad の判定や Portrait / Landscape の判定には UIUs

    [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO
  • [iOS] NYXImagesKit を使って UIImage を編集する | DevelopersIO

    NYXImagesKit 遅くなりましたが明けましておめでとうございます。年もよろしくお願い致します。 iOS アプリで画像のアップロード機能を実装するとき、UIImage のリサイズを行うことがよくあると思います。 こういった編集処理は一度実装してしまえばソースコードを使い回せば良いのですが、頼れるのであれば OSS に頼ってしまいたいところです。 そこで今回はiOSオープンソースライブラリ徹底活用にも紹介されている、画像編集の定番 OSS の「NYXImagesKit」を使って UIImage をリサイズする方法をご紹介したいと思います。なお NYXImagesKit はリサイズ以外にも編集機能が備わっているので、それらも一緒に解説します。 Nyx0uf/NYXImagesKit 導入方法 導入は CocoaPods を使うのが簡単です。Podfile に NYXImagesKit

    [iOS] NYXImagesKit を使って UIImage を編集する | DevelopersIO
  • Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO

    Prezto 今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。 稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。 Zsh + Prezto 環境を構築する 環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。 // Zsh起動 $ zsh //

    Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO
  • HTML5 WebRTCを使ったライブチャットを作ってみよう | DevelopersIO

    WebRTCとは WebRTCは、Web Real-Time Communicationの略で、WebブラウザだけでJavaScript APIを介してリアルタイムコミュニケーション機能を実現するためのAPIです。WebRTCでは、P2Pのコネクション確立からデータ通信を行うための仕様が定義されています。 よって、WebRTCを使うとプラグイン無しで、双方向のリアルタイムコミュニケーション機能を必要とするコンテンツが容易に開発できます。 現状は、W3Cでドラフトが公開されています。http://www.w3.org/TR/webrtc/ WebRTCはいくつかの関連するAPIがあります。その中には、前回紹介したMedia Stream APIも含まれます。 まだドラフトなのでWebRTCに対応ブラウザは、下記のようになっています。 PC Google Chrome 23 Mozilla F

    HTML5 WebRTCを使ったライブチャットを作ってみよう | DevelopersIO
  • ソースコードからApple標準スタイルのAPIドキュメントを生成するappledocの書き方 | DevelopersIO

    サンプルクラスの作成 プロジェクトを作成したら、コメントを試すためのクラスとしてNSObjectを継承したSampleObjectを作成しましょう。 コメントの書式 appledocでは、以下で紹介する特別な書式で書かれたコメントからドキュメントを抽出します。また、もともとHeaderDocやDoxygenの書式で書かれた書式にも対応しているため、簡単に移植できます。 複数行のコメント appledocでは「/** コメント */」のように/(スラッシュ)1つと*(アスタリスク)2つで始まり、*(アスタリスク)1つと/(スラッシュ)1つで終わるコメントを解析対象とします。 /** コメントをかくぜぇ */ 試しにSampleObject.hのクラス定義の上に以下のように書いてみましょう。 SampleObject.h #import <Foundation/Foundation.h> /*

    ソースコードからApple標準スタイルのAPIドキュメントを生成するappledocの書き方 | DevelopersIO
  • 1