タグ

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

  • [Terraform] EC2のEBS追加ボリュームをサイズ拡張しようとしたらハマった話 | DevelopersIO

    こんにちは!コンサル部のinomaso(@inomasosan)です。 検証時や案件対応時にはTerraformでEC2を作成することが多いです。 ある日、EBSルートボリューム以外のEBS追加ボリュームのサイズ拡張が必要となったのですが、サイズの変更を検出しなかったりEC2自体を再作成するような挙動がみられたので調査してみました。 先に結論 ebs_block_deviceは初回のリソース作成時にのみ適用されるため、リソース作成後の変更は検出されない。 DBやファイルサーバ等の用途で、将来的にEBS追加ボリュームのサイズ変更が必要な場合は、aws_ebs_volumeとaws_volume_attachmentを使用すること。 ただし、delete_on_terminationオプションが存在しないため注意。 検証環境 今回実行した環境は以下の通りです。 項目 バージョン 事象について

    [Terraform] EC2のEBS追加ボリュームをサイズ拡張しようとしたらハマった話 | DevelopersIO
    rAdio
    rAdio 2024/03/03
  • 2025年2月28日に東京リージョンのアベイラビリティゾーン「apne1-az3」が廃止されます | DevelopersIO

    2025年2月28日に東京リージョンのアベイラビリティゾーン「apne1-az3」が廃止されます。記事で紹介したメールがAWSサポートから届いていた方は、必ず環境を確認するようにしてください。 あしざわです。 日、とあるAWSアカウント宛にAWSサポートより[要対応] アベイラビリティーゾーン 「apne1-az3」 の運用終了 - 2025 年 2 月 28 日までにリソースを移行してくださいというタイトルのメールが届いていました。 内容をざっくり表すと「2025年2月28日に東京リージョンのアベイラビリティゾーン「apne1-az3」が利用不可になってしまうため、それまでに他のアベイラビリティゾーンに移行を完了させ「apne1-az3」のリソースをすべて削除してください」といったものでした。 ブログでは、内容を理解するためにアベイラビリティゾーン「apne1-az3」の説明から、

    2025年2月28日に東京リージョンのアベイラビリティゾーン「apne1-az3」が廃止されます | DevelopersIO
    rAdio
    rAdio 2024/02/29
  • AWS ELB Application Load Balancer にTLSクライアント認証(mTLS)のパススルーを構成する | DevelopersIO

    ども、大瀧です。 re:Inventがまだ始まっていないのにALBがmTLSをサポートする大型のアップデートが来ました。ブログではパススルー構成をLambdaターゲットグループで試してみた様子をご紹介します。 設定方法 設定は非常にシンプルです。ALB作成ウィザードのHTTPSリスナー選択時に表示されるセキュアリスナーの設定に「クライアント証明書の処理」という項目が増えているので、「相互認証(mTLS)」のチェックをオンにすればOKです。 ALBのmTLS対応には二つの動作モード、「パススルー」と「トラストストアで検証」があります。「パススルー」はALBでクライアント証明書の検証はせず、転送するリクエストヘッダにクライアント証明書を付与してバックエンドターゲットでの検証を期待する動作、「トラストストアで検証」は ALB自身でクライアント証明書を評価する動作です。「トラストストアで検証」を

    AWS ELB Application Load Balancer にTLSクライアント認証(mTLS)のパススルーを構成する | DevelopersIO
    rAdio
    rAdio 2024/02/25
    『パススルーモードではクライアント証明書なしでもバックエンドターゲットにリクエストが転送されるという動作は、アクセス制限の用途でクライアント認証を利用する場合は注意』……..htaccessでの認証が難しくなる。
  • [マルチAZ構成]AWS PrivateLink + Transfer Family for FTP経由でファイル転送してみた | DevelopersIO

    [マルチAZ構成]AWS PrivateLink + Transfer Family for FTP経由でファイル転送してみた はじめに 以前、AWS PrivateLink を利用してTransfer Family for FTP経由でのファイル転送をシングルAZ構成で構築しました。 今回は、上記の構築をもとに、マルチAZ構成を構築します。 前提 下記の記事通り、以下の構成を構築済み。(Transfer FamilyのVPCエンドポイントはシングルでも可能です) 今回のゴールであるマルチAZ構成は下記の通りです。 今回、FTPクライアントは、lftpを利用しました。シングルAZやマルチAZ構成に限らず、FTPクライアントによって、NLB経由ではTransfer Familyに接続できないケースやTransfer Family のPassiveIpパラメータを変更しなければならないケースが

    [マルチAZ構成]AWS PrivateLink + Transfer Family for FTP経由でファイル転送してみた | DevelopersIO
    rAdio
    rAdio 2024/02/20
  • DNSを基礎の基礎から学びたいあなたに最適の1冊!「DNSをはじめよう」 | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。 ちょっと時間が経ってしまいましたが、先日の技術書典4で購入した「DNSをはじめよう」を読む時間がようやく作れました。とてもわかりやすく、知識ゼロからでも読める良書だったためおすすめしたくポストします。 「スラスラ読めて、手を動かして身につけられる良いでした。」by 豊崎 Chapter1:ドメインとWhois ユー、とりあえずドメイン買っちゃいなよ(意訳)みたいな感じで、のド頭からドメインを購入を進められますw 確かに習うより慣れろかもしれません。ドメインによっては非常に安価で購入ができ手を動かして理解できるので良いアプローチだと思いました。 ドメインを販売している店の説明も丁寧で、その中でレジストリ、レジストラ、Whoisの説明をわかりやすくしてくれます。 Chapter2:DNSの仕組み ネームサーバとフルリゾルバからDNSと名前解決の流れを説明

    DNSを基礎の基礎から学びたいあなたに最適の1冊!「DNSをはじめよう」 | DevelopersIO
    rAdio
    rAdio 2023/12/14
  • [Python] Boto3でのスレッドセーフまとめ。3種類のオブジェクトこれだけ覚えておけばOK | DevelopersIO

    的にはclientが唯一の(マルチスレッドにおける)スレッドセーフなオブジェクトです。しかしネットワーク実装の関係から、マルチプロセスでは使用しないのが無難なようです。つまりマルチプロセスでは、すべてのBoto3オブジェクトは共有できません。 clientについて補足 clientはそのまま使用する分にはスレッドセーフですが、一部注意しなければいけない点があります。こちらをドキュメントから引用します。 Shared Metadata: Clients expose metadata to the end user through a few attributes (namely meta, exceptions and waiter_names). These are safe to read but any mutations should not be considered thr

    [Python] Boto3でのスレッドセーフまとめ。3種類のオブジェクトこれだけ覚えておけばOK | DevelopersIO
    rAdio
    rAdio 2023/10/18
  • AMIをS3に明示的なオブジェクトとして保存してみた!! [いつの間にできるようになっていたんだぃ!?] | DevelopersIO

    AMIをS3に明示的なオブジェクトとして保存してみた!! [いつの間にできるようになっていたんだぃ!?] 2021年4月のアップデートでEBS-backedなAMIをS3に明示的なオブジェクトとして保存できるようになっていました。ユーザ側からは確認できないS3にしか保存できないと思っていたので驚きです!操作やそのメリットなどについてまとめてみます。 はじめに 清水です。「AMIをS3に保存する」という操作を考えてみます。AMIの実体であるEBSスナップショットはS3に保存されるものだから、AMIを取得することはイコールS3に保存することである、といえます。またかつて主流だったinstance store-backedなインスタンスでは、AMI作成時にアップロード先のS3バケットを指定する必要があったため、よりS3に保存することを意識していたかもしれません。 筆者は永らく「AMIをS3に保存

    AMIをS3に明示的なオブジェクトとして保存してみた!! [いつの間にできるようになっていたんだぃ!?] | DevelopersIO
    rAdio
    rAdio 2023/06/23
  • 【Tips】Lambda(Python)でハンドラーのeventを全て辞書型だと思っていたらハマったこと | DevelopersIO

    森永です。 物凄いハマったんですが、解決してみればそこかよという案件です。 Lambda使いこなしている人だとあるあるなのかもしれません。 問題 イベントソースがSNSで起きた事象です。(他のイベントソースでも起こる可能性はあります。) SNSからは以下のようなjsonがイベントとして送られてきます。(かなり端折ってます) いや、送られてくると思ってました。 { "Records": [ { "Sns": { "Timestamp": "2016-11-17T08:34:04.436Z", "Message": { "Trigger": { "Dimensions": [ { "name": "key", "value": "value" } ] } } } } ] } Lambdaのハンドラーにeventというパラメータがあります。 イベントソースから送られてきた情報などが記載されている

    【Tips】Lambda(Python)でハンドラーのeventを全て辞書型だと思っていたらハマったこと | DevelopersIO
    rAdio
    rAdio 2023/06/21
  • 今S3のIaCで「AccessControlListNotSupported: The bucket does not allow ACLs」というエラーが出たならそれは2023年4月に行われたS3の仕様変更が原因かもしれない | DevelopersIO

    今S3のIaCで「AccessControlListNotSupported: The bucket does not allow ACLs」というエラーが出たならそれは2023年4月に行われたS3の仕様変更が原因かもしれない 最近、S3のIaCでAccessControlListNotSupported: The bucket does not allow ACLsというエラーが出て困っているという方。もしかするとそれは2023年4月に行われたS3の仕様変更に拠るものかもしれません。私のケースがそうでしたので、詳細をレポートします。 私のケース CloudFront + S3で静的コンテンツを配信するサイトの実装を行なっていました。IaCツールはTerraformです。 3月にdev環境のプロビジョニングを行ないました。問題なく完了しました。 4月になってstaging環境のプロビジョニ

    今S3のIaCで「AccessControlListNotSupported: The bucket does not allow ACLs」というエラーが出たならそれは2023年4月に行われたS3の仕様変更が原因かもしれない | DevelopersIO
    rAdio
    rAdio 2023/06/13
  • API GatewayとS3を使ってメンテナンスページをホスティングしてみた | DevelopersIO

    CX事業部@大阪の岩田です。 Webアプリをデプロイする際に、一時的に「メンテナンスページ」を表示したいという要件は「あるある」だと思います。このブログではメンテナンスページ実現のパーツとして一風変わったAPI Gateway × S3の統合を利用する構成をご紹介します。 メンテナンスページの概要 メンテナンスページに求める要件は以下の通りとします 基的に全てのパスに対してメンテナンスページを表示する /hogeへのアクセスであっても/fugaへのアクセスであっても全て同一のhtmlファイルを返却する メンテナンスページのレスポンスステータスは200ではなく503を返却する 単一のHTMLファイルでメンテナンスページを用意するのではなく、画像も読み込みたい 画像ファイルへのリクエストはメンテナンスページにリライトせずにリクエストされた画像ファイルをそのまま返却する メンテナンスページは

    API GatewayとS3を使ってメンテナンスページをホスティングしてみた | DevelopersIO
    rAdio
    rAdio 2023/06/09
  • Amazon Linux 2023でNAT Instanceを手作りしてみた | DevelopersIO

    しばたです。 私は昔から検証環境でNAT Instanceを利用しているのですが、先日Amazon Linux 2023が正式リリースされたのを受け「流石にそろそろインスタンスを更新するか」という気分になりAmazon Linux 2023でNAT Instanceを作成してみました。 記事ではその手順を紹介します。 作成手順 Amazon Linux 2以降のディストリビューションにおいてはAWS公式でNAT Instance AMIは提供されておらず、以下の記事にある様に自分で手作りする必要があります。 こちらの記事はAmazon Linux 2のものであり、当然ながらまだAmazon Linux 2023向けの公式手順といったものは存在してません。(現在は公式手順が存在します) とはいえ、そこまでディストリビューション独自の作業は少ないため「多分Amazon Linux 2の手順と

    Amazon Linux 2023でNAT Instanceを手作りしてみた | DevelopersIO
    rAdio
    rAdio 2023/03/21
  • [Wireshark] sshdumpを使って手元のマシンからEC2インスタンスのパケットキャプチャーをしてみた | DevelopersIO

    tcpdumpではなくてWiresharkでパケットを確認したいな こんにちは、のんピ(@non____97)です。 皆さんはリモートのLinuxマシンをtcpdumpではなくて手元のマシンのWiresharkでパケットを確認したいなと思ったことはありますか? 私はあります。 tcpdumpで上手にフィルタリングをすれば良いのでしょうが、そうでなければ高速目grepすることとなり大変です。 そういった時は慣れ親しんだWiresharkが恋しくなるものです。 実はWiresharkでsshdumpを使えば、SSH越しにリモートコンピューターのパケットキャプチャーをすることはご存知でしょうか。 NAME sshdump - Provide interfaces to capture from a remote host through SSH using a remote capture bi

    [Wireshark] sshdumpを使って手元のマシンからEC2インスタンスのパケットキャプチャーをしてみた | DevelopersIO
    rAdio
    rAdio 2023/03/15
  • [アップデート] EC2インスタンスに対しデフォルトでSSMを有効にするDefault Host Management Configurationが追加されました | DevelopersIO

    [アップデート] EC2インスタンスに対しデフォルトでSSMを有効にするDefault Host Management Configurationが追加されました しばたです。 AWSより以下のアナウンスがあり、EC2インスタンスに対しデフォルトでSSMを利用可能にするための権限を設定可能になりました。 すこし注意点のある仕組みなので記事で解説していきます。 どういうことか? 今回の更新でAWS Systems Manager(以後SSM)に新しいDefault Host Management Configuration (DHMC。日語だと「デフォルトのホスト管理設定」) という設定が追加されました。 このDHMCはSSMのフリートマネージャーで所定の権限(IAMロール)を指定する形で設定します。 そしてSSM Agentがインスタンスプロファイルの代わりにDHMCに設定されたロ

    [アップデート] EC2インスタンスに対しデフォルトでSSMを有効にするDefault Host Management Configurationが追加されました | DevelopersIO
    rAdio
    rAdio 2023/02/19
  • VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップが追加されました | DevelopersIO

    何だこのカッコいいマップは こんにちは、のんピ(@non____97)です。 皆さんはVPC内のリソースを簡単に可視化したいなと思ったことはありますか? 私はあります。 以下記事で紹介している通り、去年VPCの作成ウィザードが大変イケている感じになりました。 このウィザードにより、以下のような情報が分かりやすくなりました。 VPC内にどのAZがサブネットが作成されるのか サブネットにどのルートテーブルと紐づいているのか Internet GatewayやNAT GatewayVPC、S3のGatewayVPCエンドポイントへのルートを持つルートテーブルはどれか ただし、作成後のVPCでは、こちらのウィザードのようにVPC内のリソースを一目で確認することはできませんでした。 それがなんと、既存のVPCでも確認できるようになっていました。VPCを選択して、Resource mapタブをクリ

    VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップが追加されました | DevelopersIO
    rAdio
    rAdio 2023/02/05
  • 令和なのに NAT インスタンスを手作りして使ってみた | DevelopersIO

    (※)データ処理は 100 GB の前提で計算していますが、戻りの通信も課金対象であるため実際にはもっと増えるはずです。 NAT Gateway は利用期間に応じた単価が高いのと、データ処理量に応じた料金が発生します。NAT インスタンスは、使わない時間は停止することでオンデマンド料金をさらに減らせます。 大抵の場合、NAT インスタンスの方がコストは安くつきます。 このコストの差を鑑みてもなお 番環境では NAT Gateway の採用をお勧めします。 NAT Gateway がマネージドでやってくれる部分や性能のメリットの方が大きいと考えるためです。検証環境や、万が一インターネットへのアウトバウンドが途切れてもクリティカルなことにはならない、というワークロードであればコスト抑制をモチベーションに NAT インスタンスを採用するのもアリだと思います。 それぞれの料金の以下をご参照くださ

    令和なのに NAT インスタンスを手作りして使ってみた | DevelopersIO
    rAdio
    rAdio 2022/11/11
  • AWS CLI を使ってバージョニングが有効化された Amazon S3 バケットを空にしてみた | DevelopersIO

    いわさです。 Amazon S3 を使っているとバケットを削除したいシーンが出てくると思います。 マネジメントコンソールから削除を行うことが出来ますが S3 バケットではバケット内にファイルが存在している場合は削除することが出来ないので、まず「空にする」機能を使ってバケット内のファイルを削除する必要があります。 今回削除したいバケットの数が多かったのでこのバケットを空にする操作を AWS CLI で行おうとしたのですが、思いの外面倒だったので方法を共有しておきます。 公式ドキュメントでは AWS CLI の場合 s3 rm を使うように案内されている まず、S3 バケットを空にする方法は公式ドキュメントでも案内されています。 ここでは以下のようにs3 rmコマンドを使ってファイルを削除する方法が案内されています。 % aws s3 rm s3://hoge1023bucket --recu

    AWS CLI を使ってバージョニングが有効化された Amazon S3 バケットを空にしてみた | DevelopersIO
    rAdio
    rAdio 2022/10/24
  • Amazon S3のARNにある ::: ってなんだろう?と気になったはなし | DevelopersIO

    しばたです。 AWS環境を構築・運用する際は各リソースの識別子となるAmazon Resource Names(ARN)をよく見ることになると思います。 ある日ふとタイトル通りの疑問が湧いたので調べてみることにしました。 Amazon S3のARNにある ::: ってなんだろう? AWSの識別子であるARNの形式については以下のドキュメントに記載されています。 Amazon リソースネーム (ARN) ドキュメントの内容を一部引用するとARNは一般的に以下の:区切りの形式を採ります。 arn:partition:service:region:account-id:resource-id arn:partition:service:region:account-id:resource-type/resource-id arn:partition:service:region:account-

    Amazon S3のARNにある ::: ってなんだろう?と気になったはなし | DevelopersIO
    rAdio
    rAdio 2022/09/30
  • CloudFrontでドメインルートをS3にして、サブディレクトリをWordPressにした場合の注意点と解決策 | DevelopersIO

    ハロウィンは家にこもってゆるゆりを見ていました森永です。 今回はタイトルをどうしようかすごく迷いましたが、困っている方がいらっしゃると思うのでド直球なタイトルにしてみました。 問題の構成 今回の問題の前提は以下の通りです。 CDNにCloudFrontを使用してリバースプロキシとしている ドメインルートexample.comはS3に向ける example.com/blog/*はWordPressを構築したEC2に向ける(ELBを挟んだ場合も同様) WordPress側でblogというスラッグを作成している CloudFrontの設定はこんな感じです。 S3とEC2(もしくはELB)をOrigin登録して、Behaviorで振り分けます。 想定としては、コーポレートブログをS3に置いていて、後になってブログを開設したくなったのでWordPressを使おう!といったものが考えられます。 結構あ

    CloudFrontでドメインルートをS3にして、サブディレクトリをWordPressにした場合の注意点と解決策 | DevelopersIO
  • ACM for Nitro Enclaves が Apache でも利用出来るようになりました | DevelopersIO

    いわさです。 AWS Nitro Enclaves を使って Amazon EC2 インスタンスで実行されているウェブサーバーで、ACM 証明書を利用出来るようにする ACM for Nitro Enclaves という機能があります。 これまで Nginx のみサポートされていましたが、今回 Apache でも利用出来るようになりました。 AWS Nitro Enclaves を使ったことがなかったのですが、Apache で ACM を利用するくらいであればチャチャッと試せるかなと思いやってみました。 やってみる 前提となる EC2 での AWS Nitro Enclaves の有効化は以下を参考に構築しています。 ちなみに Nitro Enclaves 自体は Windows インスタンスでも利用出来ますが、ACM for Nitro Enclaves は Linux インスタンスでの

    ACM for Nitro Enclaves が Apache でも利用出来るようになりました | DevelopersIO
    rAdio
    rAdio 2022/09/20
  • [Terraform] 誤解されがちなignore_changesの動き・機密情報はstateに保持されるのか? | DevelopersIO

    [Terraform] 誤解されがちなignore_changesの動き・機密情報はstateに保持されるのか? どうも、ちゃだいん(@chazuke4649)です。 「なんかいい感じに無視してくれるignore_changes、正しい動きを理解してる?雰囲気で理解してることない?」 詳しい人から教えてもらってめっちゃ驚いたのでブログに書きます。 先にまとめ ignore_changesはあくまでTerraformコードによるstateの変更を無視するだけ。state上の値が以後変更されないことを保証するものではない 現にその値がTerraform外で変更された場合、terraform applyによってstateの値は実体に合わせ更新されうる ignore_changesに指定した場合の各AWSリソースの動きの違い SSM Parameter Store は手動で変更したらstateは更

    [Terraform] 誤解されがちなignore_changesの動き・機密情報はstateに保持されるのか? | DevelopersIO