AWS
MFA必須の環境下のEKSでkubectlを実行するための方法です。 結論としては、kubectlは内部的にAWS CLIを打っているので、AWS CLIのMFA設定の手順と同じとなります。 まず ~/.aws/credentials に自身のIAMユーザを登録します。 [base_cred] aws_access_key_id …
EKSを作ったユーザ、またはロールに紐付く system:masters というグループがどこから来ているのか、自分の目で確かめたくて掘り進めたので記録を残しておきます。 EKSのsystem:mastersって EKSの認証の仕組み ステップバイステップで追ってみる kubectlの認…
こちらに続きEKSをProxy環境内で利用する方法です。 yomon.hatenablog.com ネットワーク Inspector AgentにProxy設定 EKSのマネージドノードに設定追加 起動テンプレートのUserDataでProxyを設定 Cloudformation化 Inspectorを実行してみる ネットワーク eks…
最初に、この記事にたどり着くような要件の場合は、高いセキュリティが必要な環境だと思っています。その場合はインターネット上のレジストリにあるイメージを使うことは本来推奨できるものでは無いと思います。この手順もかなり限定的な用途での利用となる…
Raspberry PiのGatewayにGreengrassを入れて使っていますが、機器からの値を取得する周期や、パラメータ等、Gateway側のLambdaから利用するパラメータを永続値として持っておきたいと思いました。 その上、その値はAWS IoT側を通して変更したい。 ということ…
RaspbianにAWS IoT Greengrass Coreをインストールする手順をAnsible化しました。 処理の元ネタ 前提 リポジトリの取得 変数の設定 Ansible実行 github.com 処理の元ネタ Qiita側に書いたこの記事の内容です。 qiita.com 前提 piユーザにSSHでパスワード認証…
こちらの記事で作成したModbus通信の温湿度計を、AWS IoT GreenGrass経由で操作してみました。 yomon.hatenablog.com 概要 Lambda作成 GreenGrass設定 Lambda設定 サブスクリプション設定 デプロイ 動かしてみる プロトコルアダプター 概要 やりたいことの概…
AWSを運用しているCloudWatch Logsを分析することが良くあると思います。 数年前はCloudWatch Logsのファイルをダウンロードしてきて、分析していて面倒でしたが、 CloudWatch Logs Insights が出てきてそれもかなり楽になりました。 それでも毎回調べながら…
Cognitoの認証により発行されるA JSON Web Token (JWT) に対して、Pythonで検証処理を自前実装する方法を記載します。 JWT検証に利用するライブラリ Amazon CognitoのJWTの検証方法 サンプルコード 補足 Cognitoの設定 補足 jwt.decode()について JWT検証に…
GCPのCloud Dataflowでも使われている、Apache BeamでJavaの内部で持っているデータをParquetに出力するやり方です。 サンプルコードの構成 元にしたMaven ArcheType 利用するPOJO GenericRecordへの変換 出力先の切り替え ローカルに出力してみる GCSに出力…
AWS 認定データアナリティクス(AWS Certified Data Analytics - Specialty)の試験に合格してきました。 AWS 認定データアナリティクス – 専門知識 試験概要 試験準備 オンライン試験の失敗談 1回目 2回目 さいごに 試験概要 180分で65問の試験でした。AWS…
今更感ありますが、メール承認付きのCode PipelineでEC2にファイルデプロイするところをCloudFormationでデプロイする方法です。 前提 CfnのYAML定義 Cfn適用 パイプラインを動かす ソースをCodeCommitにPush 承認依頼メール 参考 前提 IAMの設定からGitComm…
IP制限されたS3バケットポリシーの例 Athenaからのアクセス方法 方法① IAMロールをホワイトリストに登録(userid) ポイント 考慮点 方法② Athenaからのアクセスをホワイトリストに登録(CalledVia) ポイント 考慮点 S3では、以下の記事のようなリソースポ…
最初に 前提 設定 TDCファイル作成(Tableau Datasource Customizatio) JDBC接続文字列作成 TableauからAthenaに接続してみる 最初に TableauからAthenaに繋ぐウィザードを立ち上げると、Access KeyとSecret Access Keyを求められます。 やはりロールで繋ぎた…
Amazon Elasticsearch Service(以下、AES)にJDBC接続する方法です。 AESのSQL機能 AESのSQL機能はOpen Distro for ElasticsearchというAWS主導のプロジェクトで開発されています。 github.com この辺りは、AESのSQLのエンドポイントやプラグイン名にも表れ…
S3はのサーバのアクセスログを取得することが可能です。 通情、このログを分析するなら、Athenaが便利です。公式にもわかりやすい手順が出ています。 Athena を使用したアクセスログの分析 ただ、色々な制約でAthenaが使えない、Pandasも使えない、ましてやD…
Amazon Elasticsearch Service (AES) で手動スナップショット取得の仕組みをCloudformationで一気にデプロイします。かつCurator使って古いスナップショットは自動的に削除する設定になっています。スナップショット取るだけで意外に大変です。 Pythonスクリ…
Amazon Elasticsearch Serviceクラスタ構成を検討したので、そのメモを残しておきます。 ※Elasticsearch Serviceの インスタンス ですが、資料によっては ノード と表記されています。この記事ではManagement Consoleの表記に合わせて インスタンス に統一し…
fluent-plugin-aws-elasticsearch-serviceでIAM権限でAmazon Elasticsearch Service繋ごうと思うのですが、IAM権限やアクセスポリシー変更しながらの疎通テストをしたいと思い。簡単に疎通テスト用の手順書きました。 github.com Amazon Linux2にログオン td…
こちらのリリースにあるようにAthenaにVPCエンドポイント経由で接続できるようになりました。これで、プライベートなサブネットからもJDBC接続できるようになりました! aws.amazon.com 試してみる 早速、前に記事書いたこちらのDockerイメージでテストして…
Glue使っているとSecurity Groupに自己参照の設定をしなければいけない時があります。 AWS Glue がコンポーネントと通信できるようにするには、すべての TCP ポートに対して自己参照のインバウンドルールを持つセキュリティグループを指定します。 https://d…
最近、認定試験の記事ばかり書いている気がします・・ ちょうど個人的繁忙期で、個別技術追う時間が無くて試験予約だけして直前に勉強くらいしか時間が無いのが実情です・・ただ、そういう忙しい時でも、お金かかっているので意地でも勉強するので試験は便利…
この記事に行き着いた方でしたら、日々自動化を進めている中にも、ブラウザでのクリック、クリック、入力、クリック、みたいな作業が残っている人が多いと思います。 REST等でAPIが公開されていれば良いのですが、そういうAPIが提供されていないサービスもた…
GlueのPython Shellでloggingモジュールを利用してログを取得を考えてた時のメモです。 ログ出力先 loggingモジュールのデフォルトの出力先 ログ設定パターン デフォルト 全て /aws-glue/python-jobs/error に出力するパターン ストリームを使い分けるパター…
Amazon Elasticsearch ServiceのKibanaで地図を使おうと思ったのですが、どの情報も kibana.yml を設定するものばかり。 以下の記事には大変救われました。WMSについても書いてあります。 qiita.com 上記の記事を参考にこちらのサイトにたどり着きました。 w…
一番下の参考情報にも載せている通り、Redshift Spectrumのチューニングには、パーティショニングやファイルフォーマット等色々なポイントがありますが、ここでは特に見落としやすい、かつ効果の高い統計情報について書いていきます。 利用するデータ 環境準…
題名の件、Glueで外部ライブラリをインポートしたので、その方法を書いておきます。 外部ライブラリ 参照元 アップロードパッケージ作成 GlueジョブにPythonの外部パッケージ設定 GlueのPySparkコードから実行 出力結果 本当はこんなことしたかったわけでは…
AWS Summitで発表されたようですが、Glueの標準機能でワークフローが組めるようになったと聞いたので早速試してみました。 Glueでワークフローを組むのは大変だった やってみる CrawlerとJobを用意 ワークフロー作成 トリガー作成 ワークフロー作成 ワークフ…
同じエラーに出くわす人いると思ったので書いておきます。 S3にParquet形式で保存したデータをRedshift Spectrumで読み込むと以下のエラーが発生することがあります。 > select * from some_spectrum_table; Assert DETAIL: -------------------------------…
開発しているサービスの一部でElasticearch使っているのですが、ElasticsearchのクエリDSLって少し触ってないだけで忘れてしまいます。 昨日もGroupByに当たる、Aggregationを複数フィールドでやるのどうやるんだっけと、素人みたいなことで悩んでググってい…